Ver código fonte

更改为-mybatis

wuweihao 3 anos atrás
pai
commit
cb55fa1d9f
100 arquivos alterados com 1910 adições e 631 exclusões
  1. 3 1
      gis_admin/src/main/java/com/gis/admin/entity/po/IntegralEntity.java
  2. 4 2
      gis_admin/src/main/java/com/gis/admin/entity/po/SysResourceEntity.java
  3. 4 2
      gis_admin/src/main/java/com/gis/admin/entity/po/SysRoleEntity.java
  4. 4 2
      gis_admin/src/main/java/com/gis/admin/entity/po/SysUserEntity.java
  5. 3 2
      gis_admin/src/main/java/com/gis/admin/mapper/IntegralMapper.java
  6. 2 1
      gis_admin/src/main/java/com/gis/admin/mapper/SysBaseMapper.java
  7. 2 1
      gis_admin/src/main/java/com/gis/admin/mapper/SysResourceMapper.java
  8. 4 6
      gis_admin/src/main/java/com/gis/admin/mapper/SysRoleMapper.java
  9. 10 3
      gis_admin/src/main/java/com/gis/admin/mapper/SysUserMapper.java
  10. 2 2
      gis_admin/src/main/java/com/gis/admin/service/IntegralService.java
  11. 2 2
      gis_admin/src/main/java/com/gis/admin/service/SysResourceService.java
  12. 2 2
      gis_admin/src/main/java/com/gis/admin/service/SysRoleService.java
  13. 2 2
      gis_admin/src/main/java/com/gis/admin/service/SysUserService.java
  14. 14 13
      gis_admin/src/main/java/com/gis/admin/service/impl/IntegralServiceImpl.java
  15. 19 15
      gis_admin/src/main/java/com/gis/admin/service/impl/SysResourceServiceImpl.java
  16. 49 36
      gis_admin/src/main/java/com/gis/admin/service/impl/SysRoleServiceImpl.java
  17. 88 43
      gis_admin/src/main/java/com/gis/admin/service/impl/SysUserServiceImpl.java
  18. 1 1
      gis_application/pom.xml
  19. 1 1
      gis_application/src/main/resources/application-dev.properties
  20. 1 1
      gis_application/src/main/resources/application.properties
  21. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/AuditLogEntity.java
  22. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/BarrageEntity.java
  23. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/CommentEntity.java
  24. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/FileEntity.java
  25. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/GoodsEntity.java
  26. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/MartyrEntity.java
  27. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/MournEntity.java
  28. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/NewsEntity.java
  29. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/QuestionAnswerEntity.java
  30. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/QuestionGroupEntity.java
  31. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/QuestionUserEntity.java
  32. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/RaceEntity.java
  33. 3 1
      gis_cms/src/main/java/com/gis/cms/entity/po/SensitiveEntity.java
  34. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/AuditLogMapper.java
  35. 7 2
      gis_cms/src/main/java/com/gis/cms/mapper/BarrageMapper.java
  36. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/CommentMapper.java
  37. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/FileMapper.java
  38. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/GoodsMapper.java
  39. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/MartyrMapper.java
  40. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/MournMapper.java
  41. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/MyBaseMapper.java
  42. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/NewsMapper.java
  43. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/QuestionAnswerMapper.java
  44. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/QuestionGroupMapper.java
  45. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/QuestionUserMapper.java
  46. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/RaceMapper.java
  47. 2 1
      gis_cms/src/main/java/com/gis/cms/mapper/SensitiveMapper.java
  48. 2 3
      gis_cms/src/main/java/com/gis/cms/service/AuditLogService.java
  49. 3 6
      gis_cms/src/main/java/com/gis/cms/service/BarrageService.java
  50. 3 4
      gis_cms/src/main/java/com/gis/cms/service/CommentService.java
  51. 2 2
      gis_cms/src/main/java/com/gis/cms/service/FileService.java
  52. 2 2
      gis_cms/src/main/java/com/gis/cms/service/GoodsService.java
  53. 2 2
      gis_cms/src/main/java/com/gis/cms/service/MartyrService.java
  54. 2 2
      gis_cms/src/main/java/com/gis/cms/service/MournService.java
  55. 2 2
      gis_cms/src/main/java/com/gis/cms/service/NewsService.java
  56. 2 2
      gis_cms/src/main/java/com/gis/cms/service/QuestionAnswerService.java
  57. 2 2
      gis_cms/src/main/java/com/gis/cms/service/QuestionGroupService.java
  58. 2 6
      gis_cms/src/main/java/com/gis/cms/service/QuestionUserService.java
  59. 2 2
      gis_cms/src/main/java/com/gis/cms/service/RaceService.java
  60. 2 3
      gis_cms/src/main/java/com/gis/cms/service/SensitiveService.java
  61. 72 33
      gis_cms/src/main/java/com/gis/cms/service/impl/AuditLogServiceImpl.java
  62. 29 19
      gis_cms/src/main/java/com/gis/cms/service/impl/BarrageServiceImpl.java
  63. 52 19
      gis_cms/src/main/java/com/gis/cms/service/impl/CommentServiceImpl.java
  64. 1 2
      gis_cms/src/main/java/com/gis/cms/service/impl/FileServiceImpl.java
  65. 1 3
      gis_cms/src/main/java/com/gis/cms/service/impl/GoodsServiceImpl.java
  66. 1 5
      gis_cms/src/main/java/com/gis/cms/service/impl/MartyrServiceImpl.java
  67. 1 2
      gis_cms/src/main/java/com/gis/cms/service/impl/MournServiceImpl.java
  68. 1 5
      gis_cms/src/main/java/com/gis/cms/service/impl/NewsServiceImpl.java
  69. 1 4
      gis_cms/src/main/java/com/gis/cms/service/impl/QuestionAnswerServiceImpl.java
  70. 1 6
      gis_cms/src/main/java/com/gis/cms/service/impl/QuestionGroupServiceImpl.java
  71. 1 2
      gis_cms/src/main/java/com/gis/cms/service/impl/QuestionUserServiceImpl.java
  72. 1 2
      gis_cms/src/main/java/com/gis/cms/service/impl/RaceServiceImpl.java
  73. 1 7
      gis_cms/src/main/java/com/gis/cms/service/impl/SensitiveServiceImpl.java
  74. 15 10
      gis_common/pom.xml
  75. 3 1
      gis_common/src/main/java/com/gis/common/base/entity/po/LogEntity.java
  76. 7 2
      gis_common/src/main/java/com/gis/common/base/mapper/LogMapper.java
  77. 19 0
      gis_common/src/main/java/com/gis/common/base/mapper/provider/BaseProvider.java
  78. 26 33
      gis_common/src/main/java/com/gis/common/base/service/IBaseService.java
  79. 2 3
      gis_common/src/main/java/com/gis/common/base/service/LogService.java
  80. 0 251
      gis_common/src/main/java/com/gis/common/base/service/impl/IBaseServiceImpl.java
  81. 8 18
      gis_common/src/main/java/com/gis/common/base/service/impl/LogServiceImpl.java
  82. 20 0
      gis_common/src/main/java/com/gis/common/util/BaseUtil.java
  83. 26 0
      gis_pano/pom.xml
  84. 49 0
      gis_pano/src/main/java/com/gis/cms/controller/FodderController.java
  85. 47 0
      gis_pano/src/main/java/com/gis/cms/controller/OpsController.java
  86. 106 0
      gis_pano/src/main/java/com/gis/cms/controller/WorkController.java
  87. 23 0
      gis_pano/src/main/java/com/gis/cms/entity/dto/FodderDto.java
  88. 26 0
      gis_pano/src/main/java/com/gis/cms/entity/dto/SomeDataDto.java
  89. 25 0
      gis_pano/src/main/java/com/gis/cms/entity/dto/WorkDto.java
  90. 66 0
      gis_pano/src/main/java/com/gis/cms/entity/po/FodderEntity.java
  91. 63 0
      gis_pano/src/main/java/com/gis/cms/entity/po/WorkEntity.java
  92. 16 0
      gis_pano/src/main/java/com/gis/cms/mapper/FodderMapper.java
  93. 51 0
      gis_pano/src/main/java/com/gis/cms/mapper/WorkMapper.java
  94. 27 0
      gis_pano/src/main/java/com/gis/cms/service/FodderService.java
  95. 21 0
      gis_pano/src/main/java/com/gis/cms/service/OpsService.java
  96. 50 0
      gis_pano/src/main/java/com/gis/cms/service/WorkService.java
  97. 105 0
      gis_pano/src/main/java/com/gis/cms/service/impl/FodderServiceImpl.java
  98. 305 0
      gis_pano/src/main/java/com/gis/cms/service/impl/OpsServiceImpl.java
  99. 324 0
      gis_pano/src/main/java/com/gis/cms/service/impl/WorkServiceImpl.java
  100. 0 0
      gis_pano/src/main/resources/someData.json

+ 3 - 1
gis_admin/src/main/java/com/gis/admin/entity/po/IntegralEntity.java

@@ -1,5 +1,6 @@
 package com.gis.admin.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -13,7 +14,8 @@ import java.time.LocalDate;
  * 积分表
  */
 @Data
-@Table(name = "tb_integral")
+//@Table(name = "tb_integral")
+@TableName(value = "tb_integral")//指定表名
 public class IntegralEntity extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 5929496864816525045L;

+ 4 - 2
gis_admin/src/main/java/com/gis/admin/entity/po/SysResourceEntity.java

@@ -1,6 +1,7 @@
 package com.gis.admin.entity.po;
 
 import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import lombok.Data;
 
@@ -16,8 +17,9 @@ import java.io.Serializable;
  */
 
 @Data
-@Entity
-@Table(name = "sys_resource")
+//@Entity
+//@Table(name = "sys_resource")
+@TableName(value = "sys_resource")
 public class SysResourceEntity extends BaseEntity implements Serializable {
 
     /**

+ 4 - 2
gis_admin/src/main/java/com/gis/admin/entity/po/SysRoleEntity.java

@@ -1,5 +1,6 @@
 package com.gis.admin.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -15,8 +16,9 @@ import java.io.Serializable;
  */
 
 @Data
-@Entity
-@Table(name = "sys_role")
+//@Entity
+//@Table(name = "sys_role")
+@TableName(value = "sys_role")
 public class SysRoleEntity extends BaseEntity implements Serializable {
 
 

+ 4 - 2
gis_admin/src/main/java/com/gis/admin/entity/po/SysUserEntity.java

@@ -1,6 +1,7 @@
 package com.gis.admin.entity.po;
 
 import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -14,8 +15,9 @@ import java.io.Serializable;
  * 用户表
  */
 @Data
-@Entity
-@Table(name = "sys_user")
+//@Entity
+//@Table(name = "sys_user")
+@TableName(value = "sys_user")
 public class SysUserEntity extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = -853504493430501564L;

+ 3 - 2
gis_admin/src/main/java/com/gis/admin/mapper/IntegralMapper.java

@@ -1,8 +1,8 @@
 package com.gis.admin.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.admin.entity.po.IntegralEntity;
-import com.gis.common.base.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Component;
@@ -11,7 +11,8 @@ import java.time.LocalDate;
 
 @Component
 @Mapper
-public interface IntegralMapper extends IBaseMapper<IntegralEntity, Long> {
+//public interface IntegralMapper extends IBaseMapper<IntegralEntity, Long> {
+public interface IntegralMapper extends BaseMapper<IntegralEntity> {
 
     @Select("select sum(grade) from tb_integral where is_delete=0 and type=#{type} and day=#{date} and user_id=#{userId}")
     Integer getGradeByTypeAndDate(String type, LocalDate date, Long userId);

+ 2 - 1
gis_admin/src/main/java/com/gis/admin/mapper/SysBaseMapper.java

@@ -1,6 +1,7 @@
 package com.gis.admin.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.admin.entity.po.SysUserEntity;
 import com.gis.admin.entity.vo.RankVo;
 import com.gis.admin.mapper.provider.SysUserProvider;
@@ -18,7 +19,7 @@ import java.util.List;
 @CacheNamespace(flushInterval = 360000)
 @Component
 @Mapper
-public interface SysBaseMapper extends IBaseMapper<SysUserEntity, Long> {
+public interface SysBaseMapper extends BaseMapper<SysUserEntity> {
 
 
     @Select("select * from tb_rank where is_delete = 0 ")

+ 2 - 1
gis_admin/src/main/java/com/gis/admin/mapper/SysResourceMapper.java

@@ -1,5 +1,6 @@
 package com.gis.admin.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.admin.entity.po.SysResourceEntity;
 import org.apache.ibatis.annotations.Mapper;
@@ -14,7 +15,7 @@ import java.util.List;
  */
 @Mapper
 @Component
-public interface SysResourceMapper extends IBaseMapper<SysResourceEntity, Long> {
+public interface SysResourceMapper extends BaseMapper<SysResourceEntity> {
 
 //    @Select(value = "select * from sys_role_resource z left join sys_resource r ON z.resource_id = r.id where z.role_id= #{roleId}")
 //    List<SysResourceEntity> findRoleResourceByRoleId(Long roleId);

+ 4 - 6
gis_admin/src/main/java/com/gis/admin/mapper/SysRoleMapper.java

@@ -1,5 +1,7 @@
 package com.gis.admin.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.gis.admin.mapper.provider.SysRoleProvider;
 import com.gis.common.base.entity.dto.PageDto;
 import com.gis.common.base.mapper.IBaseMapper;
@@ -15,7 +17,7 @@ import java.util.Set;
  */
 @Component
 @Mapper
-public interface SysRoleMapper extends IBaseMapper<SysRoleEntity, Long> {
+public interface SysRoleMapper extends BaseMapper<SysRoleEntity> {
 
 
     @Select(value = "insert into sys_role_resource (role_id, resource_id) values (#{roleId}, #{resourceId});")
@@ -37,12 +39,8 @@ public interface SysRoleMapper extends IBaseMapper<SysRoleEntity, Long> {
     @Update("update sys_role set is_enabled = #{isDisable} , update_time = NOW() where is_delete=0 and id = #{id} ")
     void setIsEnabled(Long id, Integer isDisable);
 
-//    @Select("SELECT a.*, count(*) as count " +
-//            "FROM sys_role a left JOIN sys_user_role b on b.role_id=a.id WHERE a.is_delete=0  GROUP BY a.id ")
-//    List<SysRoleEntity> listCount();
-
     @SelectProvider(type = SysRoleProvider.class, method = "search")
-    List<SysRoleEntity> listCount(PageDto param);
+    IPage<SysRoleEntity> listCount(PageDto param, IPage<SysRoleEntity> page);
 
     @Select(value = "select a.* from sys_role a left join sys_user_role b on a.id = b.role_id where a.is_delete=0 and b.user_id = #{userId}")
     SysRoleEntity findByUserId(Long userId);

+ 10 - 3
gis_admin/src/main/java/com/gis/admin/mapper/SysUserMapper.java

@@ -1,10 +1,13 @@
 package com.gis.admin.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.gis.admin.mapper.provider.SysUserProvider;
 import com.gis.common.base.entity.dto.UserPageDateDto;
 import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.admin.entity.po.SysUserEntity;
+import com.gis.common.base.mapper.provider.BaseProvider;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.SelectProvider;
@@ -16,7 +19,7 @@ import java.util.List;
 
 @Component
 @Mapper
-public interface SysUserMapper extends IBaseMapper<SysUserEntity, Long> {
+public interface SysUserMapper extends BaseMapper<SysUserEntity> {
 
 
     @Select(value = "select * from sys_user where is_delete = '0' AND user_name= #{userName}")
@@ -32,8 +35,12 @@ public interface SysUserMapper extends IBaseMapper<SysUserEntity, Long> {
             "left join sys_role c on c.id=b.role_id where a.is_delete = 0 ")
     List<SysUserEntity> findListMapper();
 
-    @SelectProvider(type = SysUserProvider.class, method = "search")
-    List<SysUserEntity> search(UserPageDateDto param);
+//    @SelectProvider(type = SysUserProvider.class, method = "search")
+//    List<SysUserEntity> search(UserPageDateDto param);
+
+    @SelectProvider(type = BaseProvider.class, method = "runSql")
+    IPage<SysUserEntity> search(String sqlStr, IPage<SysUserEntity> page);
+
 
     @Update("update sys_user set online_time = online_time + #{onlineTime} , update_time = NOW() where id = #{userId} ")
     void updateOnlineTime(Long userId, long onlineTime);

+ 2 - 2
gis_admin/src/main/java/com/gis/admin/service/IntegralService.java

@@ -1,8 +1,8 @@
 package com.gis.admin.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.admin.entity.po.IntegralEntity;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 
 import java.time.LocalDate;
@@ -11,7 +11,7 @@ import java.time.LocalDate;
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface IntegralService extends IBaseService<IntegralEntity, Long> {
+public interface IntegralService extends IService<IntegralEntity> {
 
     Integer getGradeByTypeAndDate(String type, LocalDate date, Long userId);
 

+ 2 - 2
gis_admin/src/main/java/com/gis/admin/service/SysResourceService.java

@@ -1,6 +1,6 @@
 package com.gis.admin.service;
 
-import com.gis.common.base.service.IBaseService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.common.util.Result;
 import com.gis.admin.entity.po.SysResourceEntity;
 import com.gis.admin.tree.vo.SysResourceTree;
@@ -11,7 +11,7 @@ import java.util.Set;
 /**
  * Created by owen on 2020/2/19 0019 10:22
  */
-public interface SysResourceService extends IBaseService<SysResourceEntity, Long> {
+public interface SysResourceService extends IService<SysResourceEntity> {
 
 
     Set<String> getPermissionByUserId(Long userId);

+ 2 - 2
gis_admin/src/main/java/com/gis/admin/service/SysRoleService.java

@@ -1,7 +1,7 @@
 package com.gis.admin.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.common.base.entity.dto.PageDto;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 import com.gis.admin.entity.dto.RoleDto;
 import com.gis.admin.entity.po.SysRoleEntity;
@@ -11,7 +11,7 @@ import java.util.Set;
 /**
  * Created by owen on 2020/2/18 0018 11:36
  */
-public interface SysRoleService extends IBaseService<SysRoleEntity, Long> {
+public interface SysRoleService extends IService<SysRoleEntity> {
 
     void saveRoleResource(Long roleId, Long resourceId);
 

+ 2 - 2
gis_admin/src/main/java/com/gis/admin/service/SysUserService.java

@@ -1,9 +1,9 @@
 package com.gis.admin.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.admin.entity.dto.ResetPasswordDto;
 import com.gis.common.base.entity.dto.UserPageDateDto;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 import com.gis.admin.entity.dto.PasswordDto;
 import com.gis.admin.entity.dto.UserDto;
@@ -14,7 +14,7 @@ import com.gis.admin.entity.po.SysUserEntity;
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface SysUserService extends IBaseService<SysUserEntity, Long> {
+public interface SysUserService extends IService<SysUserEntity> {
 
 
     SysUserEntity findByUserName(String userName);

+ 14 - 13
gis_admin/src/main/java/com/gis/admin/service/impl/IntegralServiceImpl.java

@@ -1,14 +1,15 @@
 package com.gis.admin.service.impl;
 
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gis.admin.entity.po.IntegralEntity;
 import com.gis.admin.mapper.IntegralMapper;
 import com.gis.admin.service.IntegralService;
-import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
+import com.gis.common.base.service.IBaseService;
 import com.gis.common.constant.TypeCode;
 import com.gis.common.util.Result;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDate;
@@ -21,7 +22,12 @@ import java.util.Map;
  */
 @Slf4j
 @Service
-public class IntegralServiceImpl extends IBaseServiceImpl<IntegralEntity, Long> implements IntegralService {
+public class IntegralServiceImpl extends ServiceImpl<IntegralMapper, IntegralEntity> implements IntegralService {
+
+
+    @Qualifier("IBaseService")
+    @Autowired
+    IBaseService iBaseService;
 
     /**各项类型的积分*/
     private  static final Map<String, Integer> gradeMap = new HashMap<>();
@@ -51,18 +57,13 @@ public class IntegralServiceImpl extends IBaseServiceImpl<IntegralEntity, Long>
         limitMap.put(TypeCode.INTEGRAL_RANKING_3, 6);
     }
 
-    @Autowired
-    IntegralMapper entityMapper;
 
 
-    @Override
-    public IBaseMapper<IntegralEntity, Long> getBaseMapper() {
-        return this.entityMapper;
-    }
+
 
     @Override
     public Integer getGradeByTypeAndDate(String type, LocalDate date, Long userId) {
-        return entityMapper.getGradeByTypeAndDate(type, date, userId);
+        return baseMapper.getGradeByTypeAndDate(type, date, userId);
     }
 
     /**
@@ -72,7 +73,7 @@ public class IntegralServiceImpl extends IBaseServiceImpl<IntegralEntity, Long>
      */
     @Override
     public Result addGrade(String type) {
-        Long userId = getTokenUserId();
+        Long userId = iBaseService.getUserId();
         if (userId == null) {
             log.warn("用户没有登录,不记录积分");
             return Result.success();
@@ -123,14 +124,14 @@ public class IntegralServiceImpl extends IBaseServiceImpl<IntegralEntity, Long>
 
     @Override
     public Integer totalGrade(Long userId) {
-        Integer integer = entityMapper.totalGrade(userId);
+        Integer integer = baseMapper.totalGrade(userId);
         integer = integer == null? 0:integer;
         return integer;
     }
 
     @Override
     public Integer totalGradeToday(Long userId) {
-        Integer integer = entityMapper.totalGradeToday(userId);
+        Integer integer = baseMapper.totalGradeToday(userId);
         integer = integer == null? 0:integer;
         return integer;
     }

+ 19 - 15
gis_admin/src/main/java/com/gis/admin/service/impl/SysResourceServiceImpl.java

@@ -1,7 +1,8 @@
 package com.gis.admin.service.impl;
 
-import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gis.common.base.service.IBaseService;
+import com.gis.common.util.RedisUtil;
 import com.gis.common.util.Result;
 import com.gis.admin.entity.po.SysResourceEntity;
 import com.gis.admin.mapper.SysResourceMapper;
@@ -11,6 +12,7 @@ import com.gis.admin.tree.SysResourceTreeUtil;
 import com.gis.admin.tree.vo.SysResourceTree;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -23,32 +25,33 @@ import java.util.*;
 @Slf4j
 @Service
 @Transactional
-public class SysResourceServiceImpl extends IBaseServiceImpl<SysResourceEntity, Long> implements SysResourceService {
+public class SysResourceServiceImpl extends ServiceImpl<SysResourceMapper, SysResourceEntity> implements SysResourceService {
 
+    @Qualifier("IBaseService")
     @Autowired
-    private SysResourceMapper resourceMapper;
+    IBaseService iBaseService;
 
     @Autowired
     SysRoleService sysRoleService;
 
+    @Autowired
+    RedisUtil redisUtil;
+
     static String REDIS_RESOURCE_KEY = "army_xinjiang_resource";
 
 
-    @Override
-    public IBaseMapper<SysResourceEntity, Long> getBaseMapper() {
-        return this.resourceMapper;
-    }
+
 
 
     private List<String> getAllIdByUserId(Long userId) {
-        return resourceMapper.getAllIdByUserId(userId);
+        return baseMapper.getAllIdByUserId(userId);
     }
 
 
 
     @Override
     public Set<String> getPermissionByUserId(Long userId) {
-        List<SysResourceEntity> list = resourceMapper.findResourceByUserId(userId);
+        List<SysResourceEntity> list = baseMapper.findResourceByUserId(userId);
         Set<String> permissions = new HashSet<>();
         for (SysResourceEntity i : list) {
             permissions.add(i.getResourceKey());
@@ -73,12 +76,13 @@ public class SysResourceServiceImpl extends IBaseServiceImpl<SysResourceEntity,
      */
     @Override
     public Result getTreeAllPermissionsByUserId() {
-        Long userId = getTokenUserId();
+        Long userId = iBaseService.getUserId();
         SysResourceTreeUtil tree ;
         List<SysResourceEntity> cacheAll = findCacheAll();
 
         // 设置用户权限
-        List roles = getTokenRole();
+//        List roles = getTokenRole();
+        List roles = iBaseService.getUserRole();
         // 系统管理员, 拥有所有权限
         if (roles.contains("sys_admin")) {
             tree = new SysResourceTreeUtil(cacheAll);
@@ -126,7 +130,7 @@ public class SysResourceServiceImpl extends IBaseServiceImpl<SysResourceEntity,
 
 
     private List<String> getAllIdByRoleId(Long roleId) {
-        return resourceMapper.getAllIdByRoleId(roleId);
+        return baseMapper.getAllIdByRoleId(roleId);
     }
 
     @Override
@@ -148,7 +152,7 @@ public class SysResourceServiceImpl extends IBaseServiceImpl<SysResourceEntity,
         List all = redisUtil.getJsonList(REDIS_RESOURCE_KEY, SysResourceEntity.class);
         if (all == null) {
             log.info("从数据库获取");
-            all = this.findAll();
+            all = this.list();
             // 2min
             redisUtil.setObjectToJson(REDIS_RESOURCE_KEY, all, 120);
         }
@@ -162,7 +166,7 @@ public class SysResourceServiceImpl extends IBaseServiceImpl<SysResourceEntity,
         List all = redisUtil.getJsonList(REDIS_RESOURCE_KEY, SysResourceEntity.class);
         if (all == null) {
             log.info("从数据库获取");
-            all = this.findAll();
+            all = this.list();
             // 2min
             redisUtil.setObjectToJson(REDIS_RESOURCE_KEY, all, 120);
         }

+ 49 - 36
gis_admin/src/main/java/com/gis/admin/service/impl/SysRoleServiceImpl.java

@@ -1,8 +1,11 @@
 package com.gis.admin.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gis.common.base.entity.dto.PageDto;
-import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
+import com.gis.common.util.BaseUtil;
 import com.gis.common.util.Result;
 import com.gis.admin.entity.dto.RoleDto;
 import com.gis.admin.entity.po.SysRoleEntity;
@@ -10,14 +13,12 @@ import com.gis.admin.mapper.SysRoleMapper;
 import com.gis.admin.service.SysResourceService;
 import com.gis.admin.service.SysRoleService;
 import com.gis.admin.tree.vo.SysResourceTree;
-import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import tk.mybatis.mapper.entity.Condition;
 
 import java.time.LocalDateTime;
 import java.util.ArrayList;
@@ -32,15 +33,10 @@ import java.util.Set;
 @Slf4j
 @Service
 @Transactional(rollbackFor=Exception.class)
-public class SysRoleServiceImpl extends IBaseServiceImpl<SysRoleEntity, Long> implements SysRoleService {
+public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRoleEntity> implements SysRoleService {
+
 
-    @Autowired
-    private SysRoleMapper entityMapper;
 
-    @Override
-    public IBaseMapper<SysRoleEntity, Long> getBaseMapper() {
-        return this.entityMapper;
-    }
 
     @Autowired
     SysResourceService sysResourceService;
@@ -48,18 +44,18 @@ public class SysRoleServiceImpl extends IBaseServiceImpl<SysRoleEntity, Long> im
 
     @Override
     public void saveRoleResource(Long roleId, Long resourceId) {
-        entityMapper.saveRoleResource(roleId, resourceId);
+        baseMapper.saveRoleResource(roleId, resourceId);
     }
 
     @Override
     public void deleteRoleResource(Long roleId) {
-        entityMapper.deleteRoleResource(roleId);
+        baseMapper.deleteRoleResource(roleId);
     }
 
 
     @Override
     public Set<String> findRoleKeyByUserId(Long userId) {
-        return entityMapper.findRoleKeyByUserId(userId);
+        return baseMapper.findRoleKeyByUserId(userId);
     }
 
     @Override
@@ -84,7 +80,7 @@ public class SysRoleServiceImpl extends IBaseServiceImpl<SysRoleEntity, Long> im
             this.save(roleEntity);
             flag = true;
         } else {
-            roleEntity = this.findById(param.getId());
+            roleEntity = this.getById(param.getId());
             if (roleEntity == null) {
                 log.error("此角色不存在");
                 return Result.failure("此角色不存在");
@@ -92,7 +88,7 @@ public class SysRoleServiceImpl extends IBaseServiceImpl<SysRoleEntity, Long> im
             }
             BeanUtils.copyProperties(param, roleEntity);
             roleEntity.setUpdateTime(LocalDateTime.now());
-            this.update(roleEntity);
+            this.updateById(roleEntity);
 
             // 每次修改,删除角色资源表信息,重新添加
             this.deleteRoleResource(param.getId());
@@ -112,34 +108,50 @@ public class SysRoleServiceImpl extends IBaseServiceImpl<SysRoleEntity, Long> im
         return Result.failure("保存失败");
     }
 
+//    @Override
+//    public Result search(PageDto param) {
+//        startPage(param);
+//        Condition condition = new Condition(SysRoleEntity.class);
+//        // 参数名是属性
+//        String searchKey = param.getSearchKey();
+//        if (StringUtils.isNotBlank(searchKey)) {
+//            condition.and().andLike("roleName", "%" + param.getSearchKey()+ "%");
+//        }
+//        // 排除系统管理员
+//        condition.and().andNotEqualTo("roleKey", "sys_admin");
+//        PageInfo<SysRoleEntity> pageInfo = this.findAll(condition, param.getPageNum(), param.getPageSize());
+//        return Result.success(pageInfo);
+//    }
+
     @Override
     public Result search(PageDto param) {
-        startPage(param);
-        Condition condition = new Condition(SysRoleEntity.class);
-        // 参数名是属性
+        BaseUtil.startPage(param);
+        LambdaQueryWrapper<SysRoleEntity> wrapper = new LambdaQueryWrapper<>();
+
         String searchKey = param.getSearchKey();
         if (StringUtils.isNotBlank(searchKey)) {
-            condition.and().andLike("roleName", "%" + param.getSearchKey()+ "%");
+            wrapper.like(SysRoleEntity::getRoleName, param.getSearchKey());
         }
-        // 排除系统管理员
-        condition.and().andNotEqualTo("roleKey", "sys_admin");
-        PageInfo<SysRoleEntity> pageInfo = this.findAll(condition, param.getPageNum(), param.getPageSize());
-        return Result.success(pageInfo);
+
+        wrapper.orderByDesc(SysRoleEntity::getCreateTime);
+
+        IPage<SysRoleEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
+        return Result.success(this.page(page, wrapper));
     }
 
     @Override
     public void deleteUserRoleByUserId(Long userId) {
-        entityMapper.deleteUserRoleByUserId(userId);
+        baseMapper.deleteUserRoleByUserId(userId);
     }
 
     @Override
     public void saveUserRole(Long userId, Long roleId) {
-        entityMapper.saveUserRole(userId, roleId);
+        baseMapper.saveUserRole(userId, roleId);
     }
 
     @Override
     public Result remove(Long id) {
-        SysRoleEntity roleEntity = this.findById(id);
+        SysRoleEntity roleEntity = this.getById(id);
         if (roleEntity.getRoleKey().startsWith("sys_")) {
             return Result.failure("系统预设角色不能删除");
         }
@@ -148,7 +160,7 @@ public class SysRoleServiceImpl extends IBaseServiceImpl<SysRoleEntity, Long> im
         checkUserRole(id);
 
         // db数据真删除, 会把中间表数据也删除
-        this.deleteById(id);
+        this.removeById(id);
         return Result.success();
     }
 
@@ -157,11 +169,11 @@ public class SysRoleServiceImpl extends IBaseServiceImpl<SysRoleEntity, Long> im
      * @param roleId 角色id
      */
     private void checkUserRole(Long roleId){
-        List<Long> userIds = entityMapper.checkUseByRoleId(roleId);
+        List<Long> userIds = baseMapper.checkUseByRoleId(roleId);
         if (userIds.size() > 0) {
             // 需要确认数据库sys_role.role_key:2=sys_visitor
             for (Long userId : userIds) {
-                entityMapper.setUserIdByRoleId(userId, 2L);
+                baseMapper.setUserIdByRoleId(userId, 2L);
             }
         }
     }
@@ -171,7 +183,7 @@ public class SysRoleServiceImpl extends IBaseServiceImpl<SysRoleEntity, Long> im
 
     @Override
     public Result detail(Long id) {
-        SysRoleEntity roleEntity = this.findById(id);
+        SysRoleEntity roleEntity = this.getById(id);
         List<SysResourceTree> permission = new ArrayList<>();
         if (roleEntity != null) {
              permission = sysResourceService.getTreeAllPermissionsByRoleId(id);
@@ -188,7 +200,7 @@ public class SysRoleServiceImpl extends IBaseServiceImpl<SysRoleEntity, Long> im
     public Result editStatus(Long id, Integer isDisable) {
         // 禁用时,将关联用户的角色设置为默认角色(游客)
 
-        entityMapper.setIsEnabled(id, isDisable);
+        baseMapper.setIsEnabled(id, isDisable);
         if (isDisable == 0) {
             checkUserRole(id);
         }
@@ -197,14 +209,15 @@ public class SysRoleServiceImpl extends IBaseServiceImpl<SysRoleEntity, Long> im
 
     @Override
     public Result listCount(PageDto param) {
-        startPage(param);
-        List<SysRoleEntity> lists = entityMapper.listCount(param);
-        return Result.success(new PageInfo<>(lists));
+        BaseUtil.startPage(param);
+        IPage<SysRoleEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
+        IPage<SysRoleEntity> lists = baseMapper.listCount(param, page);
+        return Result.success(lists);
     }
 
     @Override
     public SysRoleEntity findByUserId(Long userId) {
-        return entityMapper.findByUserId(userId);
+        return baseMapper.findByUserId(userId);
     }
 
 

+ 88 - 43
gis_admin/src/main/java/com/gis/admin/service/impl/SysUserServiceImpl.java

@@ -1,23 +1,22 @@
 package com.gis.admin.service.impl;
 
 import cn.hutool.core.util.RandomUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gis.admin.entity.dto.ResetPasswordDto;
 import com.gis.admin.entity.po.SysRoleEntity;
 import com.gis.admin.entity.vo.RankVo;
 import com.gis.admin.mapper.SysBaseMapper;
 import com.gis.admin.service.IntegralService;
 import com.gis.common.base.entity.dto.UserPageDateDto;
-import com.gis.common.base.entity.po.LogEntity;
 import com.gis.common.base.exception.BaseRuntimeException;
-import com.gis.common.base.mapper.IBaseMapper;
+import com.gis.common.base.service.IBaseService;
 import com.gis.common.base.service.LogService;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.constant.MsgCode;
 import com.gis.common.constant.TypeCode;
-import com.gis.common.util.Base64Converter;
-import com.gis.common.util.JwtUtil;
-import com.gis.common.util.PasswordUtils;
-import com.gis.common.util.Result;
+import com.gis.common.util.*;
 import com.gis.admin.entity.dto.PasswordDto;
 import com.gis.admin.entity.dto.UserDto;
 import com.gis.admin.entity.dto.RegisterDto;
@@ -25,14 +24,15 @@ import com.gis.admin.entity.po.SysUserEntity;
 import com.gis.admin.mapper.SysUserMapper;
 import com.gis.admin.service.SysRoleService;
 import com.gis.admin.service.SysUserService;
-import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
-import tk.mybatis.mapper.entity.Condition;
 
 import java.time.LocalDateTime;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
 
@@ -42,10 +42,8 @@ import java.util.Set;
  */
 @Slf4j
 @Service
-public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> implements SysUserService {
+public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserEntity> implements SysUserService {
 
-    @Autowired
-    private SysUserMapper entityMapper;
 
     @Autowired
     SysRoleService sysRoleService;
@@ -56,9 +54,15 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
     @Autowired
     IntegralService integralService;
 
+    @Qualifier("IBaseService")
+    @Autowired
+    IBaseService iBaseService;
+
     @Autowired
     SysBaseMapper sysBaseMapper;
 
+    @Autowired
+    RedisUtil redisUtil;
 
     /**重置密码redis key*/
     final static String RESET_PASSWORD_KEY = "reset_password_";
@@ -66,14 +70,10 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
     // 目前是12h
     private static Integer LEVEL_EXPIRE = 1000 * 60 * 60 * 12;
 
-    @Override
-    public IBaseMapper<SysUserEntity, Long> getBaseMapper() {
-        return this.entityMapper;
-    }
 
     @Override
     public SysUserEntity findByUserName(String userName) {
-        return entityMapper.findByUserName(userName);
+        return baseMapper.findByUserName(userName);
     }
 
     @Override
@@ -91,14 +91,14 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
             this.save(entity);
             id = entity.getId();
         } else {
-            entity = this.findById(id);
+            entity = this.getById(id);
             if (entity == null) {
                 log.error("用户不存在: {}", id);
                 return Result.failure("用户不存在");
             }
             BeanUtils.copyProperties(param, entity);
             entity.setUpdateTime(LocalDateTime.now());
-            this.update(entity);
+            this.updateById(entity);
 
             // 更新密码
             String oldPassword = param.getOldPassword();
@@ -127,7 +127,8 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
     @Override
     public Result removes(String ids) {
 
-        List<SysUserEntity> entityList = this.findByIds(ids);
+//        List<SysUserEntity> entityList = this.findByIds(ids);
+        List<SysUserEntity> entityList = this.listByIds(Arrays.asList(ids));
         for (SysUserEntity entity: entityList) {
             Long id = entity.getId();
             Set<String> roleKeys = sysRoleService.findRoleKeyByUserId(id);
@@ -137,22 +138,62 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
             }
             entity.setIsDelete(1);
             entity.setUpdateTime(LocalDateTime.now());
-            this.update(entity);
+            this.updateById(entity);
         }
 
         return Result.success();
     }
 
-    @Override
-    public Result<SysUserEntity> search(UserPageDateDto param) {
-        startPage(param);
-        PageInfo<SysUserEntity> page = new PageInfo<>(entityMapper.search(param));
-        return Result.success(page);
+//    @Override
+//    public Result<SysUserEntity> search(UserPageDateDto param) {
+//        startPage(param);
+//        PageInfo<SysUserEntity> page = new PageInfo<>(entityMapper.search(param));
+//        return Result.success(page);
+//    }
+@Override
+public Result<SysUserEntity> search(UserPageDateDto param) {
+    BaseUtil.startPage(param);
+
+    StringBuffer sql = new StringBuffer();
+    sql.append("select a.*, c.role_name as roleName, c.id as roleId from sys_user a");
+    sql.append(" left join sys_user_role b on b.user_id=a.id");
+    sql.append(" left join sys_role c on c.id=b.role_id");
+    sql.append(" where a.is_delete=0 ");
+
+    String startTime = param.getStartTime();
+    String endTime = param.getEndTime();
+    if (StringUtils.isNotBlank(startTime) || StringUtils.isNotBlank(endTime)){
+        sql.append(" and a.create_time >= ").append("'").append(startTime).append("'");
+        sql.append(" and a.create_time <= ").append("'").append(endTime).append("'");
     }
 
+    String searchKey = param.getSearchKey();
+    if (!StringUtils.isAllBlank(searchKey)) {
+        searchKey = StringUtils.trim(searchKey);
+        sql.append(" and (");
+        sql.append( "a.real_name like '%").append(searchKey).append("%'");
+//            sql.append( " or a.unit like '%").append(searchKey).append("%'");
+        sql.append(")");
+    }
+
+    Long roleId = param.getRoleId();
+    if (roleId != null) {
+        sql.append(" and c.id=").append(roleId);
+    }
+
+    sql.append(" order by a.create_time desc");
+//        log.info("sql: {}", sql.toString());
+
+    IPage<SysUserEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
+    IPage<SysUserEntity> result = baseMapper.search(sql.toString(), page);
+
+    return Result.success(result);
+}
+
 
     private void updatePassword(PasswordDto param) {
-        SysUserEntity user = this.findByUserName(JwtUtil.getUsername(getToken()));
+//        SysUserEntity user = this.findByUserName(JwtUtil.getUsername(getToken()));
+        SysUserEntity user = this.findByUserName(iBaseService.getUserName());
 
         // 验证原密码
         Boolean isBoolean = PasswordUtils.decrypt(user.getPassword(), param.getOldPassword(), PasswordUtils.getStaticSalt());
@@ -163,7 +204,7 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
 
         user.setPassword(PasswordUtils.encrypt(user.getUserName(), param.getNewPassword(), PasswordUtils.getStaticSalt()));
         user.setUpdateTime(LocalDateTime.now());
-        this.update(user);
+        this.updateById(user);
     }
 
     @Override
@@ -173,7 +214,8 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
         String oldPassword = Base64Converter.decodePassword(param.getOldPassword());
         param.setNewPassword(newPassword);
         param.setOldPassword(oldPassword);
-        SysUserEntity user = this.findByUserName(JwtUtil.getUsername(getToken()));
+//        SysUserEntity user = this.findByUserName(JwtUtil.getUsername(getToken()));
+        SysUserEntity user = this.findByUserName(iBaseService.getUserName());
         updatePwd(param, user, true);
 
         return Result.success();
@@ -193,12 +235,12 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
 
         user.setPassword(PasswordUtils.encrypt(user.getUserName(), param.getNewPassword(), PasswordUtils.getStaticSalt()));
         user.setUpdateTime(LocalDateTime.now());
-        this.update(user);
+        this.updateById(user);
     }
 
     @Override
     public Result resetPass(Long id) {
-        SysUserEntity user = this.findById(id);
+        SysUserEntity user = this.getById(id);
 
         if (user == null) {
             log.error("用户不存在: {}", id);
@@ -207,14 +249,14 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
 
         user.setPassword(PasswordUtils.encrypt(user.getUserName(), "123456", PasswordUtils.getStaticSalt()));
         user.setUpdateTime(LocalDateTime.now());
-        this.update(user);
+        this.updateById(user);
         return Result.success();
     }
 
     @Override
     public Result editStatus(Long id, Integer isEnabled) {
 
-        SysUserEntity user = this.findById(id);
+        SysUserEntity user = this.getById(id);
         if (user == null) {
             log.error("用户不存在: {}", id);
             return Result.failure("用户不存在");
@@ -229,7 +271,7 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
 
         user.setIsEnabled(isEnabled);
         user.setUpdateTime(LocalDateTime.now());
-        this.update(user);
+        this.updateById(user);
         return Result.success();
     }
 
@@ -259,21 +301,24 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
         sysRoleService.saveUserRole(userId, Long.valueOf("2"));
 
         // 保存操作日志
-        logService.save(new LogEntity(userId,"用户注册","新增用户", request.getRemoteAddr()));
+//        logService.save(new LogEntity(userId,"用户注册","新增用户", request.getRemoteAddr()));
         return Result.success();
     }
 
     @Override
     public Result getRole() {
-        Condition condition = new Condition(SysRoleEntity.class);
-        condition.and().andEqualTo("isEnabled", 1);
-        return Result.success(sysRoleService.findAll(condition));
+//        Condition condition = new Condition(SysRoleEntity.class);
+//        condition.and().andEqualTo("isEnabled", 1);
+//        return Result.success(sysRoleService.findAll(condition));
+        LambdaQueryWrapper<SysRoleEntity> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysRoleEntity::getIsEnabled, 1);
+        return Result.success(sysRoleService.list(wrapper));
     }
 
     @Override
     public Result<SysUserEntity> detail(Long id) {
 
-        SysUserEntity user = entityMapper.detailMapper(id);
+        SysUserEntity user = baseMapper.detailMapper(id);
         // 获取用户积分
         Integer grade = integralService.totalGrade(id);
         Integer gradeToday = integralService.totalGradeToday(id);
@@ -293,7 +338,7 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
     @Override
     public Result retrievePassword(ResetPasswordDto param) {
         String userName = param.getUserName();
-        SysUserEntity entity = entityMapper.findByUserName(param.getUserName());
+        SysUserEntity entity = baseMapper.findByUserName(param.getUserName());
         if (entity == null) {
             return Result.success(false);
         }
@@ -313,7 +358,7 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
     @Override
     public Result updatePwdByWeb(PasswordDto param) {
         String userName = param.getUserName();
-        SysUserEntity entity = entityMapper.findByUserName(userName);
+        SysUserEntity entity = baseMapper.findByUserName(userName);
         if (entity == null) {
             return Result.failure(MsgCode.e3001, "对象不存在");
         }
@@ -336,7 +381,7 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
         long entTime = System.currentTimeMillis();
         long onlineTime = (entTime - startTime) / 1000;
         log.info("此次登录在线时长:{}", onlineTime);
-        entityMapper.updateOnlineTime(userId, onlineTime);
+        baseMapper.updateOnlineTime(userId, onlineTime);
     }
 
     @Override
@@ -356,7 +401,7 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
             if (grade >= rankVo.getExp()){
                 // 有效期12小时
                 redisUtil.set(redisKey, grade+"", LEVEL_EXPIRE);
-                entityMapper.updateLevel(userId, rankVo.getLevel());
+                baseMapper.updateLevel(userId, rankVo.getLevel());
                 break;
             }
         }

+ 1 - 1
gis_application/pom.xml

@@ -20,7 +20,7 @@
 
         <dependency>
             <groupId>com.gis</groupId>
-            <artifactId>gis_scene</artifactId>
+            <artifactId>gis_pano</artifactId>
         </dependency>
 
         <dependency>

+ 1 - 1
gis_application/src/main/resources/application-dev.properties

@@ -59,7 +59,7 @@ server.file.path=E:\\data\\${project.en}_data
 #server.url.prefix=/data/
 #spring.mvc.static-path-pattern=/${server.url.prefix}/**
 #
-spring.mvc.static-path-pattern=/**
+#spring.mvc.static-path-pattern=/**
 ### \u5339\u914D\u8DEF\u5F84\uFF0C \u6CE8\u610Ffile\u540E\u9762\u7684/ \uFF0Cwindows:\\  , linxu:\u5168\u8DEF\u5F84, \u4E0D\u9700\u8981\u7279\u522B\u52A0\u659C\u6760
 spring.resources.static-locations=file:\\${server.file.path}
 

+ 1 - 1
gis_application/src/main/resources/application.properties

@@ -3,7 +3,7 @@ server.port=8004
 # \u7EDF\u4E00\u8DEF\u5F84\u52A0\u524D\u7F00
 #server.servlet.context-path=/api
 
-spring.profiles.active=sit
+spring.profiles.active=dev
 
 
 # \u9879\u76EE\u540D\u79F0

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/AuditLogEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -12,7 +13,8 @@ import java.io.Serializable;
  * 审核日志
  */
 @Data
-@Table(name = "tb_audit_log")
+//@Table(name = "tb_audit_log")
+@TableName(value = "tb_audit_log")
 public class AuditLogEntity extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 905273918129100306L;

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/BarrageEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -11,7 +12,8 @@ import java.io.Serializable;
  * 弹幕表
  */
 @Data
-@Table(name = "tb_barrage")
+//@Table(name = "tb_barrage")
+@TableName(value = "tb_barrage")
 public class BarrageEntity extends BaseEntity implements Serializable {
 
 

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/CommentEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -12,7 +13,8 @@ import java.io.Serializable;
  * 留言评论
  */
 @Data
-@Table(name = "tb_comment")
+//@Table(name = "tb_comment")
+@TableName(value = "tb_comment")
 public class CommentEntity extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = -8093446477843493946L;

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/FileEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -11,7 +12,8 @@ import javax.persistence.Table;
  * 文件表
  */
 @Data
-@Table(name = "tb_file")
+//@Table(name = "tb_file")
+@TableName(value = "tb_file")
 public class FileEntity extends BaseEntity {
 
     @ApiModelProperty(value = "名称" )

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/GoodsEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -11,7 +12,8 @@ import javax.persistence.Table;
  * 文物表
  */
 @Data
-@Table(name = "tb_goods")
+//@Table(name = "tb_goods")
+@TableName(value = "tb_goods")
 public class GoodsEntity extends BaseEntity {
 
     @ApiModelProperty(value = "名称" )

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/MartyrEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -14,7 +15,8 @@ import java.time.LocalDate;
  */
 @Data
 @Entity
-@Table(name = "tb_martyr")
+//@Table(name = "tb_martyr")
+@TableName(value = "tb_martyr")
 public class MartyrEntity extends BaseEntity implements Serializable {
 
 

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/MournEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -13,7 +14,8 @@ import java.io.Serializable;
  * 悼念烈士表
  */
 @Data
-@Table(name = "tb_mourn")
+//@Table(name = "tb_mourn")
+@TableName(value = "tb_mourn")
 public class MournEntity extends BaseEntity implements Serializable {
     private static final long serialVersionUID = 7167520531265687441L;
 

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/NewsEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -12,7 +13,8 @@ import java.io.Serializable;
  * 新闻资讯表
  */
 @Data
-@Table(name = "tb_news")
+//@Table(name = "tb_news")
+@TableName(value = "tb_news")
 public class NewsEntity extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 6762104274638442519L;

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/QuestionAnswerEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -12,7 +13,8 @@ import java.io.Serializable;
  * 问题答案表
  */
 @Data
-@Table(name = "tb_question_answer")
+//@Table(name = "tb_question_answer")
+@TableName(value = "tb_question_answer")
 public class QuestionAnswerEntity extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 6274674913714157921L;

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/QuestionGroupEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -13,7 +14,8 @@ import java.io.Serializable;
  * 题组表
  */
 @Data
-@Table(name = "tb_question_group")
+//@Table(name = "tb_question_group")
+@TableName(value = "tb_question_group")
 public class QuestionGroupEntity extends BaseEntity implements Serializable {
 
 

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/QuestionUserEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -13,7 +14,8 @@ import java.io.Serializable;
  * 用户答题详情表
  */
 @Data
-@Table(name = "tb_question_user")
+//@Table(name = "tb_question_user")
+@TableName(value = "tb_question_user")
 public class QuestionUserEntity extends BaseEntity implements Serializable {
 
 

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/RaceEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -14,7 +15,8 @@ import java.time.LocalDate;
  * 竞赛答题表
  */
 @Data
-@Table(name = "tb_race")
+//@Table(name = "tb_race")
+@TableName(value = "tb_race")
 public class RaceEntity extends BaseEntity implements Serializable {
 
 

+ 3 - 1
gis_cms/src/main/java/com/gis/cms/entity/po/SensitiveEntity.java

@@ -1,5 +1,6 @@
 package com.gis.cms.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.gis.common.base.entity.po.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -12,7 +13,8 @@ import java.io.Serializable;
  * 敏感词表
  */
 @Data
-@Table(name = "tb_sensitive")
+//@Table(name = "tb_sensitive")
+@TableName(value = "tb_sensitive")
 public class SensitiveEntity extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 5929496864816525045L;

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/AuditLogMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.cms.entity.po.AuditLogEntity;
 import org.apache.ibatis.annotations.Mapper;
@@ -8,6 +9,6 @@ import org.springframework.stereotype.Component;
 
 @Component
 @Mapper
-public interface AuditLogMapper extends IBaseMapper<AuditLogEntity, Long> {
+public interface AuditLogMapper extends BaseMapper<AuditLogEntity> {
 
 }

+ 7 - 2
gis_cms/src/main/java/com/gis/cms/mapper/BarrageMapper.java

@@ -1,9 +1,13 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.gis.admin.entity.po.SysRoleEntity;
 import com.gis.cms.entity.po.BarrageEntity;
 import com.gis.cms.mapper.provider.BarrageProvider;
 import com.gis.common.base.entity.dto.PageDateDto;
+import com.gis.common.base.entity.dto.PageDto;
 import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.cms.entity.vo.BarrageVo;
 import org.apache.ibatis.annotations.Mapper;
@@ -14,8 +18,9 @@ import java.util.List;
 
 @Component
 @Mapper
-public interface BarrageMapper extends IBaseMapper<BarrageEntity, Long> {
+public interface BarrageMapper extends BaseMapper<BarrageEntity> {
 
     @SelectProvider(type = BarrageProvider.class, method = "search")
-    List<BarrageVo> search(PageDateDto param, Integer display);
+//    List<BarrageVo> search(PageDateDto param, Integer display);
+    IPage<BarrageVo> search(PageDto param, Integer display, IPage<BarrageEntity> page);
 }

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/CommentMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.common.base.entity.dto.PageDateDto;
 import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.cms.entity.po.CommentEntity;
@@ -16,7 +17,7 @@ import java.util.List;
 
 @Component
 @Mapper
-public interface CommentMapper extends IBaseMapper<CommentEntity, Long> {
+public interface CommentMapper extends BaseMapper<CommentEntity> {
 
 
     @SelectProvider(type = CommentProvider.class, method = "search")

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/FileMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.cms.entity.po.FileEntity;
 import com.gis.common.base.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
@@ -13,7 +14,7 @@ import java.util.List;
 
 @Component
 @Mapper
-public interface FileMapper extends IBaseMapper<FileEntity, Long> {
+public interface FileMapper extends BaseMapper<FileEntity> {
 
     @Update("update tb_file set is_index = 1 , update_time = NOW() where is_delete = 0 and id = #{fileId} ")
     void indexEnabled(Long fileId);

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/GoodsMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.cms.entity.po.GoodsEntity;
 import com.gis.cms.mapper.provider.GoodsProvider;
 import com.gis.common.base.mapper.IBaseMapper;
@@ -13,7 +14,7 @@ import java.util.List;
 
 @Component
 @Mapper
-public interface GoodsMapper extends IBaseMapper<GoodsEntity, Long> {
+public interface GoodsMapper extends BaseMapper<GoodsEntity> {
 
 
 

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/MartyrMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.cms.entity.po.MartyrEntity;
 import org.apache.ibatis.annotations.Mapper;
@@ -9,7 +10,7 @@ import org.springframework.stereotype.Component;
 
 @Component
 @Mapper
-public interface MartyrMapper extends IBaseMapper<MartyrEntity, Long> {
+public interface MartyrMapper extends BaseMapper<MartyrEntity> {
 
     @Update("update tb_martyr set visit = visit + 1 , update_time = NOW() where is_delete = 0  and id = #{id}")
     void addVisit(Long id);

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/MournMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.cms.entity.vo.MournVo;
 import com.gis.cms.mapper.provider.MournProvider;
 import com.gis.common.base.entity.dto.PageDateDto;
@@ -16,7 +17,7 @@ import java.util.List;
 
 @Component
 @Mapper
-public interface MournMapper extends IBaseMapper<MournEntity, Long> {
+public interface MournMapper extends BaseMapper<MournEntity> {
 
     @SelectProvider(type = MournProvider.class, method = "search")
     List<MournVo> search(PageDateDto param, Integer display);

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/MyBaseMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.cms.entity.po.FileEntity;
 import com.gis.common.base.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.CacheNamespace;
@@ -17,7 +18,7 @@ import org.springframework.stereotype.Component;
 @CacheNamespace(flushInterval = 360000)
 @Component
 @Mapper
-public interface MyBaseMapper extends IBaseMapper<FileEntity, Long> {
+public interface MyBaseMapper extends BaseMapper<FileEntity> {
 
     @Update("update tb_visit set visit = visit + 1 , update_time = NOW() where is_delete = 0  and module = #{module}")
     void addVist(String module);

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/NewsMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.cms.entity.po.NewsEntity;
 import org.apache.ibatis.annotations.Mapper;
@@ -9,7 +10,7 @@ import org.springframework.stereotype.Component;
 
 @Component
 @Mapper
-public interface NewsMapper extends IBaseMapper<NewsEntity, Long> {
+public interface NewsMapper extends BaseMapper<NewsEntity> {
 
     @Update("update tb_news set visit = visit + 1 , update_time = NOW() where is_delete = 0  and id = #{id}")
     void addVisit(Long id);

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/QuestionAnswerMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.cms.entity.po.QuestionAnswerEntity;
 import org.apache.ibatis.annotations.Mapper;
@@ -12,7 +13,7 @@ import java.util.List;
 
 @Component
 @Mapper
-public interface QuestionAnswerMapper extends IBaseMapper<QuestionAnswerEntity, Long> {
+public interface QuestionAnswerMapper extends BaseMapper<QuestionAnswerEntity> {
 
 
     @Update("update tb_question_answer set is_delete = 1 , update_time = NOW() where is_delete = 0 and question_group_id=#{questionGroupId} ")

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/QuestionGroupMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.cms.entity.po.QuestionGroupEntity;
 import com.gis.common.base.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
@@ -8,6 +9,6 @@ import org.springframework.stereotype.Component;
 
 @Component
 @Mapper
-public interface QuestionGroupMapper extends IBaseMapper<QuestionGroupEntity, Long> {
+public interface QuestionGroupMapper extends BaseMapper<QuestionGroupEntity> {
 
 }

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/QuestionUserMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.cms.entity.po.QuestionUserEntity;
 import org.apache.ibatis.annotations.Mapper;
@@ -12,7 +13,7 @@ import java.util.List;
 
 @Component
 @Mapper
-public interface QuestionUserMapper extends IBaseMapper<QuestionUserEntity, Long> {
+public interface QuestionUserMapper extends BaseMapper<QuestionUserEntity> {
 
 //    @Select("select distinct a.user_id, a.score, a.id, b.real_name as realName from tb_question_user a left join sys_user b on b.id=a.user_id where a.is_delete=0 AND a.question_group_id=#{questionGroupId} order by a.score desc limit 10")
     @Select("SELECT DISTINCT a.user_id,  max(a.score) as score ,a.id, b.real_name as realName, a.create_time, a.question_group_id " +

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/RaceMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.cms.entity.po.RaceEntity;
 import com.gis.common.base.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
@@ -12,7 +13,7 @@ import java.util.List;
 
 @Component
 @Mapper
-public interface RaceMapper extends IBaseMapper<RaceEntity, Long> {
+public interface RaceMapper extends BaseMapper<RaceEntity> {
 
 
     /**日期格式, Y要大写*/

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/SensitiveMapper.java

@@ -1,6 +1,7 @@
 package com.gis.cms.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.cms.entity.po.SensitiveEntity;
 import org.apache.ibatis.annotations.Mapper;
@@ -11,7 +12,7 @@ import java.util.Set;
 
 @Component
 @Mapper
-public interface SensitiveMapper extends IBaseMapper<SensitiveEntity, Long> {
+public interface SensitiveMapper extends BaseMapper<SensitiveEntity> {
 
     @Select("SELECT DISTINCT name FROM tb_sensitive WHERE is_delete=0")
     Set<Object> getName();

+ 2 - 3
gis_cms/src/main/java/com/gis/cms/service/AuditLogService.java

@@ -1,9 +1,9 @@
 package com.gis.cms.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.StatusPageDataDto;
 import com.gis.cms.entity.po.AuditLogEntity;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -13,10 +13,9 @@ import java.util.List;
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface AuditLogService extends IBaseService<AuditLogEntity, Long> {
+public interface AuditLogService extends IService<AuditLogEntity> {
 
 
-//    Result saveEntity(AuditLogDto param);
 
     Result remove(Long id);
 

+ 3 - 6
gis_cms/src/main/java/com/gis/cms/service/BarrageService.java

@@ -1,23 +1,20 @@
 package com.gis.cms.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.CommentDto;
 import com.gis.cms.entity.po.BarrageEntity;
-import com.gis.cms.entity.po.CommentEntity;
-import com.gis.cms.entity.vo.BarrageVo;
 import com.gis.common.base.entity.dto.PageDateDto;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
-import com.github.pagehelper.PageInfo;
 
 
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface BarrageService extends IBaseService<BarrageEntity, Long> {
+public interface BarrageService extends IService<BarrageEntity> {
 
 
-    Result<PageInfo<BarrageVo>> search(PageDateDto param, Integer display);
+    Result search(PageDateDto param, Integer display);
 
     Result remove(Long id);
 

+ 3 - 4
gis_cms/src/main/java/com/gis/cms/service/CommentService.java

@@ -1,13 +1,12 @@
 package com.gis.cms.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.CommentDto;
 import com.gis.cms.entity.po.CommentEntity;
 import com.gis.cms.entity.vo.CommentVo;
 import com.gis.common.base.entity.dto.PageDateDto;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
-import com.github.pagehelper.PageInfo;
 
 import java.time.LocalDate;
 
@@ -15,10 +14,10 @@ import java.time.LocalDate;
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface CommentService extends IBaseService<CommentEntity, Long> {
+public interface CommentService extends IService<CommentEntity> {
 
 
-    Result<PageInfo<CommentVo>> search(PageDateDto param, Integer display);
+    Result search(PageDateDto param, Integer display);
 
     Integer countFindByDate(LocalDate now);
 

+ 2 - 2
gis_cms/src/main/java/com/gis/cms/service/FileService.java

@@ -1,8 +1,8 @@
 package com.gis.cms.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.po.FileEntity;
-import com.gis.common.base.service.IBaseService;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
@@ -12,7 +12,7 @@ import java.util.Map;
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface FileService extends IBaseService<FileEntity, Long> {
+public interface FileService extends IService<FileEntity> {
 
 
     void indexDisable(Long moduleId, String module);

+ 2 - 2
gis_cms/src/main/java/com/gis/cms/service/GoodsService.java

@@ -1,11 +1,11 @@
 package com.gis.cms.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.AuditDto;
 import com.gis.cms.entity.dto.GoodsDto;
 import com.gis.cms.entity.dto.TypePageDateDto;
 import com.gis.cms.entity.po.GoodsEntity;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -13,7 +13,7 @@ import org.springframework.web.multipart.MultipartFile;
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface GoodsService extends IBaseService<GoodsEntity, Long> {
+public interface GoodsService extends IService<GoodsEntity> {
 
 
     Result<GoodsEntity> search(TypePageDateDto param, Integer display);

+ 2 - 2
gis_cms/src/main/java/com/gis/cms/service/MartyrService.java

@@ -1,11 +1,11 @@
 package com.gis.cms.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.AuditDto;
 import com.gis.cms.entity.dto.MartyrDto;
 import com.gis.cms.entity.dto.StatusPageDataDto;
 import com.gis.cms.entity.po.MartyrEntity;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -13,7 +13,7 @@ import org.springframework.web.multipart.MultipartFile;
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface MartyrService extends IBaseService<MartyrEntity, Long> {
+public interface MartyrService extends IService<MartyrEntity> {
 
 
     Result saveEntity(MartyrDto param);

+ 2 - 2
gis_cms/src/main/java/com/gis/cms/service/MournService.java

@@ -1,18 +1,18 @@
 package com.gis.cms.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.MournDto;
 import com.gis.cms.entity.po.MournEntity;
 import com.gis.cms.entity.vo.MournVo;
 import com.gis.common.base.entity.dto.PageDateDto;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 
 
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface MournService extends IBaseService<MournEntity, Long> {
+public interface MournService extends IService<MournEntity> {
 
 
     Result saveEntity(MournDto param);

+ 2 - 2
gis_cms/src/main/java/com/gis/cms/service/NewsService.java

@@ -1,11 +1,11 @@
 package com.gis.cms.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.AuditDto;
 import com.gis.cms.entity.dto.NewsDto;
 import com.gis.cms.entity.dto.NewsPageDataDto;
 import com.gis.cms.entity.po.NewsEntity;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -13,7 +13,7 @@ import org.springframework.web.multipart.MultipartFile;
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface NewsService extends IBaseService<NewsEntity, Long> {
+public interface NewsService extends IService<NewsEntity> {
 
 
     Result saveEntity(NewsDto param);

+ 2 - 2
gis_cms/src/main/java/com/gis/cms/service/QuestionAnswerService.java

@@ -2,10 +2,10 @@ package com.gis.cms.service;
 
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.AnswerDto;
 import com.gis.cms.entity.dto.QuestionAnswerDto;
 import com.gis.cms.entity.po.QuestionAnswerEntity;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 
 import java.util.List;
@@ -16,7 +16,7 @@ import java.util.List;
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface QuestionAnswerService extends IBaseService<QuestionAnswerEntity, Long> {
+public interface QuestionAnswerService extends IService<QuestionAnswerEntity> {
 
 
     Result saveEntity(QuestionAnswerDto param);

+ 2 - 2
gis_cms/src/main/java/com/gis/cms/service/QuestionGroupService.java

@@ -1,18 +1,18 @@
 package com.gis.cms.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.AuditDto;
 import com.gis.cms.entity.dto.QuestionGroupDto;
 import com.gis.cms.entity.dto.StatusPageDataDto;
 import com.gis.cms.entity.po.QuestionGroupEntity;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 
 
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface QuestionGroupService extends IBaseService<QuestionGroupEntity, Long> {
+public interface QuestionGroupService extends IService<QuestionGroupEntity> {
 
 
     Result saveEntity(QuestionGroupDto param);

+ 2 - 6
gis_cms/src/main/java/com/gis/cms/service/QuestionUserService.java

@@ -1,20 +1,16 @@
 package com.gis.cms.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.CountAnswerDto;
-import com.gis.cms.entity.po.QuestionGroupEntity;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 import com.gis.cms.entity.po.QuestionUserEntity;
 
-import java.util.List;
-import java.util.Map;
-
 
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface QuestionUserService extends IBaseService<QuestionUserEntity, Long> {
+public interface QuestionUserService extends IService<QuestionUserEntity> {
 
 
     Result ranking(Long questionGroupId);

+ 2 - 2
gis_cms/src/main/java/com/gis/cms/service/RaceService.java

@@ -1,16 +1,16 @@
 package com.gis.cms.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.CountRaceDto;
 import com.gis.cms.entity.po.RaceEntity;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.util.Result;
 
 
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface RaceService extends IBaseService<RaceEntity, Long> {
+public interface RaceService extends IService<RaceEntity> {
 
 
     Result saveEntity(CountRaceDto param);

+ 2 - 3
gis_cms/src/main/java/com/gis/cms/service/SensitiveService.java

@@ -1,10 +1,9 @@
 package com.gis.cms.service;
 
 
-import com.gis.cms.entity.dto.ContentDto;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.SensitiveDto;
 import com.gis.cms.entity.po.SensitiveEntity;
-import com.gis.common.base.service.IBaseService;
 import com.gis.common.base.entity.dto.PageDto;
 import com.gis.common.util.Result;
 
@@ -14,7 +13,7 @@ import java.util.Set;
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface SensitiveService extends IBaseService<SensitiveEntity, Long> {
+public interface SensitiveService extends IService<SensitiveEntity> {
 
 
     Result saveEntity(SensitiveDto param);

+ 72 - 33
gis_cms/src/main/java/com/gis/cms/service/impl/AuditLogServiceImpl.java

@@ -1,20 +1,22 @@
 package com.gis.cms.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gis.cms.entity.dto.StatusPageDataDto;
 import com.gis.cms.entity.po.AuditLogEntity;
 import com.gis.cms.mapper.AuditLogMapper;
-import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
+import com.gis.common.base.service.IBaseService;
 import com.gis.common.constant.TypeCode;
+import com.gis.common.util.BaseUtil;
 import com.gis.common.util.Result;
 import com.gis.cms.service.AuditLogService;
 import com.gis.cms.service.FileService;
-import com.github.pagehelper.PageInfo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
-import tk.mybatis.mapper.entity.Condition;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -26,10 +28,9 @@ import java.util.List;
  * Created by owen on 2021/6/24 0011 16:16
  */
 @Service
-public class AuditLogServiceImpl extends IBaseServiceImpl<AuditLogEntity, Long> implements AuditLogService {
+public class AuditLogServiceImpl extends ServiceImpl<AuditLogMapper, AuditLogEntity> implements AuditLogService {
+
 
-    @Autowired
-    private AuditLogMapper entityMapper;
 
     @Resource
     HttpServletRequest request;
@@ -37,37 +38,63 @@ public class AuditLogServiceImpl extends IBaseServiceImpl<AuditLogEntity, Long>
     @Autowired
     FileService fileService;
 
-    @Override
-    public IBaseMapper<AuditLogEntity, Long> getBaseMapper() {
-        return this.entityMapper;
-    }
+    @Autowired
+    IBaseService iBaseService;
+
+
+
+//    @Override
+//    public Result<AuditLogEntity> search(StatusPageDataDto param) {
+//        startPage(param);
+//        Condition condition = new Condition(AuditLogEntity.class);
+//        String searchKey = param.getSearchKey();
+//        if (StringUtils.isNotBlank(searchKey)) {
+//            searchKey = StringUtils.trim(searchKey);
+//            condition.and().orLike("name", "%" + searchKey + "%");
+////                    .orLike("userName", "%" + searchKey + "%");
+//        }
+//        String startTime = param.getStartTime();
+//        String endTime = param.getEndTime();
+//        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime) ) {
+//            condition.and().andBetween("createTime", startTime, endTime);
+//        }
+//        Integer status = param.getStatus();
+//        if (status != null) {
+//            condition.and().andEqualTo("status", status);
+//        }
+//
+//        condition.orderBy("createTime").desc();
+//        PageInfo<AuditLogEntity> pageInfo = this.findAll(condition, param.getPageNum(), param.getPageSize());
+//        return Result.success(pageInfo);
+//
+//    }
 
     @Override
-    public Result<AuditLogEntity> search(StatusPageDataDto param) {
-        startPage(param);
-        Condition condition = new Condition(AuditLogEntity.class);
+    public Result search(StatusPageDataDto param) {
+        BaseUtil.startPage(param);
+        IPage<AuditLogEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
+        LambdaQueryWrapper<AuditLogEntity> wrapper = new LambdaQueryWrapper<>();
         String searchKey = param.getSearchKey();
         if (StringUtils.isNotBlank(searchKey)) {
             searchKey = StringUtils.trim(searchKey);
-            condition.and().orLike("name", "%" + searchKey + "%");
-//                    .orLike("userName", "%" + searchKey + "%");
+            wrapper.like(AuditLogEntity::getAuditor, searchKey);
         }
+
         String startTime = param.getStartTime();
         String endTime = param.getEndTime();
-        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime) ) {
-            condition.and().andBetween("createTime", startTime, endTime);
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)){
+            wrapper.between(AuditLogEntity::getCreateTime, startTime, endTime);
         }
+
         Integer status = param.getStatus();
-        if (status != null) {
-            condition.and().andEqualTo("status", status);
-        }
+        wrapper.eq(status!= null, AuditLogEntity::getStatus, status);
 
-        condition.orderBy("createTime").desc();
-        PageInfo<AuditLogEntity> pageInfo = this.findAll(condition, param.getPageNum(), param.getPageSize());
-        return Result.success(pageInfo);
 
+        wrapper.orderByDesc(AuditLogEntity::getCreateTime);
+        return Result.success(this.page(page, wrapper));
     }
 
+
     @Override
     public void saveAuditLog(String module, Long moduleId, Integer status, String reason) {
         AuditLogEntity entity = new AuditLogEntity();
@@ -75,37 +102,49 @@ public class AuditLogServiceImpl extends IBaseServiceImpl<AuditLogEntity, Long>
         entity.setModuleId(moduleId);
         entity.setReason(reason);
         entity.setStatus(status);
-        entity.setAuditor(getTokenUserName());
+//        entity.setAuditor(getTokenUserName());
+        entity.setAuditor(iBaseService.getUserName());
         this.save(entity);
     }
 
+//    @Override
+//    public List<AuditLogEntity> findByModuleId(Long moduleId, String module) {
+//        Condition condition = new Condition(AuditLogEntity.class);
+//        condition.and()
+//                .andEqualTo("module", module)
+//                .andEqualTo("moduleId", moduleId);
+//
+//        return this.findAll(condition, "create_time desc");
+//    }
+
+
     @Override
     public List<AuditLogEntity> findByModuleId(Long moduleId, String module) {
-        Condition condition = new Condition(AuditLogEntity.class);
-        condition.and()
-                .andEqualTo("module", module)
-                .andEqualTo("moduleId", moduleId);
+        LambdaQueryWrapper<AuditLogEntity> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(AuditLogEntity::getModule, module);
+        wrapper.eq(AuditLogEntity::getModuleId, moduleId);
+        wrapper.orderByDesc(AuditLogEntity::getCreateTime);
+        return this.list(wrapper);
 
-        return this.findAll(condition, "create_time desc");
     }
 
 
     @Override
     public Result remove(Long id) {
-        AuditLogEntity entity = this.findById(id);
+        AuditLogEntity entity = this.getById(id);
         if (entity == null) {
             return Result.success();
         }
         // db数据软删除, 物理数据真删除
         entity.setIsDelete(1);
         entity.setUpdateTime(LocalDateTime.now());
-        this.update(entity);
+        this.updateById(entity);
         return  Result.success();
     }
 
     @Override
     public Result<AuditLogEntity> detail(Long id) {
-        AuditLogEntity entity = this.findById(id);
+        AuditLogEntity entity = this.getById(id);
         if (entity == null) {
             return Result.failure("对象不存在");
         }

+ 29 - 19
gis_cms/src/main/java/com/gis/cms/service/impl/BarrageServiceImpl.java

@@ -1,5 +1,8 @@
 package com.gis.cms.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gis.admin.service.IntegralService;
 import com.gis.cms.entity.dto.CommentDto;
 import com.gis.cms.entity.po.BarrageEntity;
@@ -7,16 +10,16 @@ import com.gis.cms.entity.vo.BarrageVo;
 import com.gis.cms.mapper.BarrageMapper;
 import com.gis.cms.service.SensitiveService;
 import com.gis.common.base.entity.dto.PageDateDto;
-import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
+import com.gis.common.base.service.IBaseService;
 import com.gis.common.constant.TypeCode;
+import com.gis.common.util.BaseUtil;
 import com.gis.common.util.MyStrUtil;
 import com.gis.common.util.Result;
 import com.gis.cms.service.BarrageService;
-import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
@@ -29,10 +32,9 @@ import java.util.Set;
  */
 @Slf4j
 @Service
-public class BarrageServiceImpl extends IBaseServiceImpl<BarrageEntity, Long> implements BarrageService {
+public class BarrageServiceImpl extends ServiceImpl<BarrageMapper, BarrageEntity> implements BarrageService {
+
 
-    @Autowired
-    private BarrageMapper entityMapper;
 
     @Autowired
     SensitiveService sensitiveService;
@@ -40,17 +42,24 @@ public class BarrageServiceImpl extends IBaseServiceImpl<BarrageEntity, Long> im
     @Autowired
     IntegralService integralService;
 
-    @Override
-    public IBaseMapper<BarrageEntity, Long> getBaseMapper() {
-        return this.entityMapper;
-    }
+
+    @Qualifier("IBaseService")
+    @Autowired
+    IBaseService iBaseService;
+
 
 
     @Override
-    public Result<PageInfo<BarrageVo>> search(PageDateDto param, Integer display) {
-        startPage(param);
-        PageInfo<BarrageVo> page = new PageInfo<>(entityMapper.search(param, display));
-        List<BarrageVo> list = page.getList();
+    public Result search(PageDateDto param, Integer display) {
+//        startPage(param);
+//        PageInfo<BarrageVo> page = new PageInfo<>(entityMapper.search(param, display));
+
+        BaseUtil.startPage(param);
+        IPage<BarrageEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
+        IPage<BarrageVo> search = baseMapper.search(param, display, page);
+
+//        List<BarrageVo> list = page.getList();
+        List<BarrageVo> list = search.getRecords();
         Set<Object> filterKey = sensitiveService.getFilterKey();
         for (BarrageVo vo : list) {
             String content = vo.getContent();
@@ -60,19 +69,19 @@ public class BarrageServiceImpl extends IBaseServiceImpl<BarrageEntity, Long> im
         }
 
 
-        return Result.success(page);
+        return Result.success(search);
     }
 
     @Override
     public Result remove(Long id) {
-        BarrageEntity entity = this.findById(id);
+        BarrageEntity entity = this.getById(id);
         if (entity == null) {
             return Result.success();
         }
         // db数据软删除, 物理数据真删除
         entity.setIsDelete(1);
         entity.setUpdateTime(LocalDateTime.now());
-        this.update(entity);
+        this.updateById(entity);
         return Result.success();
     }
 
@@ -80,7 +89,8 @@ public class BarrageServiceImpl extends IBaseServiceImpl<BarrageEntity, Long> im
     public Result saveEntity(CommentDto param) {
         BarrageEntity entity = new BarrageEntity();
         BeanUtils.copyProperties(param, entity);
-        Long userId = getTokenUserId();
+//        Long userId = getTokenUserId();
+        Long userId = iBaseService.getUserId();
         entity.setUserId(userId);
         this.save(entity);
 
@@ -94,7 +104,7 @@ public class BarrageServiceImpl extends IBaseServiceImpl<BarrageEntity, Long> im
 
     @Override
     public Result<BarrageEntity> detail(Long id) {
-        BarrageEntity entity = this.findById(id);
+        BarrageEntity entity = this.getById(id);
         if (entity == null) {
             return Result.failure("对象不存在");
         }

+ 52 - 19
gis_cms/src/main/java/com/gis/cms/service/impl/CommentServiceImpl.java

@@ -1,5 +1,9 @@
 package com.gis.cms.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gis.admin.service.IntegralService;
 import com.gis.cms.entity.dto.CommentDto;
 import com.gis.cms.entity.po.CommentEntity;
@@ -11,10 +15,12 @@ import com.gis.cms.tree.CommentTreeUtil;
 import com.gis.cms.tree.vo.CommentTree;
 import com.gis.common.base.entity.dto.PageDateDto;
 import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
+import com.gis.common.base.service.IBaseService;
 import com.gis.common.constant.TypeCode;
+import com.gis.common.util.BaseUtil;
 import com.gis.common.util.Result;
 import com.github.pagehelper.PageInfo;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -29,10 +35,8 @@ import java.util.Set;
  * Created by owen on 2020/3/11 0011 16:16
  */
 @Service
-public class CommentServiceImpl extends IBaseServiceImpl<CommentEntity, Long> implements CommentService {
+public class CommentServiceImpl extends ServiceImpl<CommentMapper, CommentEntity> implements CommentService {
 
-    @Autowired
-    private CommentMapper entityMapper;
 
     @Autowired
     private SensitiveService sensitiveService;
@@ -40,41 +44,69 @@ public class CommentServiceImpl extends IBaseServiceImpl<CommentEntity, Long> im
     @Autowired
     IntegralService integralService;
 
-    @Override
-    public IBaseMapper<CommentEntity, Long> getBaseMapper() {
-        return this.entityMapper;
-    }
+    @Autowired
+    IBaseService iBaseService;
 
 
+
+//    @Override
+//    public Result search(PageDateDto param, Integer display) {
+//        startPage(param);
+//        PageInfo<CommentVo> page = new PageInfo<>(entityMapper.search(param, display));
+//        return Result.success(page);
+//    }
+
     @Override
-    public Result<PageInfo<CommentVo>> search(PageDateDto param, Integer display) {
-        startPage(param);
-        PageInfo<CommentVo> page = new PageInfo<>(entityMapper.search(param, display));
-        return Result.success(page);
+    public Result<Page<CommentVo>> search(PageDateDto param, Integer display) {
+        BaseUtil.startPage(param);
+        IPage<CommentEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
+
+        LambdaQueryWrapper<CommentEntity> wrapper = new LambdaQueryWrapper<>();
+        String searchKey = param.getSearchKey();
+        if (StringUtils.isNotBlank(searchKey)) {
+            searchKey = StringUtils.trim(searchKey);
+            wrapper.like(CommentEntity::getContent, searchKey);
+        }
+
+        String startTime = param.getStartTime();
+        String endTime = param.getEndTime();
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)){
+            wrapper.between(CommentEntity::getCreateTime, startTime, endTime);
+        }
+
+        if (display != null){
+            wrapper.eq(CommentEntity::getDisplay, display);
+        }
+
+        wrapper.orderByDesc(CommentEntity::getCreateTime);
+
+        return Result.success(this.page(page, wrapper));
     }
 
+
     @Override
     public Integer countFindByDate(LocalDate now) {
-        return entityMapper.countFindByDate(now);
+        return baseMapper.countFindByDate(now);
     }
 
     @Override
     public Result remove(Long id) {
-        CommentEntity entity = this.findById(id);
+        CommentEntity entity = this.getById(id);
         if (entity == null) {
             return Result.success();
         }
         // db数据软删除, 物理数据真删除
         entity.setIsDelete(1);
         entity.setUpdateTime(LocalDateTime.now());
-        this.update(entity);
+        this.updateById(entity);
         return Result.success();
     }
 
     @Override
     public Result saveEntity(CommentDto param) {
         CommentEntity entity = new CommentEntity();
-        Long userId = getTokenUserId();
+//        Long userId = getTokenUserId();
+        Long userId = iBaseService.getUserId();
         BeanUtils.copyProperties(param, entity);
         entity.setUserId(userId);
         this.save(entity);
@@ -86,9 +118,10 @@ public class CommentServiceImpl extends IBaseServiceImpl<CommentEntity, Long> im
 
     @Override
     public Result<CommentVo> voListTree(PageDateDto param, Integer display) {
-        startPage(param);
+//        startPage(param);
 
-        List<CommentVo> search = entityMapper.search(param, display);
+        BaseUtil.startPage(param);
+        List<CommentVo> search = baseMapper.search(param, display);
 
         Set<Object> filterKey = sensitiveService.getFilterKey();
         CommentTreeUtil commentTreeUtil = new CommentTreeUtil(search, filterKey);
@@ -100,7 +133,7 @@ public class CommentServiceImpl extends IBaseServiceImpl<CommentEntity, Long> im
 
     @Override
     public Result<CommentEntity> detail(Long id) {
-        CommentEntity entity = entityMapper.detailMapper(id);
+        CommentEntity entity = baseMapper.detailMapper(id);
         return Result.success(entity);
     }
 }

+ 1 - 2
gis_cms/src/main/java/com/gis/cms/service/impl/FileServiceImpl.java

@@ -6,7 +6,6 @@ import com.gis.cms.entity.po.FileEntity;
 import com.gis.cms.mapper.FileMapper;
 import com.gis.common.base.exception.BaseRuntimeException;
 import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.util.RegexUtil;
 import com.gis.cms.service.FileService;
 import lombok.extern.slf4j.Slf4j;
@@ -27,7 +26,7 @@ import java.util.Map;
  */
 @Slf4j
 @Service
-public class FileServiceImpl extends IBaseServiceImpl<FileEntity, Long> implements FileService {
+public class FileServiceImpl extends ServiceImpl<FileEntity, Long> implements FileService {
 
     @Autowired
     private FileMapper entityMapper;

+ 1 - 3
gis_cms/src/main/java/com/gis/cms/service/impl/GoodsServiceImpl.java

@@ -6,13 +6,11 @@ import com.gis.cms.entity.dto.AuditDto;
 import com.gis.cms.entity.dto.GoodsDto;
 import com.gis.cms.entity.dto.TypePageDateDto;
 import com.gis.cms.entity.po.AuditLogEntity;
-import com.gis.cms.entity.po.CommentEntity;
 import com.gis.cms.entity.po.FileEntity;
 import com.gis.cms.entity.po.GoodsEntity;
 import com.gis.cms.mapper.GoodsMapper;
 import com.gis.common.base.exception.BaseRuntimeException;
 import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.constant.MsgCode;
 import com.gis.common.constant.TypeCode;
 import com.gis.common.util.RegexUtil;
@@ -42,7 +40,7 @@ import java.util.Map;
  */
 @Slf4j
 @Service
-public class GoodsServiceImpl extends IBaseServiceImpl<GoodsEntity, Long> implements GoodsService {
+public class GoodsServiceImpl extends ServiceImpl<GoodsEntity, Long> implements GoodsService {
 
     @Autowired
     private GoodsMapper entityMapper;

+ 1 - 5
gis_cms/src/main/java/com/gis/cms/service/impl/MartyrServiceImpl.java

@@ -4,13 +4,11 @@ import com.gis.cms.entity.dto.AuditDto;
 import com.gis.cms.entity.dto.MartyrDto;
 import com.gis.cms.entity.dto.StatusPageDataDto;
 import com.gis.cms.entity.po.AuditLogEntity;
-import com.gis.cms.entity.po.GoodsEntity;
 import com.gis.cms.entity.po.MartyrEntity;
 import com.gis.cms.mapper.MartyrMapper;
 import com.gis.cms.service.AuditLogService;
 import com.gis.common.base.exception.BaseRuntimeException;
 import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.constant.MsgCode;
 import com.gis.common.constant.TypeCode;
 import com.gis.common.util.Result;
@@ -25,8 +23,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 import tk.mybatis.mapper.entity.Condition;
 
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
 import java.util.List;
 
@@ -36,7 +32,7 @@ import java.util.List;
  */
 @Slf4j
 @Service
-public class MartyrServiceImpl extends IBaseServiceImpl<MartyrEntity, Long> implements MartyrService {
+public class MartyrServiceImpl extends ServiceImpl<MartyrEntity, Long> implements MartyrService {
 
     @Autowired
     private MartyrMapper entityMapper;

+ 1 - 2
gis_cms/src/main/java/com/gis/cms/service/impl/MournServiceImpl.java

@@ -9,7 +9,6 @@ import com.gis.cms.service.SensitiveService;
 import com.gis.common.base.exception.BaseRuntimeException;
 import com.gis.common.base.entity.dto.PageDateDto;
 import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.constant.MsgCode;
 import com.gis.common.constant.TypeCode;
 import com.gis.common.util.MyStrUtil;
@@ -29,7 +28,7 @@ import java.util.Set;
  * Created by owen on 2020/3/11 0011 16:16
  */
 @Service
-public class MournServiceImpl extends IBaseServiceImpl<MournEntity, Long> implements MournService {
+public class MournServiceImpl extends ServiceImpl<MournEntity, Long> implements MournService {
 
     @Autowired
     private MournMapper entityMapper;

+ 1 - 5
gis_cms/src/main/java/com/gis/cms/service/impl/NewsServiceImpl.java

@@ -6,13 +6,11 @@ import com.gis.cms.entity.dto.AuditDto;
 import com.gis.cms.entity.dto.NewsDto;
 import com.gis.cms.entity.dto.NewsPageDataDto;
 import com.gis.cms.entity.po.AuditLogEntity;
-import com.gis.cms.entity.po.MartyrEntity;
 import com.gis.cms.entity.po.NewsEntity;
 import com.gis.cms.mapper.NewsMapper;
 import com.gis.cms.service.AuditLogService;
 import com.gis.common.base.exception.BaseRuntimeException;
 import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.constant.MsgCode;
 import com.gis.common.constant.TypeCode;
 import com.gis.common.util.RegexUtil;
@@ -28,8 +26,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 import tk.mybatis.mapper.entity.Condition;
 
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -41,7 +37,7 @@ import java.util.List;
  */
 @Slf4j
 @Service
-public class NewsServiceImpl extends IBaseServiceImpl<NewsEntity, Long> implements NewsService {
+public class NewsServiceImpl extends ServiceImpl<NewsEntity, Long> implements NewsService {
 
     @Autowired
     private NewsMapper entityMapper;

+ 1 - 4
gis_cms/src/main/java/com/gis/cms/service/impl/QuestionAnswerServiceImpl.java

@@ -6,7 +6,6 @@ import com.gis.cms.entity.po.QuestionAnswerEntity;
 import com.gis.cms.mapper.QuestionAnswerMapper;
 import com.gis.cms.mapper.RaceMapper;
 import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.constant.MsgCode;
 import com.gis.common.util.Result;
 import com.gis.cms.service.AuditLogService;
@@ -17,8 +16,6 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
@@ -29,7 +26,7 @@ import java.util.List;
  * Created by owen on 2020/3/11 0011 16:16
  */
 @Service
-public class QuestionAnswerServiceImpl extends IBaseServiceImpl<QuestionAnswerEntity, Long> implements QuestionAnswerService {
+public class QuestionAnswerServiceImpl extends ServiceImpl<QuestionAnswerEntity, Long> implements QuestionAnswerService {
 
     @Autowired
     private QuestionAnswerMapper entityMapper;

+ 1 - 6
gis_cms/src/main/java/com/gis/cms/service/impl/QuestionGroupServiceImpl.java

@@ -4,7 +4,6 @@ import com.gis.cms.entity.dto.AuditDto;
 import com.gis.cms.entity.dto.QuestionGroupDto;
 import com.gis.cms.entity.dto.StatusPageDataDto;
 import com.gis.cms.entity.po.AuditLogEntity;
-import com.gis.cms.entity.po.GoodsEntity;
 import com.gis.cms.entity.po.QuestionAnswerEntity;
 import com.gis.cms.entity.po.QuestionGroupEntity;
 import com.gis.cms.mapper.QuestionGroupMapper;
@@ -13,7 +12,6 @@ import com.gis.cms.service.QuestionAnswerService;
 import com.gis.cms.service.QuestionGroupService;
 import com.gis.common.base.exception.BaseRuntimeException;
 import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.constant.MsgCode;
 import com.gis.common.constant.TypeCode;
 import com.gis.common.util.Result;
@@ -25,13 +23,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import tk.mybatis.mapper.entity.Condition;
 
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-import java.util.stream.Collectors;
 
 
 /**
@@ -39,7 +34,7 @@ import java.util.stream.Collectors;
  */
 @Slf4j
 @Service
-public class QuestionGroupServiceImpl extends IBaseServiceImpl<QuestionGroupEntity, Long> implements QuestionGroupService {
+public class QuestionGroupServiceImpl extends ServiceImpl<QuestionGroupEntity, Long> implements QuestionGroupService {
 
     @Autowired
     private QuestionGroupMapper entityMapper;

+ 1 - 2
gis_cms/src/main/java/com/gis/cms/service/impl/QuestionUserServiceImpl.java

@@ -7,7 +7,6 @@ import com.gis.cms.mapper.QuestionUserMapper;
 import com.gis.cms.service.QuestionAnswerService;
 import com.gis.cms.service.QuestionUserService;
 import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.constant.TypeCode;
 import com.gis.common.util.Result;
 import org.springframework.beans.BeanUtils;
@@ -21,7 +20,7 @@ import java.util.List;
  * Created by owen on 2021/6/28 0011 16:16
  */
 @Service
-public class QuestionUserServiceImpl extends IBaseServiceImpl<QuestionUserEntity, Long> implements QuestionUserService {
+public class QuestionUserServiceImpl extends ServiceImpl<QuestionUserEntity, Long> implements QuestionUserService {
 
     @Autowired
     private QuestionUserMapper entityMapper;

+ 1 - 2
gis_cms/src/main/java/com/gis/cms/service/impl/RaceServiceImpl.java

@@ -6,7 +6,6 @@ import com.gis.cms.entity.po.RaceEntity;
 import com.gis.cms.mapper.RaceMapper;
 import com.gis.cms.service.RaceService;
 import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.constant.MsgCode;
 import com.gis.common.constant.TypeCode;
 import com.gis.common.util.Result;
@@ -25,7 +24,7 @@ import java.util.List;
  */
 @Slf4j
 @Service
-public class RaceServiceImpl extends IBaseServiceImpl<RaceEntity, Long> implements RaceService {
+public class RaceServiceImpl extends ServiceImpl<RaceEntity, Long> implements RaceService {
 
 
     @Autowired

+ 1 - 7
gis_cms/src/main/java/com/gis/cms/service/impl/SensitiveServiceImpl.java

@@ -1,15 +1,11 @@
 package com.gis.cms.service.impl;
 
-import com.gis.cms.entity.dto.ContentDto;
 import com.gis.cms.entity.dto.SensitiveDto;
 import com.gis.cms.entity.po.SensitiveEntity;
 import com.gis.cms.mapper.SensitiveMapper;
 import com.gis.common.base.entity.dto.PageDto;
 import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.util.Result;
-import com.gis.cms.service.AuditLogService;
-import com.gis.cms.service.FileService;
 import com.gis.cms.service.SensitiveService;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
@@ -20,8 +16,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import tk.mybatis.mapper.entity.Condition;
 
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
 import java.util.Arrays;
 import java.util.List;
@@ -33,7 +27,7 @@ import java.util.Set;
  */
 @Slf4j
 @Service
-public class SensitiveServiceImpl extends IBaseServiceImpl<SensitiveEntity, Long> implements SensitiveService {
+public class SensitiveServiceImpl extends ServiceImpl<SensitiveEntity, Long> implements SensitiveService {
 
     @Autowired
     private SensitiveMapper entityMapper;

+ 15 - 10
gis_common/pom.xml

@@ -72,6 +72,11 @@
             <artifactId>druid-spring-boot-starter</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+        </dependency>
+
         <!-- knife4j aip 包-->
         <dependency>
             <groupId>com.github.xiaoymin</groupId>
@@ -90,18 +95,18 @@
         </dependency>
 
 
-        <!--tk.mybatis 依赖-->
-        <dependency>
-            <groupId>tk.mybatis</groupId>
-            <artifactId>mapper-spring-boot-starter</artifactId>
-        </dependency>
+        <!--&lt;!&ndash;tk.mybatis 依赖&ndash;&gt;-->
+        <!--<dependency>-->
+            <!--<groupId>tk.mybatis</groupId>-->
+            <!--<artifactId>mapper-spring-boot-starter</artifactId>-->
+        <!--</dependency>-->
 
 
-        <!--分页插件-->
-        <dependency>
-            <groupId>com.github.pagehelper</groupId>
-            <artifactId>pagehelper-spring-boot-starter</artifactId>
-        </dependency>
+        <!--&lt;!&ndash;分页插件&ndash;&gt;-->
+        <!--<dependency>-->
+            <!--<groupId>com.github.pagehelper</groupId>-->
+            <!--<artifactId>pagehelper-spring-boot-starter</artifactId>-->
+        <!--</dependency>-->
 
         <!-- jwt -->
         <dependency>

+ 3 - 1
gis_common/src/main/java/com/gis/common/base/entity/po/LogEntity.java

@@ -1,5 +1,6 @@
 package com.gis.common.base.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -13,7 +14,8 @@ import java.io.Serializable;
 @NoArgsConstructor                 //无参构造
 @AllArgsConstructor                //有参构造
 @Data
-@Table(name = "tb_log")
+//@Table(name = "tb_log")
+@TableName("tb_log")
 public class LogEntity extends BaseEntity implements Serializable {
 
 

+ 7 - 2
gis_common/src/main/java/com/gis/common/base/mapper/LogMapper.java

@@ -1,6 +1,9 @@
 package com.gis.common.base.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gis.common.base.entity.dto.PageDateDto;
 import com.gis.common.base.entity.po.LogEntity;
 import com.gis.common.base.entity.vo.LogVo;
@@ -13,11 +16,13 @@ import java.util.List;
 
 @Component
 @Mapper
-public interface LogMapper extends IBaseMapper<LogEntity, Long> {
+public interface LogMapper extends BaseMapper<LogEntity> {
 
     /**
      * 注意日期,需要传字符串类型
      */
+//    @SelectProvider(type = LogProvider.class, method = "findBySearchKey")
+//    List<LogVo> search(PageDateDto param);
     @SelectProvider(type = LogProvider.class, method = "findBySearchKey")
-    List<LogVo> search(PageDateDto param);
+    Page<LogVo> search(PageDateDto param, IPage<LogEntity> page);
 }

+ 19 - 0
gis_common/src/main/java/com/gis/common/base/mapper/provider/BaseProvider.java

@@ -0,0 +1,19 @@
+package com.gis.common.base.mapper.provider;
+
+
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * Created by owen on 2022/2/9.
+ */
+@Slf4j
+public class BaseProvider {
+
+    public String runSql(String sqlStr){
+        log.info("runSql: {}", sqlStr);
+        return sqlStr;
+    }
+
+
+
+}

+ 26 - 33
gis_common/src/main/java/com/gis/common/base/service/IBaseService.java

@@ -1,51 +1,44 @@
 package com.gis.common.base.service;
 
-import com.gis.common.util.Result;
-import com.github.pagehelper.PageInfo;
-import tk.mybatis.mapper.entity.Condition;
+import com.gis.common.util.JwtUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
-import java.io.Serializable;
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 
-public interface IBaseService<T, ID extends Serializable> {
+/**
+ * Created by owen on 2021/12/29 0029 14:12
+ */
+@Component
+public class IBaseService {
 
-    public abstract T findById(ID id);
+    @Autowired
+    HttpServletRequest request;
 
-    public abstract T findOne(T entity);
 
-    public abstract List<T> findByIds(String ids);
 
-    public abstract long count();
+    public String getToken(){
+        return request.getHeader("token");
+    }
 
-    public abstract boolean exists(ID id);
+    /**登录用户id*/
+    public Long getUserId(){
+       return JwtUtil.getUserId(getToken());
+    }
 
-    public abstract int save(T entity);
+    /**登录用户名*/
+    public String getUserName(){
+        return JwtUtil.getUsername(getToken());
+    }
 
-    public abstract int update(T entity);
+    /**登录用户角色*/
+    public List getUserRole(){
+        return JwtUtil.getUserRole(getToken());
+    }
 
-    public abstract int updateAll(T entity);
 
-    public abstract int deleteById(ID id);
 
-    public abstract int deleteByIds(String ids);
-
-    public abstract int delete(T entity);
-
-    public abstract List<T> findAll(Condition condition, String orderBy);
-
-    public abstract List<T> findAll(Condition condition);
-
-    public abstract List<T> findAll();
-
-    public abstract PageInfo<T> findAll(int pageNum, int pageSize);
-
-    public abstract PageInfo<T> findAll(int pageNum, int pageSize, String orderBy);
-
-    public abstract PageInfo<T> findAll(Condition condition, int pageNum, int pageSize);
-
-    public abstract PageInfo<T> findAll(Condition condition, int pageNum, int pageSize, String orderBy);
-
-    public abstract Result redisDel(String key);
 
 
 }

+ 2 - 3
gis_common/src/main/java/com/gis/common/base/service/LogService.java

@@ -1,18 +1,17 @@
 package com.gis.common.base.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.common.base.entity.dto.PageDateDto;
 import com.gis.common.base.entity.po.LogEntity;
-import com.gis.common.base.entity.vo.LogVo;
 import com.gis.common.util.Result;
 
-import java.util.List;
 
 
 /**
  * Created by owen on 2020/5/12 0011 16:14
  */
-public interface LogService extends IBaseService<LogEntity, Long> {
+public interface LogService extends IService<LogEntity> {
 
 
     Result search(PageDateDto param);

+ 0 - 251
gis_common/src/main/java/com/gis/common/base/service/impl/IBaseServiceImpl.java

@@ -1,251 +0,0 @@
-package com.gis.common.base.service.impl;
-
-import com.gis.common.base.entity.dto.PageDto;
-import com.gis.common.base.entity.po.BaseEntity;
-import com.gis.common.base.service.IBaseService;
-import com.gis.common.constant.ConfigConstant;
-import com.gis.common.base.mapper.IBaseMapper;
-import com.gis.common.util.FileUtils;
-import com.gis.common.util.JwtUtil;
-import com.gis.common.util.RedisUtil;
-import com.gis.common.util.Result;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.StringUtils;
-import tk.mybatis.mapper.entity.Condition;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.io.Serializable;
-import java.lang.reflect.ParameterizedType;
-import java.time.LocalDateTime;
-import java.util.List;
-
-/**
- * Created by owen on 2020/2/18 0018 11:22
- */
-@Slf4j
-public abstract class IBaseServiceImpl<T extends BaseEntity, ID extends Serializable> implements IBaseService<T, ID> {
-
-
-    @Autowired
-    public ConfigConstant configConstant;
-
-    @Autowired
-    public FileUtils fileUtils;
-
-    @Autowired
-    public HttpServletRequest request;
-
-    @Autowired
-    public RedisUtil redisUtil;
-
-
-    public abstract IBaseMapper<T, ID> getBaseMapper();
-
-    private Class<T> entityClass;
-
-    public IBaseServiceImpl(){
-        ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
-        entityClass = (Class<T>) pt.getActualTypeArguments()[0];
-    }
-
-    @Override
-    public T findById(ID id){
-        Condition condition = new Condition(entityClass);
-        condition.createCriteria().andEqualTo("id", id);
-        condition.and().andEqualTo("isDelete", 0);
-        List<T> ts = getBaseMapper().selectByCondition(condition);
-        if (ts != null && ts.size() > 0){
-            return ts.get(0);
-        }else{
-            return null;
-        }
-    }
-
-    @Override
-    public T findOne(T entity){
-        entity.setIsDelete(0);
-        return getBaseMapper().selectOne(entity);
-    }
-
-    @Override
-    public List<T> findAll(){
-        Condition condition = new Condition(entityClass);
-        condition.and().andEqualTo("isDelete", 0);
-        return getBaseMapper().selectByCondition(condition);
-    }
-
-    /**
-     * 根据主键字符串进行查询,类中只有存在一个带有@Id注解的字段
-     *
-     * @param ids 如 "1,2,3,4"
-     * @return
-     */
-    @Override
-    public List<T> findByIds(String ids){
-        return getBaseMapper().selectByIds(ids);
-    }
-
-    @Override
-    public long count(){
-        List<T> all = this.findAll();
-        if (all != null && all.size() > 0){
-            return all.size();
-        }
-        return 0;
-    }
-
-    @Override
-    public boolean exists(ID id){
-        return getBaseMapper().existsWithPrimaryKey(id);
-    }
-
-    @Override
-    public int save(T entity) {
-        //migration之后要删掉判断
-        if (entity.getCreateTime() == null){
-            entity.setCreateTime(LocalDateTime.now());
-        }
-        if (entity.getUpdateTime() == null){
-            entity.setUpdateTime(LocalDateTime.now());
-        }
-        entity.setIsDelete(0);
-        return getBaseMapper().insertSelective(entity);
-    }
-
-    @Override
-    public int update(T entity) {
-        //migration之后要删掉判断
-        if (entity.getUpdateTime() == null){
-            entity.setUpdateTime(LocalDateTime.now());
-        }
-        return getBaseMapper().updateByPrimaryKeySelective(entity);
-    }
-
-    @Override
-    public int updateAll(T entity) {
-        //migration之后要删掉判断
-        if (entity.getUpdateTime() == null){
-            entity.setUpdateTime(LocalDateTime.now());
-        }
-        return getBaseMapper().updateByPrimaryKey(entity);
-    }
-
-    @Override
-    public int deleteById(ID id) {
-        return getBaseMapper().deleteByPrimaryKey(id);
-    }
-
-    @Override
-    public int deleteByIds(String ids){
-        return getBaseMapper().deleteByIds(ids);
-    }
-
-    @Override
-    public int delete(T entity){
-        return getBaseMapper().delete(entity);
-    }
-
-    public List<T> findAll(Condition condition){
-        condition.and().andEqualTo("isDelete", 0);
-        return getBaseMapper().selectByCondition(condition);
-    }
-
-    /**
-     *
-     * @param condition
-     * @param orderBy 数据库字段名称 , 倒序(create_time desc)
-     * @return
-     */
-    public List<T> findAll(Condition condition, String orderBy){
-        condition.and().andEqualTo("isDelete", 0);
-        if (!StringUtils.isEmpty(orderBy)){
-            PageHelper.orderBy(orderBy);
-        }
-        return getBaseMapper().selectByCondition(condition);
-    }
-
-    public PageInfo<T> findAll(int pageNum, int pageSize){
-        PageHelper.startPage(pageNum, pageSize);
-        return new PageInfo<>(this.findAll());
-    }
-
-    public PageInfo<T> findAll(int pageNum, int pageSize, String orderBy){
-        PageHelper.startPage(pageNum, pageSize);
-        if (!StringUtils.isEmpty(orderBy)){
-            PageHelper.orderBy(orderBy);
-        }
-        return new PageInfo<>(this.findAll());
-    }
-
-    public PageInfo<T> findAll(Condition condition, int pageNum, int pageSize){
-        PageHelper.startPage(pageNum, pageSize);
-        return new PageInfo<>(this.findAll(condition));
-    }
-
-    public PageInfo<T> findAll(Condition condition, int pageNum, int pageSize, String orderBy){
-        PageHelper.startPage(pageNum, pageSize);
-        if (!StringUtils.isEmpty(orderBy)){
-            PageHelper.orderBy(orderBy);
-        }
-        return new PageInfo<>(this.findAll(condition));
-    }
-
-
-    public Result redisDel(String key){
-        redisUtil.del(key);
-        return Result.success();
-    }
-
-
-    /**
-     * 设置请求分页数据
-     */
-    public void startPage(PageDto param){
-        Integer pageNum = param.getPageNum();
-        Integer pageSize = param.getPageSize();
-        if (pageNum == null || pageNum <= 0) {
-            pageNum = 0;
-        }
-        if (pageSize == null || pageSize <= 0) {
-            pageSize = 10;
-        }
-        PageHelper.startPage(pageNum, pageSize);
-    }
-
-    /** 获取用户id*/
-    public Long getTokenUserId(){
-        return JwtUtil.getUserId(getToken());
-    }
-
-    public List getTokenRole(){
-        return JwtUtil.getUserRole(getToken());
-    }
-
-
-    /** 获取用户名称*/
-   public String getTokenUserName(){
-        return JwtUtil.getUsername(getToken());
-    }
-
-
-    /** 获取header token */
-//    public String getToken(){
-//        return request.getHeader("token");
-//    }
-
-    public String getToken(){
-        String token = request.getHeader("token");
-        if (token == null){
-            log.warn("请求头header token 为空");
-            return null;
-        }
-        return token;
-    }
-
-}

+ 8 - 18
gis_common/src/main/java/com/gis/common/base/service/impl/LogServiceImpl.java

@@ -1,39 +1,29 @@
 package com.gis.common.base.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gis.common.base.mapper.LogMapper;
 import com.gis.common.base.service.LogService;
 import com.gis.common.base.entity.dto.PageDateDto;
 import com.gis.common.base.entity.po.LogEntity;
-import com.gis.common.base.entity.vo.LogVo;
-import com.gis.common.base.mapper.IBaseMapper;
+import com.gis.common.util.BaseUtil;
 import com.gis.common.util.Result;
-import com.github.pagehelper.PageInfo;
-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;
-    }
-
+public class LogServiceImpl extends ServiceImpl<LogMapper, LogEntity> implements LogService {
 
     @Override
     public Result search(PageDateDto param) {
-        startPage(param);
+        BaseUtil.startPage(param);
+        IPage<LogEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
 
-//        PageInfo<SysUserEntity> page = new PageInfo<>(this.findAll());
-        return Result.success(new PageInfo<>(entityMapper.search(param)));
+        return Result.success((getBaseMapper().search(param, page)));
     }
 }

+ 20 - 0
gis_common/src/main/java/com/gis/common/util/BaseUtil.java

@@ -0,0 +1,20 @@
+package com.gis.common.util;
+
+import com.gis.common.base.entity.dto.PageDto;
+
+/**
+ * Created by owen on 2021/12/7 0007 16:21
+ */
+public class BaseUtil {
+
+    public static void startPage(PageDto param){
+        Integer pageNum = param.getPageNum();
+        Integer pageSize = param.getPageSize();
+        if (pageNum == null || pageNum <= 0) {
+            param.setPageNum(0);
+        }
+        if (pageSize == null || pageSize <= 0) {
+            param.setPageSize(10);
+        }
+    }
+}

+ 26 - 0
gis_pano/pom.xml

@@ -0,0 +1,26 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <artifactId>army_fuzhou</artifactId>
+        <groupId>com.gis</groupId>
+        <version>1.0.0</version>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>gis_pano</artifactId>
+    <packaging>jar</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.gis</groupId>
+            <artifactId>gis_admin</artifactId>
+        </dependency>
+
+    </dependencies>
+
+
+
+
+
+</project>

+ 49 - 0
gis_pano/src/main/java/com/gis/cms/controller/FodderController.java

@@ -0,0 +1,49 @@
+package com.gis.cms.controller;
+
+import com.gis.cms.entity.dto.FodderDto;
+import com.gis.cms.entity.po.FodderEntity;
+import com.gis.cms.service.FodderService;
+import com.gis.common.base.entity.dto.PageDto;
+import com.gis.common.util.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+
+/**
+ * Created by owen on 2022/3/28 0028 11:38
+ */
+@Api(tags = "p-场景管理(素材库)")
+@RestController
+@RequestMapping("/cms/fodder")
+public class FodderController {
+
+    @Autowired
+    FodderService entityService;
+
+    @ApiOperation(value = "列表")
+    @PostMapping("list")
+    public Result<FodderEntity> list(@RequestBody PageDto param) {
+        return entityService.search(param);
+    }
+
+    @ApiOperation(value = "删除")
+    @GetMapping("remove/{id}")
+    public Result remove(@PathVariable String id) {
+        return entityService.remove(id);
+    }
+
+    @ApiOperation(value = "详情(支持批量)")
+    @GetMapping("detail/{id}")
+    public Result<FodderEntity> detail(@PathVariable String id) {
+        return entityService.detail(id);
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("update")
+    public Result update(@RequestBody FodderDto param) {
+        return entityService.updateEntity(param);
+    }
+
+}

+ 47 - 0
gis_pano/src/main/java/com/gis/cms/controller/OpsController.java

@@ -0,0 +1,47 @@
+//package com.gis.cms.controller;
+//
+//import com.gis.cms.entity.po.WorkEntity;
+//import com.gis.cms.service.OpsService;
+//import com.gis.common.util.Result;
+//import io.swagger.annotations.Api;
+//import io.swagger.annotations.ApiOperation;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.web.bind.annotation.*;
+//
+///**
+// * Created by owen on 2022/3/29 0029 10:19
+// */
+//@Api(tags = "ops-项目运维-免token")
+//@RestController
+//@RequestMapping("/api/ops")
+//public class OpsController {
+//
+//    @Autowired
+//    OpsService entityService;
+//
+//    @ApiOperation(value = "下载-作品目录", notes = "支持批量导出, 多个作品id, 用逗号分隔")
+//    @GetMapping("/downloadWork/{ids}")
+//    public Result<WorkEntity> downloadWork(@PathVariable String ids) {
+//        return entityService.downloadWork(ids);
+//    }
+//
+//    @ApiOperation(value = "下载-根据作品id下载全景图目录", notes = "根据作品id, 多个作品id, 用逗号分隔")
+//    @GetMapping("/downloadPano/{ids}")
+//    public Result<WorkEntity> downloadPano(@PathVariable String ids) {
+//        return entityService.downloadPano(ids);
+//    }
+//
+//    @ApiOperation(value = "根据作品码合并tourXml", notes = "返回值直接下载结果文件")
+//    @GetMapping("/mergeTour/{workId}")
+//    public Result mergeTour(@PathVariable String workId) {
+//        return entityService.mergeTour(workId);
+//    }
+//
+//    @ApiOperation(value = "根据作品码打包数据", notes = "返回值直接下载结果文件")
+//    @GetMapping("/pack/{workId}")
+//    public Result pack(@PathVariable String workId) {
+//        return entityService.pack(workId);
+//    }
+//
+//
+//}

+ 106 - 0
gis_pano/src/main/java/com/gis/cms/controller/WorkController.java

@@ -0,0 +1,106 @@
+package com.gis.cms.controller;
+
+
+import com.gis.cms.entity.dto.SomeDataDto;
+import com.gis.cms.entity.dto.WorkDto;
+import com.gis.cms.entity.po.WorkEntity;
+import com.gis.cms.service.WorkService;
+import com.gis.common.base.entity.dto.PageDto;
+import com.gis.common.util.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.validation.Valid;
+
+
+/**
+ * Created by owen on 2022/3/25 0018 12:17
+ *
+ * 先创建一个默认的作品
+ * 初创场景:放到场景码目录,固定命名:xxx_thumb.jpg
+ */
+@Api(tags = "p-我的作品")
+@RestController
+@RequestMapping("/cms/work")
+public class WorkController  {
+
+    @Autowired
+    WorkService workService;
+
+
+
+    @ApiOperation(value = "列表", position = 1)
+    @PostMapping("list")
+    public Result<WorkEntity> list(@RequestBody PageDto param) {
+        return workService.search(param);
+    }
+
+
+    @ApiOperation(value = "新增(空对象)", position = 1)
+    @PostMapping("add")
+    public Result<WorkEntity> add() {
+        return workService.entityAdd();
+    }
+
+
+    @ApiOperation(value = "修改作品信息", position = 1)
+    @PostMapping("save")
+    public Result<WorkEntity> save(@RequestBody WorkDto param) {
+        return workService.entitySave(param);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @ApiOperation(value = "修改someData", position = 1)
+    @PostMapping("edit")
+    public Result<WorkEntity> edit(@Valid @RequestBody SomeDataDto param) {
+        return workService.edit(param);
+    }
+
+
+    @ApiOperation(value = "删除", position = 1)
+    @PostMapping("remove/{id}")
+    public Result remove(@PathVariable String id) {
+        return workService.remove(id);
+    }
+
+//    @ApiOperation(value = "选择三维场景", position = 1)
+//    @PostMapping("select/4dkk/{workId}")
+//    public Result select4dkk(@RequestBody PageDto param, @PathVariable String workId) {
+//        return workService.select4dkk(param, workId);
+//    }
+
+
+    @ApiOperation(value = "上传-文件(文件固定命名)", notes = "上传资料会放到场景码的跟目录, 文件固定命名, 场景码:必传")
+    @PostMapping(value = "uploadFix/{sceneCode}")
+    public Result uploadFix(@RequestParam("file") MultipartFile file, @PathVariable String sceneCode) {
+        return workService.uploadFix(file, sceneCode);
+    }
+
+    @ApiOperation(value = "普通上传-文件(后端用时间戳命名)", notes = "场景码:必传")
+    @PostMapping(value = "upload/{sceneCode}")
+    public Result upload(@RequestParam("file") MultipartFile file, @PathVariable String sceneCode) {
+        return workService.upload(file, sceneCode);
+    }
+
+    @ApiOperation(value = "上传-作品文件上传(文件固定命名)", notes = "上传资料会放到场景码的跟目录, 文件固定命名, 作品码:必传")
+    @PostMapping(value = "uploadFixByWork/{workId}")
+    public Result uploadFixByWork(@RequestParam("file") MultipartFile file, @PathVariable String workId) {
+        return workService.uploadFixByWork(file, workId);
+    }
+
+
+    @ApiOperation(value = "检查作品token是否有效" , position = 3)
+    @GetMapping("checkToken/{workId}")
+    public Result checkToken(@PathVariable String workId) {
+        return workService.checkToken(workId);
+
+    }
+
+
+
+
+}

+ 23 - 0
gis_pano/src/main/java/com/gis/cms/entity/dto/FodderDto.java

@@ -0,0 +1,23 @@
+package com.gis.cms.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.Size;
+
+/**
+ * Created by owen on 2021/2/23 0023 16:39
+ */
+@Data
+public class FodderDto {
+
+    @ApiModelProperty(value = "id, 修改时必须传,新增忽略", name = "id")
+    private Long id;
+
+    @Size(max = 50, message = "长度不能大于50位")
+    @ApiModelProperty(value = "名称")
+    private String name;
+
+    @ApiModelProperty(value = "封面图")
+    private String icon;
+}

+ 26 - 0
gis_pano/src/main/java/com/gis/cms/entity/dto/SomeDataDto.java

@@ -0,0 +1,26 @@
+package com.gis.cms.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * Created by owen on 2021/2/22 0028 16:36
+ */
+@Data
+public class SomeDataDto {
+
+    @ApiModelProperty(value = "id, 修改时必须传,新增忽略", name = "id")
+    private String id;
+
+
+    @NotBlank(message = "someData不能为空")
+    @ApiModelProperty(value = "静态文件信息", required = true)
+    private String someData;
+
+
+
+
+
+}

+ 25 - 0
gis_pano/src/main/java/com/gis/cms/entity/dto/WorkDto.java

@@ -0,0 +1,25 @@
+package com.gis.cms.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by owen on 2021/2/22 0028 16:36
+ */
+@Data
+public class WorkDto {
+
+    @ApiModelProperty(value = "id, 修改时必须传,新增忽略", name = "id")
+    private String id;
+
+    @ApiModelProperty(value = "场景密码")
+    private String password;
+
+    @ApiModelProperty(value = "封面图")
+    private String icon;
+
+
+
+
+
+}

+ 66 - 0
gis_pano/src/main/java/com/gis/cms/entity/po/FodderEntity.java

@@ -0,0 +1,66 @@
+package com.gis.cms.entity.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gis.common.base.entity.po.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@TableName(value = "tb_fodder")
+public class FodderEntity extends BaseEntity implements Serializable {
+    private static final long serialVersionUID = -1428200960867373738L;
+
+//    @ApiModelProperty(value = "名称")
+//    private String name;
+
+    @ApiModelProperty(value = "存放地址(数据目录)")
+    private String filePath;
+
+//    @ApiModelProperty(value = "oss存放地址")
+//    private String ossPath;
+
+    @ApiModelProperty(value = "状态 1:切图中, 2:失败, 3:完成")
+    private Integer status;
+
+//    @ApiModelProperty(value = "类型, 全景图:pano, 图片:image, 音频:audio, 视频:video")
+//    private String type;
+
+//    @ApiModelProperty(value = "创建人")
+//    private String userId;
+
+    @ApiModelProperty(value = "封面图")
+    private String icon;
+
+    @ApiModelProperty(value = "预览图(全景图使用)")
+    private String previewIcon;
+
+    @ApiModelProperty(value = "文件名")
+    private String fileName;
+
+    @ApiModelProperty(value = "文件大小,单位KB")
+    private String fileSize;
+
+    @ApiModelProperty(value = "场景码")
+    private String sceneCode;
+
+//    @ApiModelProperty(value = "分辨率")
+//    private String dpi;
+
+
+//    @Transient
+//    @ApiModelProperty(value = "该作品下的场景是否已使用")
+//    private Integer isUse = 0;
+
+    @ApiModelProperty(value = "上传临时用的id, 前端需要用")
+    private String tempId;
+
+    @ApiModelProperty(value = "创建者id")
+    private Long creatorId;
+
+
+
+
+
+}

+ 63 - 0
gis_pano/src/main/java/com/gis/cms/entity/po/WorkEntity.java

@@ -0,0 +1,63 @@
+package com.gis.cms.entity.po;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gis.common.base.entity.po.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * 作品表
+ */
+@Data
+@TableName(value = "tb_work")
+public class WorkEntity extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 6827754544317282072L;
+    @ApiModelProperty(value = "名称")
+    private String name;
+
+    @ApiModelProperty(value = "简介")
+    private String description;
+
+    @ApiModelProperty(value = "状态, 0:默认不显示, 1:显示")
+    private Integer status;
+
+//    @ApiModelProperty(value = "创建人")
+//    private String userId;
+
+    @ApiModelProperty(value = "封面图")
+    private String icon;
+
+    @ApiModelProperty(value = "访问量")
+    private Integer visit;
+
+    @JSONField(serialize = false)
+    @ApiModelProperty(value = "作品密码, 默认0:不需要密码")
+    private String password;
+
+
+    @ApiModelProperty(value = "二维码")
+    private String qrCode;
+
+    @ApiModelProperty(value = "分享地址(二维码扫描后地址)")
+    private String share;
+
+
+    @ApiModelProperty(value = "是否有密码,0:没有, 1:有")
+    private Integer isPassword;
+
+    /** 用来关联删除素材时使用*/
+    @ApiModelProperty(value = "场景码")
+    private String sceneCodes;
+
+    @ApiModelProperty(value = "创建者id")
+    private Long creatorId;
+
+
+
+}

+ 16 - 0
gis_pano/src/main/java/com/gis/cms/mapper/FodderMapper.java

@@ -0,0 +1,16 @@
+package com.gis.cms.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gis.cms.entity.po.FodderEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * Created by owen on 2022/2/23 0018 11:13
+ */
+@Component
+@Mapper
+public interface FodderMapper extends BaseMapper<FodderEntity> {
+
+}

+ 51 - 0
gis_pano/src/main/java/com/gis/cms/mapper/WorkMapper.java

@@ -0,0 +1,51 @@
+package com.gis.cms.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gis.cms.entity.po.WorkEntity;
+import com.gis.common.base.mapper.provider.BaseProvider;
+import org.apache.ibatis.annotations.*;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+
+@Component
+@Mapper
+public interface WorkMapper extends BaseMapper<WorkEntity> {
+
+
+
+    @SelectProvider(type = BaseProvider.class, method = "runSql")
+    List<WorkEntity> search(String strSql);
+
+    @Update("UPDATE tb_work SET visit= visit + 1 where id = #{id}")
+    void addVisit(String id);
+
+    @Select("select id, name, scene_codes from tb_work where is_delete = 0 and user_id = #{userId} and scene_codes like #{sceneCode}")
+    List<WorkEntity> likeSceneCode(String sceneCode, String userId);
+
+    /**
+     * for update 锁表更新完,才能进行更新,需要开启事务
+     * 并发量大作会出现脏数据
+     *
+     * @param id
+     * @return
+     */
+    @Select("select id, name, scene_codes, user_id from tb_work where is_delete = 0 and id = #{id} for update")
+    WorkEntity findByIdForUpdate(String id);
+
+
+    /***
+     * 2022-3-18
+     * 真删除无效时数据
+     * @param now
+     */
+    @Delete("delete from tb_work where status=0 and DATE_FORMAT( create_time, '%Y%m' ) <= DATE_FORMAT(#{now} , '%Y%m' )")
+    void delByTime(String now);
+
+
+    @SelectProvider(type = BaseProvider.class, method = "runSql")
+    List<Map> runSql(String strSql);
+}

+ 27 - 0
gis_pano/src/main/java/com/gis/cms/service/FodderService.java

@@ -0,0 +1,27 @@
+package com.gis.cms.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gis.cms.entity.dto.FodderDto;
+import com.gis.cms.entity.dto.SomeDataDto;
+import com.gis.cms.entity.po.FodderEntity;
+import com.gis.cms.entity.po.WorkEntity;
+import com.gis.common.base.entity.dto.PageDto;
+import com.gis.common.util.Result;
+import org.springframework.web.multipart.MultipartFile;
+
+
+/**
+ * Created by owen on 2020/3/11 0011 16:14
+ */
+public interface FodderService extends IService<FodderEntity> {
+
+
+    Result<FodderEntity> search(PageDto param);
+
+    Result remove(String id);
+
+    Result<FodderEntity> detail(String id);
+
+    Result updateEntity(FodderDto param);
+}

+ 21 - 0
gis_pano/src/main/java/com/gis/cms/service/OpsService.java

@@ -0,0 +1,21 @@
+//package com.gis.cms.service;
+//
+//
+//import com.gis.cms.entity.po.WorkEntity;
+//import com.gis.common.util.Result;
+//
+//
+///**
+// * Created by owen on 2020/3/11 0011 16:14
+// */
+//public interface OpsService  {
+//
+//
+//    Result<WorkEntity> downloadWork(String ids);
+//
+//    Result<WorkEntity> downloadPano(String ids);
+//
+//    Result mergeTour(String workId);
+//
+//    Result pack(String workId);
+//}

+ 50 - 0
gis_pano/src/main/java/com/gis/cms/service/WorkService.java

@@ -0,0 +1,50 @@
+package com.gis.cms.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gis.cms.entity.dto.SomeDataDto;
+import com.gis.cms.entity.dto.WorkDto;
+import com.gis.cms.entity.po.WorkEntity;
+import com.gis.common.base.entity.dto.PageDto;
+import com.gis.common.util.Result;
+import org.springframework.web.multipart.MultipartFile;
+
+
+
+/**
+ * Created by owen on 2020/3/11 0011 16:14
+ */
+public interface WorkService extends IService<WorkEntity> {
+
+
+    Result search(PageDto param);
+
+
+
+    Result<WorkEntity> entityAdd();
+
+    Result remove(String id);
+
+    Result edit(SomeDataDto param);
+
+
+
+    Result uploadFix(MultipartFile file, String sceneCode);
+
+
+
+
+    Result checkToken(String workId);
+
+    void addVisit(String id);
+
+    /**检查场景是否存在*/
+    boolean existBySceneCode(String sceneCode);
+
+
+    Result upload(MultipartFile file, String sceneCode);
+
+    Result uploadFixByWork(MultipartFile file, String workId);
+
+    Result<WorkEntity> entitySave(WorkDto param);
+}

+ 105 - 0
gis_pano/src/main/java/com/gis/cms/service/impl/FodderServiceImpl.java

@@ -0,0 +1,105 @@
+package com.gis.cms.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gis.cms.entity.dto.FodderDto;
+import com.gis.cms.entity.po.FodderEntity;
+import com.gis.cms.mapper.FodderMapper;
+import com.gis.cms.service.FodderService;
+import com.gis.cms.service.WorkService;
+import com.gis.common.base.entity.dto.PageDto;
+import com.gis.common.base.exception.BaseRuntimeException;
+import com.gis.common.constant.ConfigConstant;
+import com.gis.common.constant.ErrorEnum;
+import com.gis.common.util.BaseUtil;
+import com.gis.common.util.FileUtils;
+import com.gis.common.util.RedisUtil;
+import com.gis.common.util.Result;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+
+
+/**
+ * Created by owen on 2020/3/11 0011 16:16
+ */
+@Slf4j
+@Service
+public class FodderServiceImpl extends ServiceImpl<FodderMapper, FodderEntity> implements FodderService {
+
+
+    @Autowired
+    ConfigConstant configConstant;
+
+    @Autowired
+    IBaseService iBaseService;
+
+
+
+
+    @Autowired
+    FileUtils fileUtils;
+
+    @Autowired
+    RedisUtil redisUtil;
+
+    @Autowired
+    FodderMapper entityMapper;
+
+    @Autowired
+    WorkService workService;
+
+
+
+
+    @Override
+    public Result search(PageDto param) {
+        BaseUtil.startPage(param);
+        IPage<FodderEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
+        LambdaQueryWrapper<FodderEntity> wrapper = new LambdaQueryWrapper<> ();
+        wrapper.eq(FodderEntity::getCreatorId, iBaseService.getUserId());
+        String searchKey = param.getSearchKey();
+        if (StringUtils.isNotBlank(searchKey)){
+            wrapper.like(FodderEntity::getFileName, searchKey);
+        }
+        wrapper.orderByDesc(FodderEntity::getCreateTime);
+        IPage<FodderEntity> result = this.page(page, wrapper);
+        return Result.success(result);
+    }
+
+    @Override
+    public Result remove(String id) {
+
+            FodderEntity entity = this.getById(id);
+            // 检查场景是否被引用
+            boolean exist = workService.existBySceneCode(entity.getSceneCode());
+            BaseRuntimeException.isHas(exist, null, "此场景被作品使用中,不能删除");
+            // 真删除目录
+            fileUtils.del(entity.getFilePath());
+            this.removeById(id);
+
+        return Result.success();
+    }
+
+    @Override
+    public Result<FodderEntity> detail(String id) {
+        return Result.success(getById(id));
+    }
+
+    @Override
+    public Result updateEntity(FodderDto param) {
+        FodderEntity entity = this.getById(param.getId());
+        BaseRuntimeException.isNull(entity, ErrorEnum.FAILURE_SYS_2001);
+        BeanUtils.copyProperties(param, entity);
+        entity.setFileName(param.getName());
+        this.updateById(entity);
+        return Result.success();
+    }
+
+
+}

+ 305 - 0
gis_pano/src/main/java/com/gis/cms/service/impl/OpsServiceImpl.java

@@ -0,0 +1,305 @@
+//package com.gis.cms.service.impl;
+//
+//import cn.hutool.core.io.FileUtil;
+//import cn.hutool.core.util.StrUtil;
+//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+//import com.baomidou.mybatisplus.core.metadata.IPage;
+//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+//import com.gis.cms.entity.dto.FodderDto;
+//import com.gis.cms.entity.po.FodderEntity;
+//import com.gis.cms.entity.po.WorkEntity;
+//import com.gis.cms.mapper.FodderMapper;
+//import com.gis.cms.service.FodderService;
+//import com.gis.cms.service.OpsService;
+//import com.gis.cms.service.WorkService;
+//import com.gis.common.base.entity.dto.PageDto;
+//import com.gis.common.base.exception.BaseRuntimeException;
+//import com.gis.common.base.service.impl.IBaseService;
+//import com.gis.common.constant.CmdConstant;
+//import com.gis.common.constant.ConfigConstant;
+//import com.gis.common.constant.ErrorEnum;
+//import com.gis.common.util.*;
+//import lombok.extern.slf4j.Slf4j;
+//import org.apache.commons.lang3.StringUtils;
+//import org.junit.Test;
+//import org.springframework.beans.BeanUtils;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Service;
+//
+//import java.io.File;
+//import java.util.Arrays;
+//import java.util.List;
+//
+//
+///**
+// * Created by owen on 2020/3/11 0011 16:16
+// */
+//@Slf4j
+//@Service
+//public class OpsServiceImpl  implements OpsService {
+//
+//
+//    @Autowired
+//    ConfigConstant configConstant;
+//
+//    @Autowired
+//    WorkService workService;
+//
+//    @Autowired
+//    FileUtils fileUtils;
+//
+//
+//    @Override
+//    public Result<WorkEntity> downloadWork(String ids) {
+//        BaseRuntimeException.isBlank(ids, null, "输入参数为空");
+//        // 替换空格
+//        ids = StringUtils.replaceAll(ids, ",", " ");
+//        log.info("下载作品目录:{}", ids);
+//        String zipName = StrUtils.getTime("work_");
+//        zipName = "/download/" + zipName + ".zip";
+//
+//        String outPath = configConstant.serverBasePath + zipName;
+//        log.info("zip保存路径:{}", outPath);
+//        String cmd = CmdConstant.zip;
+//        cmd = cmd.replaceAll("@output", outPath);
+//        cmd = cmd.replaceAll("@workPace", configConstant.serverBasePath + "/work");
+//        cmd = cmd.replaceAll("@inDir", ids);
+//
+//        CmdUtils.callShLine(cmd, null);
+//
+//        return Result.success(zipName);
+//    }
+//
+//    @Override
+//    public Result<WorkEntity> downloadPano(String ids) {
+//        BaseRuntimeException.isBlank(ids, null, "输入参数为空");
+//        List<WorkEntity> list = workService.listByIds(Arrays.asList(ids));
+//        log.info("作品数量: {}", list.size());
+//        StringBuffer dir = new StringBuffer();
+//        for (WorkEntity entity : list) {
+//            String sceneCodes = entity.getSceneCodes();
+//            if (StringUtils.isNotBlank(sceneCodes)){
+//                dir.append(sceneCodes).append(",");
+//            }
+//        }
+//        String dirCode = dir.toString();
+//        // 替换空格
+//        dirCode = StringUtils.replaceAll(dirCode, ",", " ");
+////        dirCode = StringUtils.substringBeforeLast(dirCode, ",");
+//        log.info("下载全景目录:{}", dirCode);
+//        String zipName = StrUtils.getTime("pano_");
+//        zipName = "/download/" + zipName + ".zip";
+//
+//        String outPath = configConstant.serverBasePath + zipName;
+//        log.info("zip保存路径:{}", outPath);
+//        String cmd = CmdConstant.zip;
+//        cmd = cmd.replaceAll("@output", outPath);
+//        cmd = cmd.replaceAll("@workPace", configConstant.serverBasePath );
+//        cmd = cmd.replaceAll("@inDir", dirCode);
+//
+//        CmdUtils.callShLine(cmd, 100);
+//
+//
+//        return Result.success(zipName);
+//    }
+//
+//    @Override
+//    public Result mergeTour(String workId) {
+//        WorkEntity entity = workService.getById(workId);
+//        BaseRuntimeException.isNull(entity, ErrorEnum.FAILURE_SYS_2001);
+//        String sceneCodes = entity.getSceneCodes();
+//        log.info("场景码:{}", sceneCodes);
+//        BaseRuntimeException.isBlank(sceneCodes, null, "场景码为空, 不需要合并");
+//
+//        String[] split = sceneCodes.split(",");
+//
+//        // tourXml路径
+//        String downloadPath;
+//        String basePath = configConstant.serverBasePath;
+//        int size = split.length;
+//        log.info("场景数量: {}", size);
+//        BaseRuntimeException.isHas(size==0, null, "场景码为空, 不需要合并");
+//        String firstTourPath = File.separator + split[0] + "/vtour/tour.xml";
+//        if (size == 1){
+//            log.info("firstTourPath:{}", firstTourPath);
+//            downloadPath = firstTourPath;
+//        } else {
+//            // 获取scene标签集合
+//            StringBuffer sceneLabels = new StringBuffer();
+//            int i = 0;
+//            String tourPath;
+//            for (String sceneCode : split) {
+//                tourPath = basePath + File.separator + sceneCode + "/vtour/tour.xml";
+//                String scene = getSceneLabel(tourPath);
+//                sceneLabels.append(scene).append("\r\n");
+//                i++;
+//            }
+//            log.info("标签数量: {}", i );
+//
+//            // 获取第一个xml, 做为基础模板
+//            String firstXml = handleFirstXml(basePath + firstTourPath);
+//            // 合并
+//            StringBuffer buffer = new StringBuffer();
+//            buffer.append(firstXml).append(" ");
+//            buffer.append(sceneLabels).append(" ");
+//            buffer.append("</krpano>");
+//            // 保存路径
+//            downloadPath = "/download/" + workId + "_tour.xml";
+//            String savePath =  configConstant.serverBasePath + File.separator + downloadPath;
+//            FileUtil.writeUtf8String(buffer.toString(), savePath);
+//            log.info("合并完成,保存路径: {}", savePath);
+//
+//        }
+//        log.info("下载地址: {}", downloadPath);
+//
+//        return Result.success(downloadPath);
+//    }
+//
+//    @Override
+//    public Result pack(String workId) {
+//        // 复制作品目录
+//        WorkEntity entity = workService.getById(workId);
+//        BaseRuntimeException.isNull(entity, ErrorEnum.FAILURE_SYS_2001);
+//        copyWork(workId);
+//
+//        // 复制场景目录
+//        copyScene(workId, entity.getSceneCodes());
+//
+//        // 合并tour.xml
+//        mergeTour(workId, entity.getSceneCodes());
+//
+//        // 压缩
+//        zipWork(workId);
+//        String filePath = "/download/" + workId + ".zip";
+//        log.info("zip地址:{}", configConstant.serverBasePath + filePath);
+//        return Result.success(filePath);
+//    }
+//
+//    private void zipWork(String workId) {
+//        String outPath = configConstant.serverBasePath + "/download/" + workId +".zip";
+////        String intPath = configConstant.serverBasePath + "/download/" + workId ;
+//
+//        String cmd = CmdConstant.zip;
+//        cmd = cmd.replaceAll("@output", outPath);
+//        cmd = cmd.replaceAll("@workPace", configConstant.serverBasePath + "/download" );
+//        // 已引入工作目录, 直接填写目录即可
+//        cmd = cmd.replaceAll("@inDir", workId);
+//
+//        CmdUtils.callShLine(cmd, 100);
+//
+//    }
+//
+//    private void copyScene(String workId, String sceneCodes) {
+//        log.info("场景码: {}", sceneCodes);
+//        if (StringUtils.isBlank(sceneCodes)){
+//            log.info("场景码为空, 不需要下载");
+//            return;
+//        }
+//        String[] split = sceneCodes.split(",");
+//        log.info("场景数量 : {}", split.length);
+//        String outPath = configConstant.serverBasePath + "/download/" + workId;
+//        String inPath;
+//        for (String sceneCode : split) {
+//            inPath = configConstant.serverBasePath + "/" + sceneCode + "/vtour/panos/" + sceneCode + ".tiles";
+//            String cmd = StrUtil.format("cp -r {} {} ", inPath,  outPath);
+//            CmdUtils.callCmd(cmd);
+//        }
+//
+//    }
+//
+//    private void copyWork(String workId) {
+//        // 复制到指定目录
+//        String outPath = configConstant.serverBasePath + "/download/";
+//        String checkPath = outPath + workId;
+//        // 存在则删除
+//        if (FileUtil.isDirectory(checkPath)){
+//            FileUtil.del(checkPath);
+//        }
+//        String inPath = configConstant.serverBasePath + "/work/" + workId;
+//        String cmd = StrUtil.format("cp -r {} {} ", inPath,  outPath);
+//        CmdUtils.callCmd(cmd);
+//
+//    }
+//
+//    private void mergeTour(String workId, String sceneCodes) {
+//        String[] split = sceneCodes.split(",");
+//        // tourXml路径
+//        String downloadPath;
+//        String outPath = configConstant.serverBasePath + "/download/" + workId;
+//        String basePath = configConstant.serverBasePath;
+//        int size = split.length;
+//        log.info("场景数量: {}", size);
+//        BaseRuntimeException.isHas(size==0, null, "场景码为空, 不需要合并");
+//        String firstTourPath = File.separator + split[0] + "/vtour/tour.xml";
+//        if (size == 1){
+//            log.info("firstTourPath:{}", firstTourPath);
+//            FileUtil.copy(configConstant.serverBasePath + firstTourPath, outPath, true);
+//        } else {
+//            // 获取scene标签集合
+//            StringBuffer sceneLabels = new StringBuffer();
+//            int i = 0;
+//            String tourPath;
+//            for (String sceneCode : split) {
+//                tourPath = basePath + File.separator + sceneCode + "/vtour/tour.xml";
+//                String scene = getSceneLabel(tourPath);
+//                sceneLabels.append(scene).append("\r\n");
+//                i++;
+//            }
+//            log.info("标签数量: {}", i );
+//
+//            // 获取第一个xml, 做为基础模板
+//            String firstXml = handleFirstXml(basePath + firstTourPath);
+//            // 合并
+//            StringBuffer buffer = new StringBuffer();
+//            buffer.append(firstXml).append(" ");
+//            buffer.append(sceneLabels).append(" ");
+//            buffer.append("</krpano>");
+//            // 保存路径
+//            downloadPath = "/download/" + workId + "/tour.xml";
+//            String savePath =  configConstant.serverBasePath + File.separator + downloadPath;
+//            FileUtil.writeUtf8String(buffer.toString(), savePath);
+//            log.info("合并完成,保存路径: {}", savePath);
+//
+//        }
+//
+//    }
+//
+//    /**
+//     * 处理第一个xml
+//     * @param filePath
+//     * @return
+//     */
+//    private static String handleFirstXml(String filePath){
+//
+//        String s = FileUtil.readString(filePath, "UTF-8");
+//
+//        // 截取</krpano>之前的
+//        s = StrUtil.subBefore(s, "<scene name=", false);
+//        return s;
+//
+//    }
+//
+//    /**
+//     * 获取Scene标签值
+//     * @param filePath tour.xml路径
+//     * @return
+//     */
+//    private static String getSceneLabel(String filePath){
+//        String s = FileUtil.readString(filePath, "UTF-8");
+//        // 截取</action>之后的
+//        s = StrUtil.subAfter(s, "</action>", true);
+//        // 截取</krpano>之前的
+//        s = StrUtil.subBefore(s, "</krpano>", true);
+//        return s;
+//
+//    }
+//
+//
+//    @Test
+//    public void test(){
+//        String str = "1";
+//        System.out.println(Arrays.asList(str));
+//
+//    }
+//}

+ 324 - 0
gis_pano/src/main/java/com/gis/cms/service/impl/WorkServiceImpl.java

@@ -0,0 +1,324 @@
+package com.gis.cms.service.impl;
+
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gis.cms.entity.dto.SomeDataDto;
+import com.gis.cms.entity.dto.WorkDto;
+import com.gis.cms.entity.po.WorkEntity;
+import com.gis.cms.mapper.WorkMapper;
+import com.gis.cms.service.WorkService;
+import com.gis.common.base.entity.dto.PageDto;
+import com.gis.common.base.exception.BaseRuntimeException;
+import com.gis.common.constant.ConfigConstant;
+import com.gis.common.constant.ErrorEnum;
+import com.gis.common.constant.RedisConstant;
+import com.gis.common.util.BaseUtil;
+import com.gis.common.util.FileUtils;
+import com.gis.common.util.RedisUtil;
+import com.gis.common.util.Result;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+
+/**
+ * Created by owen on 2020/3/11 0011 16:16
+ */
+@Slf4j
+@Service
+//@Transactional
+public class WorkServiceImpl extends ServiceImpl<WorkMapper, WorkEntity> implements WorkService {
+
+
+    @Autowired
+    ConfigConstant configConstant;
+
+    @Autowired
+    IBaseService iBaseService;
+
+
+
+
+    @Autowired
+    FileUtils fileUtils;
+
+    @Autowired
+    RedisUtil redisUtil;
+
+    @Autowired
+    WorkMapper entityMapper;
+
+
+
+
+    @Override
+    public Result search(PageDto param) {
+        BaseUtil.startPage(param);
+        IPage<WorkEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
+        LambdaQueryWrapper<WorkEntity> wrapper = new LambdaQueryWrapper<> ();
+        // wrapper.eq(WorkEntity::getCreatorId, iBaseService.getUserId());
+        String searchKey = param.getSearchKey();
+        if (StringUtils.isNotBlank(searchKey)){
+            wrapper.like(WorkEntity::getName, param.getSearchKey());
+        }
+        wrapper.orderByDesc(WorkEntity::getCreateTime);
+        IPage<WorkEntity> result = this.page(page, wrapper);
+        return Result.success(result);
+    }
+
+
+    /**
+     * 目前只是用来保存密码, 也可以使用保存实体信息
+     */
+    @Override
+    public Result<WorkEntity> entitySave(WorkDto param) {
+        WorkEntity entity = this.getById(param.getId());
+        BaseRuntimeException.isNull(entity, ErrorEnum.FAILURE_SYS_2001);
+        BeanUtils.copyProperties(param, entity);
+        entity.setUpdateTime(LocalDateTime.now());
+        this.updateById(entity);
+        return Result.success(entity);
+    }
+
+
+    @Override
+    public Result<WorkEntity> entityAdd() {
+        WorkEntity entity = new WorkEntity();
+        entity.setCreatorId(iBaseService.getUserId());
+        entity.setStatus(0);
+        this.save(entity);
+
+        Long id = entity.getId();
+        log.info("创建对象完成: {}", id);
+
+        // 创建someData; 如someData作出修改,记得把代码里的someData 跟服务器里的someData都修改
+        String baseSomeDataPath = configConstant.serverBasePath + "/baseData/someData.json";
+        log.info("服务器base someData.json path: {}", baseSomeDataPath);
+        BaseRuntimeException.isHas(!FileUtil.isFile(baseSomeDataPath), null, "服务器someData.json模板不存在");
+        String content = FileUtil.readUtf8String(baseSomeDataPath);
+
+        JSONObject jsonObject = JSONObject.parseObject(content);
+        jsonObject.put("id", id + "");
+
+        // 存放到工作目录, 已workId为目录
+        String someDataPath = configConstant.serverBasePath + "/work/" + id + "/someData.json";
+        FileUtil.writeUtf8String(jsonObject.toJSONString(), someDataPath);
+        log.info("someData.json文件保存成功: {}", someDataPath);
+
+        return Result.success(entity);
+    }
+
+    // 删除无效作品数据
+    private void delByTime() {
+        // 定时删除空作品数据,周期:一个月清一次
+        if (!redisUtil.hasKey(RedisConstant.WORK_DEL)) {
+            String now = LocalDate.now().minusMonths(1).toString();
+            log.warn("执行删除: {} 月份之前的空作品数据", now);
+            entityMapper.delByTime(now);
+            redisUtil.set(RedisConstant.WORK_DEL, now, 30, TimeUnit.DAYS);
+        }
+    }
+
+
+    @Override
+    public Result remove(String id) {
+        WorkEntity entity = this.getById(id);
+        if (entity == null) {
+            return Result.success();
+        }
+        this.removeById(id);
+
+        // 删除redis
+        redisUtil.del(RedisConstant.WORK_ID + id);
+
+        // 删除无效作品数据
+        delByTime();
+
+        return Result.success();
+    }
+
+    @Override
+    public void addVisit(String id) {
+        entityMapper.addVisit(id);
+    }
+
+    /**
+     *
+     * @param sceneCode
+     * @return true:存在, false:不存在
+     */
+    @Override
+    public boolean existBySceneCode(String sceneCode) {
+        String sql = StrUtil.format("select id FROM tb_work WHERE  find_in_set('{}' , scene_codes )", sceneCode);
+        List<Map> list = entityMapper.runSql(sql);
+        log.info("引用的作品id: {}", list);
+        return list.size() > 0;
+    }
+
+
+
+    @Override
+    public Result checkToken(String workId) {
+
+        log.info("查找作品id: {}", workId);
+        if (redisUtil.hasKey(RedisConstant.WORK_ID + workId)){
+            return Result.success();
+        }
+
+        WorkEntity entity = this.getById(workId);
+        BaseRuntimeException.isNull(entity, ErrorEnum.FAILURE_SYS_2001);
+
+
+        Long userId = iBaseService.getUserId();
+        log.info("userId: {}", userId);
+//        BaseRuntimeException.isHas(!userId.equals(entity.getCreatorId()), null, "当前无操作权限");
+
+        redisUtil.set(RedisConstant.WORK_ID + workId, entity, 30, TimeUnit.SECONDS);
+
+        return Result.success();
+
+    }
+
+    @Override
+    public Result edit(SomeDataDto param) {
+        // 检查是否是改用户的作品
+        String id = param.getId();
+
+        // 防止重复提交
+        String editKey = RedisConstant.WORK_ID_EDIT + id + ":"+param.toString();
+        if (redisUtil.hasKey(editKey)){
+            log.info("编辑走缓存");
+            return Result.success();
+        }
+
+        // 3秒内防止重复提交
+        redisUtil.set(editKey, param.toString(), 3, TimeUnit.SECONDS);
+
+        WorkEntity entity = getById(id);
+        if (entity == null) {
+            log.error("作品已被删除,无法编辑, id: " + id);
+            throw new BaseRuntimeException(3006, "作品已被删除,无法编辑, id: " + id);
+        }
+
+        //是否该用户作品
+//        BaseRuntimeException.isHas(!iBaseService.getUserId().equals(entity.getCreatorId()), 3005, "当前无操作权限");
+
+        // 更新作品信息
+        boolean isEdit = editEntity(param, entity);
+        if (!isEdit) {
+            return Result.failure("对象不存在");
+        }
+
+        log.info("更新作品完成");
+        // 保存someData.json
+        updateSomeData(param);
+
+        return Result.success();
+    }
+
+    /**
+     * 更新作品实体信息
+     */
+    private boolean editEntity(SomeDataDto param, WorkEntity entity) {
+
+
+        String someData = param.getSomeData();
+        JSONObject sd = JSONObject.parseObject(someData);
+        entity.setName(sd.getString("name"));
+        entity.setIcon(sd.getString("icon"));
+        entity.setShare(sd.getString("share"));
+        entity.setQrCode(sd.getString("qrCode"));
+        entity.setStatus(sd.getInteger("status"));
+        entity.setPassword(sd.getString("password"));
+        String scenes = sd.getString("scenes");
+        entity.setSceneCodes(getSceneCodes(scenes));
+
+        entity.setUpdateTime(LocalDateTime.now());
+
+        this.updateById(entity);
+        return true;
+
+    }
+
+    /**
+     * 传入参数是一个数组json字符串
+     * @param param
+     */
+    private String getSceneCodes(String param){
+        JSONArray array = JSONArray.parseArray(param);
+        List<String> list = new ArrayList<>();
+        for (Object o : array) {
+            JSONObject parse = JSONObject.parseObject(o.toString());
+            String sceneCode = parse.getString("sceneCode");
+            list.add(sceneCode);
+        }
+        String join = StringUtils.join(list, ",");
+        return join;
+
+
+    }
+
+
+
+    /**
+     * 更新someData.json
+     */
+    private void updateSomeData(SomeDataDto param) {
+
+        String id = param.getId();
+        // 存放到工作目录, 已workId为目录
+        String someDataPath = configConstant.serverBasePath + "/work/" + id + "/someData.json";
+        // 写入服务器
+        FileUtil.writeUtf8String(param.getSomeData(), someDataPath);
+
+    }
+
+
+
+    @Override
+    public Result uploadFix(MultipartFile file, String sceneCode) {
+        // 检查非法文件上传
+        BaseRuntimeException.isHas(!fileUtils.checkFile(file), null, "上传文件格式有误, 请重新上传");
+        Map<String, Object> uploadMap = fileUtils.uploadMap(file, "/pano/" + sceneCode, true);
+        return Result.success(uploadMap);
+    }
+
+
+    @Override
+    public Result upload(MultipartFile file, String sceneCode) {
+        // 检查非法文件上传
+        BaseRuntimeException.isHas(!fileUtils.checkFile(file), null, "上传文件格式有误, 请重新上传");
+        Map<String, Object> uploadMap = fileUtils.uploadMap(file, "/pano/" + sceneCode + "/edit", false);
+        return Result.success(uploadMap);
+    }
+
+    @Override
+    public Result uploadFixByWork(MultipartFile file, String workId) {
+        // 检查非法文件上传
+        BaseRuntimeException.isHas(!fileUtils.checkFile(file), null, "上传文件格式有误, 请重新上传");
+        Map<String, Object> uploadMap = fileUtils.uploadMap(file, "/work/" + workId, true);
+        return Result.success(uploadMap);
+    }
+
+
+
+
+
+
+}

+ 0 - 0
gis_pano/src/main/resources/someData.json


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff