Jelajahi Sumber

修改为spring boot

lyhzzz 3 tahun lalu
induk
melakukan
b551666a8d
47 mengubah file dengan 440 tambahan dan 2294 penghapusan
  1. 28 11
      platform-api/pom.xml
  2. 31 0
      platform-api/src/main/java/com/platform/PlatformApplication.java
  3. 27 0
      platform-api/src/main/java/com/platform/config/InterceptorConfig.java
  4. 26 0
      platform-api/src/main/java/com/platform/config/NacosConfig.java
  5. 0 65
      platform-api/src/main/java/com/platform/config/NacosConfiguration.java
  6. 1 0
      platform-api/src/main/java/com/platform/dao/ApiUserMapper.java
  7. 13 13
      platform-api/src/main/java/com/platform/service/ApiUserService.java
  8. 74 0
      platform-api/src/main/java/com/platform/service/impl/SceneProServiceImpl.java
  9. 1 1
      platform-api/src/main/java/com/platform/service/impl/SysUserRoleServiceImpl.java
  10. 0 1
      platform-api/src/main/java/com/platform/service/impl/ZhiHouseService.java
  11. 24 0
      platform-api/src/main/resources/bootstrap.yml
  12. 156 0
      platform-api/src/main/resources/logback-spring.xml
  13. 0 22
      platform-api/src/main/resources/platform-api.xml
  14. 51 365
      platform-common/pom.xml
  15. 0 11
      platform-common/src/main/java/com/platform/cache/J2CacheUtils.java
  16. 3 3
      platform-common/src/main/java/com/platform/cache/RegionCacheUtil.java
  17. 0 40
      platform-common/src/main/java/com/platform/controller/AbstractController.java
  18. 0 72
      platform-common/src/main/java/com/platform/interceptor/EscapeInterceptor.java
  19. 0 111
      platform-common/src/main/java/com/platform/interceptor/LogInterceptor.java
  20. 1 2
      platform-common/src/main/java/com/platform/service/impl/SysLogServiceImpl.java
  21. 0 81
      platform-common/src/main/java/com/platform/service/impl/SysMacroServiceImpl.java
  22. 0 74
      platform-common/src/main/java/com/platform/shiro/CluterShiroSessionDao.java
  23. 0 43
      platform-common/src/main/java/com/platform/shiro/UserRealm.java
  24. 0 26
      platform-common/src/main/java/com/platform/shiro/VelocityShiro.java
  25. 0 102
      platform-common/src/main/java/com/platform/shiro/jwt/JwtFilter.java
  26. 0 24
      platform-common/src/main/java/com/platform/shiro/jwt/JwtToken.java
  27. 0 83
      platform-common/src/main/java/com/platform/utils/QueryPlus.java
  28. 0 61
      platform-common/src/main/java/com/platform/utils/ShiroUtils.java
  29. 3 4
      platform-common/src/main/java/com/platform/utils/SpringContextUtils.java
  30. 0 16
      platform-common/src/main/java/com/platform/utils/StringUtils.java
  31. 0 0
      platform-common/src/main/resources/caffeine.properties
  32. 0 0
      platform-common/src/main/resources/ehcache.xml
  33. 0 0
      platform-common/src/main/resources/j2cache.properties
  34. 1 1
      platform-framework/src/main/resources/network.xml
  35. 0 8
      platform-common/src/main/resources/platform-common.xml
  36. 0 84
      platform-common/src/main/resources/platform-shiro.xml
  37. 0 47
      platform-framework/pom.xml
  38. 0 8
      platform-framework/src/main/java/com/platform/PlatformApplication.java
  39. 0 13
      platform-framework/src/main/resources/application.properties
  40. 0 68
      platform-framework/src/main/resources/log4j.properties
  41. 0 14
      platform-framework/src/main/resources/mybatis.xml
  42. 0 158
      platform-framework/src/main/resources/spring-jdbc.xml
  43. 0 123
      platform-framework/src/main/resources/spring-mvc.xml
  44. 0 9
      platform-framework/src/main/webapp/WEB-INF/dispatcher-servlet.xml
  45. 0 15
      platform-framework/src/main/webapp/WEB-INF/velocity-toolbox.xml
  46. 0 111
      platform-framework/src/main/webapp/WEB-INF/web.xml
  47. 0 404
      pom.xml

+ 28 - 11
platform-api/pom.xml

@@ -1,15 +1,20 @@
 <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/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>com.platform</groupId>
-        <artifactId>platform</artifactId>
-        <version>1.0.0</version>
-    </parent>
+
     <modelVersion>4.0.0</modelVersion>
+    <groupId>com.platform</groupId>
     <artifactId>platform-api</artifactId>
-    <packaging>jar</packaging>
+    <version>1.0.0</version>
+    <packaging>war</packaging>
     <description>API接口模块</description>
 
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.3.12.RELEASE</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+
     <dependencies>
         <dependency>
             <groupId>com.platform</groupId>
@@ -17,12 +22,24 @@
             <version>1.0.0</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.vdurmont</groupId>
-            <artifactId>emoji-java</artifactId>
-            <version>4.0.0</version>
-        </dependency>
 
     </dependencies>
 
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>8</source>
+                    <target>8</target>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>

+ 31 - 0
platform-api/src/main/java/com/platform/PlatformApplication.java

@@ -0,0 +1,31 @@
+package com.platform;
+
+import com.platform.utils.SpringContextUtils;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.BeansException;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.context.annotation.ComponentScan;
+
+
+@MapperScan({"com.platform.dao"})
+@ComponentScan(basePackages = {"com.platform.*"})
+@EnableDiscoveryClient
+@SpringBootApplication
+public class PlatformApplication implements ApplicationContextAware {
+
+	public static void main(String[] args) {
+		SpringApplication.run(PlatformApplication.class, args);
+	}
+
+	@Override
+	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+		SpringContextUtils.setApplicationContext(applicationContext);
+
+	}
+}

+ 27 - 0
platform-api/src/main/java/com/platform/config/InterceptorConfig.java

@@ -0,0 +1,27 @@
+package com.platform.config;
+
+import com.platform.interceptor.AuthorizationInterceptor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+/**
+ * Created by Hb_zzZ on 2018/12/6.
+ */
+@Configuration
+public class InterceptorConfig extends WebMvcConfigurerAdapter {
+
+    @Autowired
+    private AuthorizationInterceptor authorizationInterceptor;
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        //这里可以添加多个拦截器
+        registry.addInterceptor(authorizationInterceptor).addPathPatterns("/api/**")
+                .excludePathPatterns("/api/goods/detail","/api/search/index");
+        super.addInterceptors(registry);
+    }
+
+
+}

+ 26 - 0
platform-api/src/main/java/com/platform/config/NacosConfig.java

@@ -0,0 +1,26 @@
+package com.platform.config;
+
+import com.alibaba.cloud.nacos.registry.NacosAutoServiceRegistration;
+import com.alibaba.cloud.nacos.registry.NacosRegistration;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.context.event.ApplicationReadyEvent;
+import org.springframework.context.ApplicationListener;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class NacosConfig implements ApplicationListener<ApplicationReadyEvent> {
+
+    @Autowired
+    private NacosRegistration registration;
+
+    @Autowired
+    private NacosAutoServiceRegistration nacosAutoServiceRegistration;
+
+    @Override
+    public void onApplicationEvent(ApplicationReadyEvent event) {
+        String property = event.getApplicationContext().getEnvironment().getProperty("server.port");
+        registration.setPort(Integer.parseInt(property));
+        nacosAutoServiceRegistration.setPort(Integer.parseInt(property));
+        nacosAutoServiceRegistration.start();
+    }
+}

+ 0 - 65
platform-api/src/main/java/com/platform/config/NacosConfiguration.java

@@ -1,65 +0,0 @@
-package com.platform.config;
-
-import com.alibaba.nacos.api.annotation.NacosInjected;
-import com.alibaba.nacos.api.annotation.NacosProperties;
-import com.alibaba.nacos.api.config.ConfigType;
-import com.alibaba.nacos.api.exception.NacosException;
-import com.alibaba.nacos.api.naming.NamingService;
-import com.alibaba.nacos.spring.context.annotation.EnableNacos;
-import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.PropertySource;
-import org.springframework.context.annotation.PropertySources;
-import org.springframework.util.ObjectUtils;
-
-import javax.annotation.PostConstruct;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-
-@Configuration
-@PropertySources({
-        @PropertySource({
-                "classpath:application.properties"
-        })
-})
-@EnableNacos(
-    globalProperties = @NacosProperties(serverAddr = "${nacos.config.server-addr}",namespace = "${nacos.config.namespace}")
-)
-@NacosPropertySource(dataId = "${nacos.config.data-id}", autoRefreshed = true,type = ConfigType.PROPERTIES,groupId = "${nacos.config.group}")
-public class NacosConfiguration {
-
-    protected Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @NacosInjected
-    private NamingService namingService;
-
-    @Value("${spring.application.name}")
-    private String applicationName;
-
-    @Value("${nacos.discovery.register.group-name}")
-    private String groupName;
-
-    @Value("${server.port}")
-    private Integer port;
-
-    @Value("${local.ip:#{null}}")
-    private String ip;
-
-    @PostConstruct
-    public void init() {
-        try {
-            if(ObjectUtils.isEmpty(ip)){
-                InetAddress address = InetAddress.getLocalHost();
-                ip = address.getHostAddress();
-            }
-            logger.info("service registed {}:{}",ip,port);
-
-            namingService.registerInstance(applicationName, groupName, ip, port);
-        } catch (UnknownHostException | NacosException e) {
-            e.printStackTrace();
-        }
-    }
-}

+ 1 - 0
platform-api/src/main/java/com/platform/dao/ApiUserMapper.java

@@ -2,6 +2,7 @@ package com.platform.dao;
 
 import com.platform.entity.SmsLogVo;
 import com.platform.entity.UserVo;
+import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 /**

+ 13 - 13
platform-api/src/main/java/com/platform/service/ApiUserService.java

@@ -19,24 +19,24 @@ import java.util.Map;
 @Service
 public class ApiUserService {
     @Autowired
-    private ApiUserMapper userDao;
+    private ApiUserMapper apiUserMapper;
     @Autowired
     private ApiUserLevelMapper userLevelDao;
 
     public UserVo queryObject(Long userId) {
-        return userDao.queryObject(userId);
+        return apiUserMapper.queryObject(userId);
     }
 
     public UserVo queryByOpenId(String openId) {
-        return userDao.queryByOpenId(openId);
+        return apiUserMapper.queryByOpenId(openId);
     }
 
     public List<UserVo> queryList(Map<String, Object> map) {
-        return userDao.queryList(map);
+        return apiUserMapper.queryList(map);
     }
 
     public int queryTotal(Map<String, Object> map) {
-        return userDao.queryTotal(map);
+        return apiUserMapper.queryTotal(map);
     }
 
     public void save(String mobile, String password) {
@@ -45,27 +45,27 @@ public class ApiUserService {
         user.setUsername(mobile);
         user.setPassword(DigestUtils.sha256Hex(password));
         user.setRegister_time(new Date());
-        userDao.save(user);
+        apiUserMapper.save(user);
     }
 
     public void save(UserVo userVo) {
-        userDao.save(userVo);
+        apiUserMapper.save(userVo);
     }
 
     public void update(UserVo user) {
-        userDao.update(user);
+        apiUserMapper.update(user);
     }
 
     public void delete(Long userId) {
-        userDao.delete(userId);
+        apiUserMapper.delete(userId);
     }
 
     public void deleteBatch(Long[] userIds) {
-        userDao.deleteBatch(userIds);
+        apiUserMapper.deleteBatch(userIds);
     }
 
     public UserVo queryByMobile(String mobile) {
-        return userDao.queryByMobile(mobile);
+        return apiUserMapper.queryByMobile(mobile);
     }
 
     public long login(String mobile, String password) {
@@ -81,12 +81,12 @@ public class ApiUserService {
     }
 
     public SmsLogVo querySmsCodeByUserId(Long user_id) {
-        return userDao.querySmsCodeByUserId(user_id);
+        return apiUserMapper.querySmsCodeByUserId(user_id);
     }
 
 
     public int saveSmsCodeLog(SmsLogVo smsLogVo) {
-        return userDao.saveSmsCodeLog(smsLogVo);
+        return apiUserMapper.saveSmsCodeLog(smsLogVo);
     }
 
     public String getUserLevel(UserVo loginUser) {

+ 74 - 0
platform-api/src/main/java/com/platform/service/impl/SceneProServiceImpl.java

@@ -0,0 +1,74 @@
+package com.platform.service.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.fdage.micro.commom.constant.CONSTANTFILENAME;
+import com.fdage.micro.commom.constant.CONSTANTFILEPATH;
+import com.fdage.micro.commom.constant.CONSTANTURL;
+import com.fdage.micro.commom.dto.Result;
+import com.fdage.micro.commom.exception.BaseRuntimeException;
+import com.fdage.micro.commom.exception.FdkkRuntimeException;
+import com.fdage.micro.commom.respone.PageUtilsPlus;
+import com.fdage.micro.commom.util.*;
+import com.github.pagehelper.util.StringUtil;
+import com.platform.dao.TbSceneProMapper;
+import com.platform.entity.TbScenePro;
+import com.platform.service.SceneProService;
+import com.platform.vos.RequestScene;
+import net.coobird.thumbnailator.Thumbnails;
+import org.apache.commons.lang3.StringUtils;
+import org.joda.time.DateTime;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.IOException;
+import java.math.BigInteger;
+import java.util.*;
+import java.util.concurrent.CompletableFuture;
+
+/**
+ * Created by Hb_zzZ on 2018/11/29.
+ */
+@Service
+public class SceneProServiceImpl implements SceneProService {
+
+    private static Logger log = LoggerFactory.getLogger(SceneProServiceImpl.class);
+
+    @Autowired
+    private TbSceneProMapper sceneProMapper;
+
+
+    @Override
+    public TbScenePro findBySceneNum(String sceneNum){
+        return sceneProMapper.findBySceneNum(sceneNum);
+    }
+
+
+    @Override
+    public void update(TbScenePro scene) {
+        sceneProMapper.update(scene);
+    }
+
+
+    @Override
+    public List<TbScenePro> findByIds(List<Long> ids) {
+        return sceneProMapper.findByIds(ids);
+    }
+
+    @Override
+    public void updateViewCount(String sceneNum) {
+        sceneProMapper.updateViewCount(sceneNum);
+    }
+
+    @Override
+    public PageUtilsPlus getScenes(List<Long> userIds, RequestScene param) {
+        return null;
+    }
+}

+ 1 - 1
platform-api/src/main/java/com/platform/service/impl/SysUserRoleServiceImpl.java

@@ -15,7 +15,7 @@ import java.util.List;
  * @email 939961241@qq.com
  * @date 2016年9月18日 上午9:45:48
  */
-@Service("sysUserRoleService")
+@Service
 public class SysUserRoleServiceImpl implements SysUserRoleService {
     @Autowired
     private SysUserRoleDao sysUserRoleDao;

+ 0 - 1
platform-api/src/main/java/com/platform/service/impl/ZhiHouseService.java

@@ -13,7 +13,6 @@ import com.platform.service.RecommendService;
 import com.platform.service.SceneProService;
 import com.platform.service.SysUserRoleService;
 import com.platform.service.UserService;
-import com.platform.utils.LettuceRedisClientUtils;
 import com.platform.vos.RequestScene;
 import com.vdurmont.emoji.EmojiParser;
 import io.jsonwebtoken.Claims;

+ 24 - 0
platform-api/src/main/resources/bootstrap.yml

@@ -0,0 +1,24 @@
+server:
+  port: 8190
+spring:
+  application:
+    name: shop-platform-v3.properties
+  cloud:
+    nacos:
+      config:
+        server-addr: 120.24.202.7:8848
+        file-extension: properties
+        namespace: dev
+        group: zfb
+        extension-configs:
+          - data-id: shop-platform-v3.properties
+            group: zfb
+            refresh: true
+      discovery:
+        server-addr: 120.24.202.7:8848
+        namespace: dev
+        group: zfb
+#
+#mybatis-plus:
+#  configuration:
+#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志

+ 156 - 0
platform-api/src/main/resources/logback-spring.xml

@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="60 seconds" debug="false">
+    <property name="LOG_MAX_HISTORY" value="180"/>
+    <springProperty scope="context" name="LOG_PATH" source="logging.path"/>
+
+    <!-- 控制台输出 -->
+    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+            <!--<charset>utf-8</charset>-->
+        </encoder>
+    </appender>
+    <!-- 按照每天生成日志文件:主项目日志 -->
+    <appender name="file.all" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <!-- 追加日志到原文件结尾 -->
+        <Prudent>true</Prudent>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!--日志文件输出的文件名 -->
+            <FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+            <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <!-- 除按日志记录之外,还配置了日志文件不能超过10M(默认),若超过10M,日志文件会以索引0开始, -->
+                <maxFileSize>10MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{500} - %msg%n</pattern>
+            <!--<charset>utf-8</charset>-->
+        </encoder>
+    </appender>
+
+    <!--info日志统一输出到这里-->
+    <appender name="file.info" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <Prudent>true</Prudent>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!--日志文件输出的文件名 每小时生成日志文件 -->
+            <FileNamePattern>%d{yyyy-MM-dd}/info/console-info.%d{yyyy-MM-dd-HH}.%i.log</FileNamePattern>
+            <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <!-- 除按日志记录之外,还配置了日志文件不能超过10M(默认),若超过10M,日志文件会以索引0开始, -->
+                <maxFileSize>10MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %method 方法名  %L 行数 %msg:日志消息,%n是换行符-->
+            <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{56}.%method:%L - %msg%n</pattern>
+            <!--<charset>utf-8</charset>-->
+        </encoder>
+        <!-- 此日志文件只记录info级别的 -->
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <!--错误日志统一输出到这里-->
+    <appender name="file.error" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <Prudent>true</Prudent>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!--日志文件输出的文件名-->
+            <FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/error/console-error.%d{yyyy-MM-dd-HH}.%i.log</FileNamePattern>
+            <!--日志文件保留天数-->
+            <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <!-- 除按日志记录之外,还配置了日志文件不能超过10M(默认),若超过10M,日志文件会以索引0开始, -->
+                <maxFileSize>10MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %method 方法名  %L 行数 %msg:日志消息,%n是换行符-->
+            <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{56}.%method:%L - %msg%n</pattern>
+            <!--<charset>utf-8</charset>-->
+        </encoder>
+        <!-- 此日志文件只记录error级别的 -->
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>ERROR</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <!--warn日志统一输出到这里-->
+    <appender name="file.warn" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <Prudent>true</Prudent>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!--日志文件输出的文件名 按小时生成日志-->
+            <FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/warn/console-warn.%d{yyyy-MM-dd-HH}.%i.log</FileNamePattern>
+            <!--日志文件保留天数-->
+            <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <!-- 除按日志记录之外,还配置了日志文件不能超过10M(默认),若超过10M,日志文件会以索引0开始, -->
+                <maxFileSize>10MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %method 方法名  %L 行数 %msg:日志消息,%n是换行符-->
+            <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{56}.%method:%L - %msg%n</pattern>
+            <!--<charset>utf-8</charset>-->
+        </encoder>
+        <!-- 此日志文件只记录warn级别的 -->
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>WARN</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <!--debug级别日志统一输出到这里-->
+    <appender name="file.debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <Prudent>true</Prudent>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!--日志文件输出的文件名 按小时生成日志-->
+            <FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/debug/console-debug.%d{yyyy-MM-dd-HH}.%i.log</FileNamePattern>
+            <!--日志文件保留天数-->
+            <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
+            <!-- 除按日志记录之外,还配置了日志文件不能超过5M,若超过5M,日志文件会以索引0开始,命名日志文件,例如console-debug.2018-08-24-09.1.log -->
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>10MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %method 方法名  %L 行数 %msg:日志消息,%n是换行符-->
+            <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{56}.%method:%L - %msg%n</pattern>
+            <!--<charset>utf-8</charset>-->
+        </encoder>
+        <!-- 此日志文件只记录debug级别的 -->
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY </onMismatch>
+        </filter>
+    </appender>
+
+    <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
+    <appender name="file.async" class="ch.qos.logback.classic.AsyncAppender">
+        <discardingThreshold>0</discardingThreshold>
+        <queueSize>256</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="file.all" />
+    </appender>
+
+    <!--  日志输出级别 -->
+    <!-- TRACE\DEBUG\INFO\WARN\ERROR\FATAL\OFF -->
+    <root level="INFO">
+        <appender-ref ref="console" />
+        <appender-ref ref="file.async"/>
+        <appender-ref ref="file.error" />
+        <appender-ref ref="file.info" />
+        <appender-ref ref="file.debug" />
+        <appender-ref ref="file.warn" />
+    </root>
+
+</configuration>

+ 0 - 22
platform-api/src/main/resources/platform-api.xml

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
-       xsi:schemaLocation="
-        http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
-		http://www.springframework.org/schema/mvc
-     	http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">
-
-    <mvc:annotation-driven>
-    </mvc:annotation-driven>
-
-    <mvc:interceptors>
-        <mvc:interceptor>
-            <mvc:mapping path="/api/**"/>
-            <mvc:exclude-mapping path="/api/goods/detail" />
-            <mvc:exclude-mapping path="/api/search/index" />
-            <ref bean="authorizationInterceptor"/>
-        </mvc:interceptor>
-    </mvc:interceptors>
-    <bean id="authorizationInterceptor" class="com.platform.interceptor.AuthorizationInterceptor"/>
-</beans>

+ 51 - 365
platform-common/pom.xml

@@ -1,381 +1,67 @@
 <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/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>com.platform</groupId>
-        <artifactId>platform</artifactId>
-        <version>1.0.0</version>
-    </parent>
     <modelVersion>4.0.0</modelVersion>
+
+    <groupId>com.platform</groupId>
     <artifactId>platform-common</artifactId>
+    <version>1.0.0</version>
     <packaging>jar</packaging>
-    <description>公共模块</description>
-
-    <properties>
-        <qiniu-version>[7.2.0, 7.2.99]</qiniu-version>
-     <!--   <aliyun-oss-version>2.5.0</aliyun-oss-version>-->
-        <aliyun-oss-version>3.8.0</aliyun-oss-version>
-        <qcloud-cos-version>5.2.4</qcloud-cos-version>
-        <jackson.version>2.9.10</jackson.version>
-        <poi.version>3.15</poi.version>
-        <org-json-version>20180130</org-json-version>
-        <aliyun.core.version>4.0.3</aliyun.core.version>
-        <aliyun.dysmsapi.version>1.1.0</aliyun.dysmsapi.version>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.qiniu</groupId>
-            <artifactId>qiniu-java-sdk</artifactId>
-            <version>${qiniu-version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.google.code.gson</groupId>
-                    <artifactId>gson</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.aliyun.oss</groupId>
-            <artifactId>aliyun-sdk-oss</artifactId>
-            <version>${aliyun-oss-version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.aliyun</groupId>
-                    <artifactId>aliyun-java-sdk-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>commons-codec</groupId>
-                    <artifactId>commons-codec</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.qcloud</groupId>
-            <artifactId>cos_api</artifactId>
-            <version>${qcloud-cos-version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.httpcomponents</groupId>
-                    <artifactId>httpclient</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-databind</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-log4j12</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-jsr310</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-
-        <!-- httpclient -->
-        <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <version>3.1</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>commons-codec</artifactId>
-                    <groupId>commons-codec</groupId>
-                </exclusion>
-                <exclusion>
-                    <groupId>commons-logging</groupId>
-                    <artifactId>commons-logging</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <!-- json -->
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-annotations</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-core</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>dom4j</groupId>
-            <artifactId>dom4j</artifactId>
-            <version>1.6.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.github.pagehelper</groupId>
-            <artifactId>pagehelper</artifactId>
-            <version>5.1.4</version>
-            <exclusions>
-             <!--   <exclusion>
-                    <groupId>com.github.jsqlparser</groupId>
-                    <artifactId>jsqlparser</artifactId>
-                </exclusion>-->
-            </exclusions>
-        </dependency>
-        <!-- POI依赖 ,处理EXCEL WORD  PDF-->
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi</artifactId>
-            <version>${poi.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml</artifactId>
-            <version>${poi.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml-schemas</artifactId>
-            <version>${poi.version}</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>stax-api</artifactId>
-                    <groupId>stax</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.xmlbeans</groupId>
-            <artifactId>xmlbeans</artifactId>
-            <version>2.6.0</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>stax-api</artifactId>
-                    <groupId>stax</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <!-- POI依赖 ,处理EXCEL WORD  PDF-->
-        <dependency>
-        	<groupId>org.json</groupId>
-        	<artifactId>json</artifactId>
-        	<version>${org-json-version}</version>
-        </dependency>
-        <!-- 腾讯云短信 -->
-        <dependency>
-            <groupId>com.github.qcloudsms</groupId>
-            <artifactId>qcloudsms</artifactId>
-            <version>${qcloudsms.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.httpcomponents</groupId>
-                    <artifactId>httpclient</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.json</groupId>
-                    <artifactId>json</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>commons-codec</groupId>
-                    <artifactId>commons-codec</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>RELEASE</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <!-- 阿里云短信 -->
-        <dependency>
-            <groupId>com.aliyun</groupId>
-            <artifactId>aliyun-java-sdk-core</artifactId>
-            <version>${aliyun.core.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.httpcomponents</groupId>
-                    <artifactId>httpclient</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.aliyun</groupId>
-            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
-            <version>${aliyun.dysmsapi.version}</version>
-        </dependency>
-
-        <!--swagger 依赖-->
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>2.4.0</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.google.guava</groupId>
-                    <artifactId>guava</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.springframework</groupId>
-                    <artifactId>spring-aop</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-annotations</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.springframework</groupId>
-                    <artifactId>spring-beans</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.springframework</groupId>
-                    <artifactId>spring-context</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger-ui</artifactId>
-            <version>2.4.0</version>
-        </dependency>
 
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-generator</artifactId>
-<!--            <version>3.3.1.tmp</version>-->
-            <version>3.1.0</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.baomidou</groupId>
-                    <artifactId>mybatis-plus-extension</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>io.lettuce</groupId>
-            <artifactId>lettuce-core</artifactId>
-            <version>5.1.8.RELEASE</version>
-        </dependency>
-
-        <dependency>
-            <groupId>net.coobird</groupId>
-            <artifactId>thumbnailator</artifactId>
-            <version>0.4.12</version>
-        </dependency>
-
-
-        <!--   <dependency>
-               <groupId>com.baomidou</groupId>
-               <artifactId>mybatis-plus-extension</artifactId>
-               <version>3.3.1.tmp</version>
-           </dependency>-->
-
-
-       <!-- <dependency>
-            <groupId>org.apache.velocity</groupId>
-            <artifactId>velocity-engine-core</artifactId>
-            <version>2.1</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
--->
-
-        <dependency>
-            <groupId>org.bytedeco</groupId>
-            <artifactId>javacv</artifactId>
-            <version>1.4.3</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.bytedeco.javacpp-presets</groupId>
-            <artifactId>ffmpeg-platform</artifactId>
-            <version>4.0.2-1.4.3</version>
-        </dependency>
-        <dependency>
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcprov-jdk15on</artifactId>
-            <version>1.60</version>
-        </dependency>
-
-
-        <dependency>
-            <groupId>com.alibaba.nacos</groupId>
-            <artifactId>nacos-spring-context</artifactId>
-            <version>1.1.1</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework</groupId>
-                    <artifactId>spring-context</artifactId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>javax.annotation-api</artifactId>
-                    <groupId>javax.annotation</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <!-- https://mvnrepository.com/artifact/com.netflix.ribbon/ribbon-loadbalancer -->
-        <dependency>
-            <groupId>com.netflix.ribbon</groupId>
-            <artifactId>ribbon-loadbalancer</artifactId>
-            <version>2.2.4</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <version>3.5</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>io.jsonwebtoken</groupId>
-            <artifactId>jjwt</artifactId>
-            <version>0.9.1</version>
-        </dependency>
-        <dependency>
-            <groupId>com.auth0</groupId>
-            <artifactId>java-jwt</artifactId>
-            <version>3.4.0</version>
-        </dependency>
+    <name>platform-common</name>
+    <description>公共模块</description>
 
-        <dependency>
-            <groupId>com.fdage.micro</groupId>
-            <artifactId>unite-account-commom</artifactId>
-            <version>0.0.1-SNAPSHOT</version>
-        </dependency>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.3.12.RELEASE</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
 
-    </dependencies>
+<dependencies>
+    <dependency>
+        <groupId>com.fdage.micro</groupId>
+        <artifactId>unite-account-commom</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+        <groupId>commons-httpclient</groupId>
+        <artifactId>commons-httpclient</artifactId>
+        <version>3.1</version>
+    </dependency>
+</dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
 
-  <!--  <build>
         <resources>
             <resource>
-                <directory>src/main/java</directory>
+                <directory>src/lib</directory>
+                <targetPath>BOOT-INF/lib</targetPath>
                 <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
+                    <include>**/*.jar</include>
                 </includes>
-                <filtering>false</filtering>
             </resource>
+
         </resources>
-    </build>-->
+    </build>
+    <distributionManagement>
+        <repository>
+            <id>releases</id>
+            <url>http://192.168.0.115:8081/nexus-2.14.2-01/content/repositories/releases</url>
+        </repository>
+
+        <snapshotRepository>
+            <id>snapshots</id>
+            <url>http://192.168.0.115:8081/nexus-2.14.2-01/content/repositories/snapshots</url>
+        </snapshotRepository>
+
+    </distributionManagement>
 </project>

+ 0 - 11
platform-common/src/main/java/com/platform/cache/J2CacheUtils.java

@@ -145,15 +145,4 @@ public class J2CacheUtils {
         return cache.check(region, key);
     }
 
-    /**
-     * 删除缓存
-     *
-     * @param className  类名
-     * @param methodName 方法名
-     */
-    public static void delByClass(String className, String methodName) {
-        String key = StringUtils.genKey(Constant.SYS_CACHE, className, methodName);
-
-        remove(key);
-    }
 }

+ 3 - 3
platform-common/src/main/java/com/platform/cache/RegionCacheUtil.java

@@ -4,6 +4,7 @@ import com.platform.dao.SysRegionDao;
 import com.platform.entity.SysRegionEntity;
 import com.platform.utils.SpringContextUtils;
 import org.springframework.beans.factory.InitializingBean;
+import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -14,15 +15,14 @@ import java.util.List;
  * @email 939961241@qq.com
  * @date 2017-11-04 11:19:31
  */
+@Component
 public class RegionCacheUtil implements InitializingBean {
 
     public static List<SysRegionEntity> sysRegionEntityList;
 
     public static void init() {
         SysRegionDao regionDao = SpringContextUtils.getBean(SysRegionDao.class);
-        if (null != regionDao) {
-            sysRegionEntityList = regionDao.queryList(new HashMap<String, Object>());
-        }
+        sysRegionEntityList = regionDao.queryList(new HashMap<String, Object>());
     }
 
     /**

+ 0 - 40
platform-common/src/main/java/com/platform/controller/AbstractController.java

@@ -1,40 +0,0 @@
-package com.platform.controller;
-
-import com.platform.utils.ShiroUtils;
-import com.platform.vos.CurrentUserLoginVo;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Controller公共组件
- *
- * @author lipengjun
- * @email 939961241@qq.com
- * @date 2016年11月9日 下午9:42:26
- */
-public abstract class AbstractController {
-    protected Logger logger = LoggerFactory.getLogger(getClass());
-
-    protected CurrentUserLoginVo getUser() {
-        return ShiroUtils.getUserEntity();
-    }
-
-    protected Long getUserId() {
-        return getUser().getId();
-    }
-
-    protected  List<Long> getDeptId() {
-        Long companyId = getUser().getCompanyId();
-        List<Long> lists = new ArrayList<>();
-        if(companyId!=null){
-            lists.add(companyId);
-        }
-        return lists;
-    }
-    protected  Long getCompanyId() {
-        return  getUser().getCompanyId();
-    }
-}

+ 0 - 72
platform-common/src/main/java/com/platform/interceptor/EscapeInterceptor.java

@@ -1,72 +0,0 @@
-package com.platform.interceptor;
-
-import java.util.HashMap;
-import java.util.Properties;
-
-import org.apache.ibatis.cache.CacheKey;
-import org.apache.ibatis.executor.Executor;
-import org.apache.ibatis.mapping.BoundSql;
-import org.apache.ibatis.mapping.MappedStatement;
-import org.apache.ibatis.mapping.SqlCommandType;
-import org.apache.ibatis.plugin.Interceptor;
-import org.apache.ibatis.plugin.Intercepts;
-import org.apache.ibatis.plugin.Invocation;
-import org.apache.ibatis.plugin.Plugin;
-import org.apache.ibatis.plugin.Signature;
-import org.apache.ibatis.session.ResultHandler;
-import org.apache.ibatis.session.RowBounds;
-
-/**
- * 自定义拦截器方法,处理模糊查询中包含特殊字符(_、%、\)
- */
-@Intercepts({
-        @Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class,
-                RowBounds.class, ResultHandler.class}),
-        @Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class,
-                RowBounds.class, ResultHandler.class, CacheKey.class, BoundSql.class})})
-public class EscapeInterceptor implements Interceptor {
-
-    @Override
-    public Object intercept(Invocation invocation) throws Throwable {
-        // TODO Auto-generated method stub
-        // 拦截sql
-        Object[] args = invocation.getArgs();
-        MappedStatement statement = (MappedStatement) args[0];
-        // 请求参数对象
-        Object parameterObject = args[1];
-
-        // 获取 SQL
-        SqlCommandType sqlCommandType = statement.getSqlCommandType();
-        if (SqlCommandType.SELECT.equals(sqlCommandType)) {
-            if (parameterObject instanceof HashMap) {
-                // 调用特殊字符处理方法
-                HashMap hash = (HashMap) parameterObject;
-                hash.forEach((k, v) -> {
-                    // 仅拦截字符串类型且值不为空
-                    if (v != null && v instanceof String) {
-                        String value = (String) v;
-                        value = value.replaceAll("\\\\", "\\\\\\\\");
-                        value = value.replaceAll("%", "\\\\%");
-                        // 请求参数对象HashMap重新赋值转义后的值
-                        hash.put(k, value);
-                    }
-                });
-
-            }
-        }
-        // 返回
-        return invocation.proceed();
-    }
-
-    @Override
-    public Object plugin(Object target) {
-        // TODO Auto-generated method stub
-        return Plugin.wrap(target, this);
-    }
-
-    @Override
-    public void setProperties(Properties properties) {
-        // TODO Auto-generated method stub
-    }
-
-}

+ 0 - 111
platform-common/src/main/java/com/platform/interceptor/LogInterceptor.java

@@ -1,111 +0,0 @@
-package com.platform.interceptor;
-
-import com.platform.utils.Constant;
-import com.platform.utils.JwtUtil;
-import com.platform.utils.RequestUtil;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.shiro.SecurityUtils;
-import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
-import org.springframework.web.util.UrlPathHelper;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Date;
-
-/**
- * 名称:LogInterceptor <br>
- * 描述:日志拦截器<br>
- *
- * @author 李鹏军
- * @version 1.0
- * @since 1.0.0
- */
-public class LogInterceptor extends HandlerInterceptorAdapter {
-
-    private static final Log log = LogFactory.getLog(LogInterceptor.class);
-
-    /*
-     * (non-Javadoc)
-     * @see org.springframework.web.servlet.handler.HandlerInterceptorAdapter#
-     * preHandle(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse,
-     * java.lang.Object)
-     */
-    @Override
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-        request.setAttribute("REQUEST_START_TIME", new Date());
-
-        return true;
-
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.springframework.web.servlet.handler.HandlerInterceptorAdapter#
-     * postHandle(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse,
-     * java.lang.Object, org.springframework.web.servlet.ModelAndView)
-     */
-    @Override
-    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
-                           ModelAndView modelAndView) throws Exception {
-
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.springframework.web.servlet.handler.HandlerInterceptorAdapter#
-     * afterCompletion(javax.servlet.http.HttpServletRequest,
-     * javax.servlet.http.HttpServletResponse, java.lang.Object, java.lang.Exception)
-     */
-    @Override
-    public void afterCompletion(HttpServletRequest request,
-                                HttpServletResponse response, Object handler,
-                                Exception ex)
-            throws Exception {
-
-        Date start = (Date) request.getAttribute("REQUEST_START_TIME");
-        Date end = new Date();
-//        log.info("本次请求耗时:" + (end.getTime() - start.getTime()) + "毫秒;请求路径" + request.getRequestURI());
-        log.info("本次请求耗时:" + (end.getTime() - start.getTime()) + "毫秒;" + getRequestInfo(request).toString());
-
-    }
-
-    @Override
-    public void afterConcurrentHandlingStarted(HttpServletRequest request,
-                                               HttpServletResponse response,
-                                               Object handler)
-            throws Exception {
-        super.afterConcurrentHandlingStarted(request, response, handler);
-    }
-
-    /**
-     * 主要功能:获取请求详细信息
-     * 注意事项:无
-     *
-     * @param request 请求
-     * @return 请求信息
-     */
-    private StringBuilder getRequestInfo(HttpServletRequest request) {
-        StringBuilder reqInfo = new StringBuilder();
-        UrlPathHelper urlPathHelper = new UrlPathHelper();
-        String urlPath = urlPathHelper.getLookupPathForRequest(request);
-        reqInfo.append(" 请求路径=" + urlPath);
-        reqInfo.append(" 来源IP=" + RequestUtil.getIpAddrByRequest(request));
-
-
-        String userName = "";
-        try {
-            String token = request.getHeader("token");
-            if (token != null) {
-                userName = JwtUtil.parseJWT(token).get("username", String.class);
-            }
-        } catch (Exception e) {
-
-        }
-        reqInfo.append(" 操作人=" + (userName));
-        reqInfo.append(" 请求参数=" + RequestUtil.getParameters(request).toString());
-//        reqInfo.append(" 请求体为=" + RequestUtil.getBody(request).toString());
-        return reqInfo;
-    }
-}

+ 1 - 2
platform-common/src/main/java/com/platform/service/impl/SysLogServiceImpl.java

@@ -6,7 +6,6 @@ import com.platform.dao.SysLogDao;
 import com.platform.entity.SysLogEntity;
 import com.platform.service.SysLogService;
 import com.platform.utils.PageUtilsPlus;
-import com.platform.utils.QueryPlus;
 import org.springframework.stereotype.Service;
 
 import java.util.Map;
@@ -22,7 +21,7 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogDao, SysLogEntity> impl
         //排序
         params.put("sidx", "create_date");
         params.put("asc", false);
-        Page<SysLogEntity> page = new QueryPlus<SysLogEntity>(params).getPage();
+        Page<SysLogEntity> page = new Page<>();
         page.setRecords(baseMapper.selectSysLogPage(page, params));
         return PageUtilsPlus.page(page);
     }

+ 0 - 81
platform-common/src/main/java/com/platform/service/impl/SysMacroServiceImpl.java

@@ -1,81 +0,0 @@
-package com.platform.service.impl;
-
-import com.platform.cache.J2CacheUtils;
-import com.platform.dao.SysMacroDao;
-import com.platform.entity.SysMacroEntity;
-import com.platform.service.SysMacroService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 通用字典表Service实现类
- *
- * @author lipengjun
- * @email 939961241@qq.com
- * @date 2017-08-22 11:48:16
- */
-@Service("sysMacroService")
-public class SysMacroServiceImpl implements SysMacroService {
-    @Autowired
-    private SysMacroDao sysMacroDao;
-
-    @Override
-    public SysMacroEntity queryObject(Long macroId) {
-        return sysMacroDao.queryObject(macroId);
-    }
-
-    @Override
-    public List<SysMacroEntity> queryList(Map<String, Object> map) {
-        return sysMacroDao.queryList(map);
-    }
-
-    @Override
-    public int queryTotal(Map<String, Object> map) {
-        return sysMacroDao.queryTotal(map);
-    }
-
-    @Override
-    public int save(SysMacroEntity sysMacro) {
-        sysMacro.setGmtCreate(new Date());
-        sysMacroDao.save(sysMacro);
-        J2CacheUtils.delByClass(this.getClass().getName(),"queryList");
-        return 1;
-    }
-
-    @Override
-    public int update(SysMacroEntity sysMacro) {
-        sysMacro.setGmtModified(new Date());
-        sysMacroDao.update(sysMacro);
-        J2CacheUtils.delByClass(this.getClass().getName(),"queryList");
-        return 1;
-    }
-
-    @Override
-    public int delete(Long macroId) {
-        sysMacroDao.delete(macroId);
-        J2CacheUtils.delByClass(this.getClass().getName(),"queryList");
-        return 1;
-    }
-
-    @Override
-    public int deleteBatch(Long[] macroIds) {
-        sysMacroDao.deleteBatch(macroIds);
-        J2CacheUtils.delByClass(this.getClass().getName(),"queryList");
-        return 1;
-    }
-
-    @Override
-    public List<SysMacroEntity> queryMacrosByValue(String value) {
-        return sysMacroDao.queryMacrosByValue(value);
-    }
-
-    @Override
-    public List<SysMacroEntity> queryAllParent(Map<String, Object> map) {
-        map.put("type", 0);
-        return sysMacroDao.queryList(map);
-    }
-}

+ 0 - 74
platform-common/src/main/java/com/platform/shiro/CluterShiroSessionDao.java

@@ -1,74 +0,0 @@
-package com.platform.shiro;
-
-import com.google.common.collect.Sets;
-import com.platform.cache.J2CacheUtils;
-import com.platform.utils.Constant;
-import org.apache.shiro.session.Session;
-import org.apache.shiro.session.mgt.eis.AbstractSessionDAO;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.Set;
-
-/**
- * 集群session管理
- *
- * @author lipengjun
- * @date 2018年07月31日 上午14:50
- */
-public class CluterShiroSessionDao extends AbstractSessionDAO {
-
-    @Override
-    protected Serializable doCreate(Session session) {
-        Serializable sessionId = generateSessionId(session);
-        assignSessionId(session, sessionId);
-
-        final String key = Constant.SESSION_KEY + sessionId.toString();
-        setShiroSession(key, session);
-        return sessionId;
-    }
-
-    @Override
-    protected Session doReadSession(Serializable sessionId) {
-        if (sessionId == null) {
-            return null;
-        }
-        final String key = Constant.SESSION_KEY + sessionId.toString();
-        return getShiroSession(key);
-    }
-
-    @Override
-    public void update(Session session) {
-        final String key = Constant.SESSION_KEY + session.getId().toString();
-        setShiroSession(key, session);
-    }
-
-    @Override
-    public void delete(Session session) {
-        final String key = Constant.SESSION_KEY + session.getId().toString();
-
-        J2CacheUtils.remove(key);
-    }
-
-    @Override
-    public Collection<Session> getActiveSessions() {
-        Collection<String> keys = J2CacheUtils.keys(Constant.SESSION_KEY + "*");
-
-        Set<Session> sessionSet = Sets.newHashSet();
-        for (String key : keys) {
-            Session session = getShiroSession(key);
-            if (session != null) {
-                sessionSet.add(session);
-            }
-        }
-        return sessionSet;
-    }
-
-    private Session getShiroSession(String key) {
-        return (Session) J2CacheUtils.get(key);
-    }
-
-    private void setShiroSession(String key, Session session) {
-        J2CacheUtils.put(key, session);
-    }
-}

+ 0 - 43
platform-common/src/main/java/com/platform/shiro/UserRealm.java

@@ -1,43 +0,0 @@
-package com.platform.shiro;
-
-import com.platform.shiro.jwt.JwtToken;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.authc.AuthenticationException;
-import org.apache.shiro.authc.AuthenticationInfo;
-import org.apache.shiro.authc.AuthenticationToken;
-import org.apache.shiro.authz.AuthorizationInfo;
-import org.apache.shiro.realm.AuthorizingRealm;
-import org.apache.shiro.subject.PrincipalCollection;
-
-/**
- * 认证
- *
- * @author lipengjun
- * @date 2017年11月19日 上午9:49:19
- */
-@Slf4j
-public class UserRealm extends AuthorizingRealm {
-
-    @Override
-    public boolean supports(AuthenticationToken token) {
-        return token instanceof JwtToken;
-    }
-
-
-    /**
-     * 授权(验证权限时调用)
-     */
-    @Override
-    protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
-        return null;
-    }
-
-    /**
-     * 认证(登录时调用)
-     */
-    @Override
-    protected AuthenticationInfo doGetAuthenticationInfo(
-            AuthenticationToken auth) throws AuthenticationException {
-        return null;
-    }
-}

+ 0 - 26
platform-common/src/main/java/com/platform/shiro/VelocityShiro.java

@@ -1,26 +0,0 @@
-package com.platform.shiro;
-
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.subject.Subject;
-
-/**
- * Shiro权限标签(Velocity版)
- *
- * @author lipengjun
- * @email 939961241@qq.com
- * @date 2016年12月3日 下午11:32:47
- */
-public class VelocityShiro {
-
-    /**
-     * 是否拥有该权限
-     *
-     * @param permission 权限标识
-     * @return true:是     false:否
-     */
-    public boolean hasPermission(String permission) {
-        Subject subject = SecurityUtils.getSubject();
-        return subject != null && subject.isPermitted(permission);
-    }
-
-}

+ 0 - 102
platform-common/src/main/java/com/platform/shiro/jwt/JwtFilter.java

@@ -1,102 +0,0 @@
-package com.platform.shiro.jwt;
-
-import com.alibaba.fastjson.JSON;
-import com.platform.entity.Result;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.authc.AuthenticationException;
-import org.apache.shiro.authz.UnauthorizedException;
-import org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter;
-import org.apache.shiro.web.util.WebUtils;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.RequestMethod;
-
-import javax.servlet.ServletOutputStream;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-@Slf4j
-public class JwtFilter extends BasicHttpAuthenticationFilter {
-    private boolean allowOrigin = true;
-
-    public JwtFilter(){}
-    public JwtFilter(boolean allowOrigin){
-        this.allowOrigin = allowOrigin;
-    }
-    /**
-     * 如果带有 token,则对 token 进行检查,否则直接通过
-     */
-    @Override
-    protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws UnauthorizedException {
-        try {
-            executeLogin(request, response);
-        } catch (Exception e) {
-            responseError(response);
-        }
-        return true;
-    }
-
-    /**
-     * 判断用户是否想要登入。
-     * 检测 header 里面是否包含 token 字段
-     */
-    @Override
-    protected boolean isLoginAttempt(ServletRequest request, ServletResponse response) {
-        HttpServletRequest req = (HttpServletRequest) request;
-        String token = req.getHeader("token");
-        return token != null;
-    }
-
-    /**
-     * 执行登陆操作
-     */
-    @Override
-    protected boolean executeLogin(ServletRequest request, ServletResponse response) throws Exception {
-        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
-        String token = httpServletRequest.getHeader("token");
-        JwtToken jwtToken = new JwtToken(token);
-        // 提交给realm进行登入,如果错误它会抛出异常并被捕获
-        getSubject(request, response).login(jwtToken);
-         //如果没有抛出异常则代表登入成功,返回true
-        return false;
-    }
-
-    /**
-     * 对跨域提供支持
-     */
-    @Override
-    protected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception {
-        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
-        HttpServletResponse httpServletResponse = (HttpServletResponse) response;
-        httpServletResponse.setHeader("Access-control-Allow-Origin", httpServletRequest.getHeader("Origin"));
-        httpServletResponse.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS,PUT,DELETE");
-        httpServletResponse.setHeader("Access-Control-Allow-Headers", httpServletRequest.getHeader("Access-Control-Request-Headers"));
-        //前后端分离,shiro过滤器配置引起的跨域问题
-        // 是否允许发送Cookie,默认Cookie不包括在CORS请求之中。设为true时,表示服务器允许Cookie包含在请求中。
-        httpServletResponse.setHeader("Access-Control-Allow-Credentials", "true");
-        //前后端分离,shiro过滤器配置引起的跨域问题
-        // 跨域时会首先发送一个option请求,这里我们给option请求直接返回正常状态
-        if (httpServletRequest.getMethod().equals(RequestMethod.OPTIONS.name())) {
-            httpServletResponse.setStatus(HttpStatus.OK.value());
-            return false;
-        }
-        return super.preHandle(request, response);
-    }
-
-    /**
-     * 非法请求返回401,前端拦截到登录页
-     */
-    private void responseError(ServletResponse response) {
-        HttpServletResponse httpServletResponse = WebUtils.toHttp(response);
-        httpServletResponse.setStatus(HttpStatus.UNAUTHORIZED.value());
-        httpServletResponse.setCharacterEncoding("UTF-8");
-        httpServletResponse.setContentType("application/json; charset=utf-8");
-        try (ServletOutputStream out = httpServletResponse.getOutputStream()) {
-            out.write(JSON.toJSONString(Result.failure(401,"身份验证失败,请重新登陆!")).getBytes("utf-8"));
-        } catch (IOException e) {
-            throw new AuthenticationException("直接返回Response信息出现IOException异常:" + e.getMessage());
-        }
-    }
-}

+ 0 - 24
platform-common/src/main/java/com/platform/shiro/jwt/JwtToken.java

@@ -1,24 +0,0 @@
-package com.platform.shiro.jwt;
-
-import org.apache.shiro.authc.AuthenticationToken;
-
-public class JwtToken implements AuthenticationToken {
-
-    private String token;
-
-    public JwtToken(String token) {
-        this.token = token;
-    }
-
-    @Override
-    public Object getPrincipal() {
-        return token;
-    }
-
-    @Override
-    public Object getCredentials() {
-        return token;
-    }
-
-}
-

+ 0 - 83
platform-common/src/main/java/com/platform/utils/QueryPlus.java

@@ -1,83 +0,0 @@
-package com.platform.utils;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.platform.xss.SQLFilter;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-/**
- * MybatisPlus查询参数
- * 兼容原有的分页,所以不用原来的Query
- *
- * @author lipengjun
- * @email 939961241@qq.com
- * @date 2017-03-14 23:15
- */
-public class QueryPlus<T> extends LinkedHashMap<String, Object> {
-    private static final long serialVersionUID = 1L;
-    /**
-     * mybatis-plus分页参数
-     */
-    private Page<T> page;
-    /**
-     * 当前页码
-     */
-    private int currPage = 1;
-    /**
-     * 每页条数
-     */
-    private int limit = 10;
-
-    public static final String ASC = "asc";
-
-    public QueryPlus(Map<String, Object> params) {
-
-        String strPage = "page";
-        String strLimit = "limit";
-        this.putAll(params);
-
-        //分页参数
-        if (params.get(strPage) != null) {
-            currPage = Integer.parseInt((String) params.get("page"));
-        }
-        if (params.get(strLimit) != null) {
-            limit = Integer.parseInt((String) params.get("limit"));
-        }
-
-        this.put("offset", (currPage - 1) * limit);
-        this.put("page", currPage);
-        this.put("limit", limit);
-
-        String sidx = (String) params.get("sidx");
-        //默认升序
-        Boolean asc = true;
-        if (!StringUtils.isNullOrEmpty(params.get(ASC))) {
-            asc = (Boolean) params.get("asc");
-        }
-        //mybatis-plus分页
-        this.page = new Page<>(currPage, limit);
-
-        //排序
-        if (StringUtils.isNotEmpty(sidx)) {
-            if (asc) {
-                this.page.setAsc(sidx);
-            } else {
-                this.page.setDesc(sidx);
-            }
-        }
-
-    }
-
-    public Page<T> getPage() {
-        return page;
-    }
-
-    public int getCurrPage() {
-        return currPage;
-    }
-
-    public int getLimit() {
-        return limit;
-    }
-}

+ 0 - 61
platform-common/src/main/java/com/platform/utils/ShiroUtils.java

@@ -1,61 +0,0 @@
-package com.platform.utils;
-
-import com.platform.vos.CurrentUserLoginVo;
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.session.Session;
-import org.apache.shiro.subject.Subject;
-
-/**
- * Shiro工具类
- *
- * @author lipengjun
- * @email 939961241@qq.com
- * @date 2016年11月12日 上午9:49:19
- */
-public class ShiroUtils {
-
-    public static Session getSession() {
-        return SecurityUtils.getSubject().getSession();
-    }
-
-    public static Subject getSubject() {
-        return SecurityUtils.getSubject();
-    }
-
-    public static CurrentUserLoginVo getUserEntity() {
-        Subject subject = SecurityUtils.getSubject();
-        return (CurrentUserLoginVo) subject.getPrincipal();
-    }
-
-    public static Long getUserId() {
-        return getUserEntity().getId();
-    }
-
-    public static void setSessionAttribute(Object key, Object value) {
-        getSession().setAttribute(key, value);
-    }
-
-    public static Object getSessionAttribute(Object key) {
-        return getSession().getAttribute(key);
-    }
-
-    public static boolean isLogin() {
-        return SecurityUtils.getSubject().getPrincipal() != null;
-    }
-
-    public static void logout() {
-        SecurityUtils.getSubject().logout();
-    }
-
-    public static String getKaptcha(String key) {
-        String kaptcha;
-        try {
-            kaptcha = getSessionAttribute(key).toString();
-            getSession().removeAttribute(key);
-        } catch (Exception e) {
-            return null;
-        }
-        return kaptcha;
-    }
-
-}

+ 3 - 4
platform-common/src/main/java/com/platform/utils/SpringContextUtils.java

@@ -13,12 +13,11 @@ import org.springframework.stereotype.Component;
  * @date 2016年11月29日 下午11:45:51
  */
 @Component
-public class SpringContextUtils implements ApplicationContextAware {
+public class SpringContextUtils {
     public static ApplicationContext applicationContext;
 
-    @Override
-    public void setApplicationContext(ApplicationContext applicationContext)
-            throws BeansException {
+
+    public static  void setApplicationContext(ApplicationContext applicationContext) {
         SpringContextUtils.applicationContext = applicationContext;
     }
 

+ 0 - 16
platform-common/src/main/java/com/platform/utils/StringUtils.java

@@ -154,20 +154,4 @@ public class StringUtils {
         return Integer.parseInt(s);
     }
 
-    /**
-     * 生成key
-     *
-     * @param prefix     前缀
-     * @param className  类名
-     * @param methodName 方法名
-     * @return prefix className.methodName
-     */
-    public static String genKey(String prefix, String className, String methodName) {
-        return prefix + "userId_" +
-                ShiroUtils.getUserId() +
-                "_" +
-                className +
-                "." +
-                methodName;
-    }
 }

platform-framework/src/main/resources/caffeine.properties → platform-common/src/main/resources/caffeine.properties


platform-framework/src/main/resources/ehcache.xml → platform-common/src/main/resources/ehcache.xml


platform-framework/src/main/resources/j2cache.properties → platform-common/src/main/resources/j2cache.properties


+ 1 - 1
platform-framework/src/main/resources/network.xml

@@ -40,4 +40,4 @@
     <MFC max_credits="2M"
          min_threshold="0.4"/>
     <FRAG2 frag_size="60K"/>
-</config>
+</config>

+ 0 - 8
platform-common/src/main/resources/platform-common.xml

@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
-
-    <bean id="regionCacheUtil" class="com.platform.cache.RegionCacheUtil"/>
-</beans>

+ 0 - 84
platform-common/src/main/resources/platform-shiro.xml

@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
-	   xsi:schemaLocation="http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
-
-	<!-- 继承自AuthorizingRealm的自定义Realm,即指定Shiro验证用户登录的类为自定义的UserRealm.java -->
-	<bean id="userRealm" class="com.platform.shiro.UserRealm"/>
-
-    <bean id="cluterShiroSessionDao" class="com.platform.shiro.CluterShiroSessionDao"/>
-
-	<bean id="sessionManager" class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager">
-		<!-- 设置session过期时间为1小时(单位:毫秒),默认为30分钟 -->
-		<property name="globalSessionTimeout" value="3600000"></property>
-		<property name="sessionValidationSchedulerEnabled" value="true"></property>
-		<property name="sessionIdUrlRewritingEnabled" value="false"></property>
-        <property name="sessionDAO" ref="cluterShiroSessionDao"/>
-	</bean>
-
-	<!-- Shiro默认会使用Servlet容器的Session,可通过sessionMode属性来指定使用Shiro原生Session -->
-	<!-- 即<property name="sessionMode" value="native"/>,详细说明见官方文档 -->
-	<!-- 这里主要是设置自定义的单Realm应用,若有多个Realm,可使用'realms'属性代替 -->
-	<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
-		<property name="sessionManager" ref="sessionManager"></property>
-	    <property name="realm" ref="userRealm"/>
-	</bean>
-	<bean id="JwtFilter" class="com.platform.shiro.jwt.JwtFilter">
-	</bean>
-	<!-- Shiro主过滤器本身功能十分强大,其强大之处就在于它支持任何基于URL路径表达式的、自定义的过滤器的执行 -->
-	<!-- Web应用中,Shiro可控制的Web请求必须经过Shiro主过滤器的拦截,Shiro对基于Spring的Web应用提供了完美的支持 -->
-	<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
-	    <!-- Shiro的核心安全接口,这个属性是必须的 -->
-	    <property name="securityManager" ref="securityManager"/>
-	    <!-- 要求登录时的链接(可根据项目的URL进行替换),非必须的属性,默认会自动寻找Web工程根目录下的"/login.html"页面 -->
-		<property name="filters">
-			<util:map>
-				<!-- key 定义 Filter的别名,而 value-ref 对应上面bean的id -->
-				<entry key="jwt" value-ref="JwtFilter"/>
-			</util:map>
-		</property>
-		<property name="loginUrl" value="/loginFilet"/>
-		<!-- 登录成功后要跳转的连接 -->
-		<property name="successUrl" value="/index.html"/>
-	    <!-- 用户访问未对其授权的资源时,所显示的连接 -->
-	    <!-- 若想更明显的测试此属性可以修改它的值,如unauthor.jsp,然后用[玄玉]登录后访问/admin/listUser.jsp就看见浏览器会显示unauthor.jsp -->
-	    <property name="unauthorizedUrl" value="/"/>
-	    <!-- Shiro连接约束配置,即过滤链的定义 -->
-	    <!-- 此处可配合我的这篇文章来理解各个过滤连的作用http://blog.csdn.net/jadyer/article/details/12172839 -->
-	    <!-- 下面value值的第一个'/'代表的路径是相对于HttpServletRequest.getContextPath()的值来的 -->
-	    <!-- anon:它对应的过滤器里面是空的,什么都没做,这里.do和.jsp后面的*表示参数,比方说login.jsp?main这种 -->
-	    <!-- authc:该过滤器下的页面必须验证后才能访问,它是Shiro内置的一个拦截器org.apache.shiro.web.filter.authc.FormAuthenticationFilter -->
-	    <property name="filterChainDefinitions">
-	        <value>
-	        	/statics/**=anon
-				/api/**=anon
-				/4dkankan/shop/notify=anon
-				/api/**=noSessionCreation
-	        	/login.html=anon
-	        	/sys/login=anon
-	        	/sys/authCode=anon
-				/sys/user/infoAnon/**=anon
-	        	/captcha.jpg=anon
-				/goods/getGoodsListByScene=anon
-				/goods/getCategoryListByScene=anon
-				/goods/getGoods=anon
-				/goods/save=anon
-				/app/census/getSceneCensus=anon
-				/app/census/addGoodsQueryNum=anon
-				/goods/getGoodsDetail=anon
-	        	/**=jwt
-	        </value>
-	    </property>
-	</bean>
-
-	<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>
-
-	<!-- AOP式方法级权限检查  -->
-	<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor">
-		<property name="proxyTargetClass" value="true" />
-	</bean>
-	<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
-    	<property name="securityManager" ref="securityManager"/>
-	</bean>
-</beans>

+ 0 - 47
platform-framework/pom.xml

@@ -1,47 +0,0 @@
-<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/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <artifactId>platform</artifactId>
-        <groupId>com.platform</groupId>
-        <version>1.0.0</version>
-    </parent>
-
-    <artifactId>platform-framework</artifactId>
-    <packaging>war</packaging>
-    <name>platform-framework</name>
-    <description>
-        此项目为系统WEB合并,
-        合并项目可以根据需要自己配置。
-        最终打包的项目也根据此配置进行打包。
-    </description>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.platform</groupId>
-            <artifactId>platform-common</artifactId>
-            <version>1.0.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.platform</groupId>
-            <artifactId>platform-api</artifactId>
-            <version>1.0.0</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <sourceDirectory>src/main/java</sourceDirectory>
-        <finalName>platform</finalName>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.18.1</version>
-                <configuration>
-                    <skipTests>true</skipTests>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>

+ 0 - 8
platform-framework/src/main/java/com/platform/PlatformApplication.java

@@ -1,8 +0,0 @@
-//package com.platform;
-//
-//@SpringBootApplication
-//public class PlatformApplication {
-//    public static void main(String[] args) {
-//        SpringApplication.run(PlatformApplication.class, args);
-//    }
-//}

+ 0 - 13
platform-framework/src/main/resources/application.properties

@@ -1,13 +0,0 @@
-spring.application.name=shop-platform
-server.port=8190
-
-nacos.config.bootstrap.enable=true
-nacos.config.server-addr=120.24.202.7:8848
-nacos.config.type=properties
-nacos.config.namespace=dev
-nacos.config.group=zfb
-nacos.config.data-id=shop-platform.properties
-
-nacos.discovery.server-addr=120.24.202.7:8848
-nacos.discovery.namespace=dev
-nacos.discovery.register.group-name=zfb

+ 0 - 68
platform-framework/src/main/resources/log4j.properties

@@ -1,68 +0,0 @@
-log4j.rootLogger=INFO,stdout,info,warn,error,file
-#控制台输出
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.Target=System.out
-log4j.appender.stdout.Threshold=INFO
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS}|%5p|%F.%M:%L|%m%n
-#INFO所有日志
-log4j.logger.file=info
-log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.file.File=../logs/info.log
-log4j.appender.file.datePattern='.'yyyy-MM-dd'.log'
-log4j.appender.file.append=true
-log4j.appender.file.Threshold=INFO
-log4j.appender.file.encoding=UTF-8
-log4j.appender.file.ImmediateFlush=true
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS}|%5p|%F.%M:%L|%m%n
-#INFO日志
-log4j.logger.info=info
-log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.info.File=../logs/info/info.log
-log4j.appender.info.datePattern='.'yyyy-MM-dd'.log'
-log4j.appender.info.append=true
-log4j.appender.info.Threshold=INFO
-log4j.appender.info.encoding=UTF-8
-log4j.appender.info.ImmediateFlush=true
-log4j.appender.info.layout=org.apache.log4j.PatternLayout
-log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS}|%5p|%F.%M:%L|%m%n
-#WARN日志
-log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.warn.File=../logs/warn/warn.log
-log4j.appender.warn.datePattern='.'yyyy-MM-dd'.log'
-log4j.appender.warn.append=true
-log4j.appender.warn.Threshold=WARN
-log4j.appender.warn.encoding=UTF-8
-log4j.appender.warn.ImmediateFlush=true
-log4j.appender.warn.layout=org.apache.log4j.PatternLayout
-log4j.appender.warn.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS}|%5p|%F.%M:%L|%m%n
-#ERROR日志
-log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.error.File=../logs/error/error.log
-log4j.appender.error.datePattern='.'yyyy-MM-dd'.log'
-log4j.appender.error.append=true
-log4j.appender.error.Threshold=ERROR
-log4j.appender.error.encoding=UTF-8
-log4j.appender.error.ImmediateFlush=true
-log4j.appender.error.layout=org.apache.log4j.PatternLayout
-log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS}|%5p|%F.%M:%L|%m%n
-#执行慢的SQL
-log4j.logger.com.alibaba.druid.filter.stat.StatFilter=ERROR,slowsql
-log4j.appender.slowsql=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.slowsql.File=../logs/slow_sql/slow_sql.log
-log4j.appender.slowsql.datePattern='.'yyyy-MM-dd'.log'
-log4j.appender.slowsql.append=true
-log4j.appender.slowsql.encoding=UTF-8
-log4j.appender.slowsql.ImmediateFlush=true
-log4j.appender.slowsql.layout=org.apache.log4j.PatternLayout
-log4j.appender.slowsql.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS}|%5p|%F.%M:%L|%m%n
-#控制台输出所有SQL
-#便于调试  生产环境注释
-log4j.logger.com.platform.dao=DEBUG,sql
-log4j.appender.sql=org.apache.log4j.ConsoleAppender
-log4j.appender.sql.Target=DEBUG
-log4j.appender.sql.layout=org.apache.log4j.PatternLayout
-log4j.appender.sql.layout.ConversionPattern=%m %n
-
-

+ 0 - 14
platform-framework/src/main/resources/mybatis.xml

@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
-        "http://mybatis.org/dtd/mybatis-3-config.dtd">
-<configuration>
-    <settings>
-        <setting name="mapUnderscoreToCamelCase" value="true"/>
-    </settings>
-    <plugins>
-        <plugin interceptor="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
-            <property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.MySQLDialect"/>
-        </plugin>
-    </plugins>
-</configuration><!-- 配置分页插件 -->
-

+ 0 - 158
platform-framework/src/main/resources/spring-jdbc.xml

@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
-       xsi:schemaLocation="
-        http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
-        http://www.springframework.org/schema/context
-        http://www.springframework.org/schema/context/spring-context-4.2.xsd
-        http://www.springframework.org/schema/tx
-     	http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
-		http://www.springframework.org/schema/aop
-		http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
-    <tx:annotation-driven/>
-    <!-- Import Properties -->
-    <context:property-placeholder location="classpath*:shop-platform.properties"/>
-
-    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
-          init-method="init" destroy-method="close">
-        <property name="url">
-            <value>${jdbc.url}</value>
-        </property>
-        <property name="username">
-            <value>${jdbc.username}</value>
-        </property>
-        <property name="password">
-            <value>${jdbc.password}</value>
-        </property>
-        <property name="initialSize">
-            <value>${jdbc.initialSize}</value>
-        </property>
-        <property name="maxActive">
-            <value>${jdbc.maxActive}</value>
-        </property>
-        <property name="proxyFilters">
-            <list>
-                <ref bean="stat-filter"/>
-                <!--过滤永真条件 防止注入-->
-                <ref bean="wall-filter"/>
-            </list>
-        </property>
-        <property name="connectionInitSqls" value="set names utf8mb4;"/>
-    </bean>
-
-    <bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter">
-        <property name="slowSqlMillis" value="1000"/>
-        <property name="logSlowSql" value="true"/>
-        <property name="mergeSql" value="true"/>
-    </bean>
-
-    <bean id="wall-filter" class="com.alibaba.druid.wall.WallFilter">
-        <property name="dbType" value="mysql"/>
-        <property name="config" ref="wall-filter-config"/>
-    </bean>
-
-    <bean id="wall-filter-config" class="com.alibaba.druid.wall.WallConfig">
-        <property name="multiStatementAllow" value="true"/>
-    </bean>
-
-    <bean id="druid-stat-interceptor" class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor"></bean>
-    <bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut" scope="prototype">
-        <property name="patterns">
-            <list>
-                <value>com.platform.controller.*</value>
-                <value>com.platform.service.*</value>
-            </list>
-        </property>
-    </bean>
-    <aop:config>
-        <aop:advisor advice-ref="druid-stat-interceptor" pointcut-ref="druid-stat-pointcut"/>
-    </aop:config>
-
-    <!-- 配置事务管理器 -->
-    <bean id="transactionManager"
-          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
-        <property name="dataSource" ref="dataSource"></property>
-    </bean>
-
-    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
-        <property name="dataSource">
-            <ref bean="dataSource"/>
-        </property>
-    </bean>
-
-    <!-- JDBC配置 -->
-    <bean id="namedParameterJdbcTemplate"
-          class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
-        <constructor-arg ref="dataSource"/>
-    </bean>
-
-    <!-- SqlSessionFactory MyBatisPlus Config -->
-    <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
-        <property name="typeAliasesPackage" value="com.platform.entity"/>
-        <property name="dataSource" ref="dataSource"/>
-        <property name="globalConfig">
-            <bean class="com.baomidou.mybatisplus.core.config.GlobalConfig">
-                <property name="dbConfig">
-                    <bean class="com.baomidou.mybatisplus.core.config.GlobalConfig.DbConfig">
-                        <!-- 表关键词 key 生成器 -->
-                        <property name="keyGenerator">
-                            <bean class="com.baomidou.mybatisplus.extension.incrementer.OracleKeyGenerator"/>
-                        </property>
-                        <!-- 主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID"; -->
-                        <property name="idType" value="AUTO"/>
-                        <!-- 字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断" -->
-                        <property name="fieldStrategy" value="NOT_EMPTY"/>
-                        <!-- 逻辑删除配置 -->
-                        <property name="logicDeleteValue" value="0"/>
-                        <property name="logicNotDeleteValue" value="1"/>
-                        <!-- 数据库类型,默认值为未知的数据库类型 如果值为OTHER,启动时会根据数据库连接 url 获取数据库类型;如果不是OTHER则不会自动获取数据库类型 -->
-                        <property name="dbType" value="OTHER"/>
-                    </bean>
-                </property>
-                <property name="sqlInjector">
-                    <!-- 注入逻辑删除 -->
-                    <bean class="com.baomidou.mybatisplus.extension.injector.LogicSqlInjector"/>
-                </property>
-            </bean>
-        </property>
-        <property name="configuration">
-            <bean class="com.baomidou.mybatisplus.core.MybatisConfiguration">
-                <!-- 是否开启自动驼峰命名规则(camel case)映射,即从A_COLUMN(下划线命名) 到Java 属性名 aColumn(驼峰命名) 的类似映射。 -->
-                <property name="mapUnderscoreToCamelCase" value="true"/>
-                <!-- 全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存,默认为 true。 -->
-                <property name="cacheEnabled" value="false"/>
-                <!--指定当结果集中值为 null 的时候是否调用映射对象的 Setter(Map 对象时为 put)方法,通常运用于有 Map.keySet() 依赖或 null 值初始化的情况。
-                    通俗的讲,即 MyBatis 在使用 resultMap 来映射查询结果中的列,如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段,这就
-                    导致在调用到该字段的时候由于没有映射,取不到而报空指针异常。-->
-                <property name="callSettersOnNulls" value="false"/>
-                <!-- 配置JdbcTypeForNull, oracle数据库必须配置 -->
-                <property name="jdbcTypeForNull" value="NULL"/>
-            </bean>
-        </property>
-        <property name="plugins">
-            <array>
-                <!-- 性能分析拦截器 -->
-                <bean class="com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor">
-                    <property name="format" value="true"></property>
-                    <property name="maxTime" value="100"></property>
-                    <!-- 是否写入日志文件(true 写入日志文件,不阻断程序执行!超过设定的最大执行时长异常提示) -->
-                    <property name="writeInLog" value="true"></property>
-                </bean>
-                <!-- 分页拦截器 -->
-                <bean class="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor"/>
-                <!-- 乐观锁 -->
-                <bean class="com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor"/>
-                <bean class="com.platform.interceptor.EscapeInterceptor"/>
-            </array>
-        </property>
-    </bean>
-
-    <!-- MyBatis Mapper Scan Config  -->
-    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
-        <property name="basePackage" value="com.platform.dao,com.platform.dao.custom,com.platform.*.dao"/>
-    </bean>
-</beans>

+ 0 - 123
platform-framework/src/main/resources/spring-mvc.xml

@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:aop="http://www.springframework.org/schema/aop"
-       xmlns:mvc="http://www.springframework.org/schema/mvc"
-       xsi:schemaLocation="
-        http://www.springframework.org/schema/beans 
-        http://www.springframework.org/schema/beans/spring-beans-4.2.xsd        
-        http://www.springframework.org/schema/context 
-        http://www.springframework.org/schema/context/spring-context-4.2.xsd
-     	http://www.springframework.org/schema/aop 
-     	http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
-		http://www.springframework.org/schema/mvc 
-     	http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">
-
-    <context:component-scan base-package="com.platform.*,com.alibaba.nacos.*"/>
-    <context:annotation-config/>
-    <mvc:default-servlet-handler/>
-    <aop:aspectj-autoproxy proxy-target-class="true"/>
-    <mvc:annotation-driven>
-        <mvc:message-converters register-defaults="true">
-            <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
-                <property name="supportedMediaTypes">
-                    <list>
-                        <value>text/html;charset=UTF-8</value>
-                        <value>application/json;charset=UTF-8</value>
-                    </list>
-                </property>
-                <property name="features">
-                    <list>
-                        <value>WriteMapNullValue</value>
-                        <value>QuoteFieldNames</value>
-                        <value>WriteDateUseDateFormat</value>
-                        <!-- 禁用fastjson循环引用检测 -->
-                        <value>DisableCircularReferenceDetect</value>
-                    </list>
-                </property>
-            </bean>
-        </mvc:message-converters>
-    </mvc:annotation-driven>
-
-    <!-- 为了加载拦截器 需要 日志拦截器 (登录拦截和权限拦截已在shiro实现,看实现 情况处理) -->
-    <mvc:interceptors>
-        <!-- 使用bean定义一个Interceptor,直接定义在mvc:interceptors根下面的Interceptor将拦截所有的请求 -->
-        <!--<bean class="com.platform.interceptor.LogInterceptor"/>-->
-        <mvc:interceptor>
-            <mvc:mapping path="/**"/>
-            <mvc:exclude-mapping path="/statics/**"/>
-            <mvc:exclude-mapping path="/**/**.html"/>
-            <mvc:exclude-mapping path="/**/**.js"/>
-            <bean class="com.platform.interceptor.LogInterceptor"/>
-        </mvc:interceptor>
-    </mvc:interceptors>
-
-    <!-- Velocity视图解析器    默认视图  -->
-    <bean id="velocityViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
-        <property name="contentType" value="text/html;charset=UTF-8"/>
-        <property name="viewNames" value="*.html"/>
-        <property name="suffix" value=""/>
-        <property name="dateToolAttribute" value="date"/>
-        <property name="numberToolAttribute" value="number"/>
-        <property name="toolboxConfigLocation" value="/WEB-INF/velocity-toolbox.xml"/>
-        <!--是否使用spring对宏定义的支持-->
-        <property name="exposeRequestAttributes" value="true"/>
-        <property name="requestContextAttribute" value="rc"/>
-        <property name="order" value="0"/>
-    </bean>
-
-    <bean id="velocityConfigurer" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
-        <property name="resourceLoaderPath" value="/WEB-INF/page/"/>
-        <property name="velocityProperties">
-            <props>
-                <prop key="input.encoding">UTF-8</prop>
-                <prop key="output.encoding">UTF-8</prop>
-                <prop key="contentType">text/html;charset=UTF-8</prop>
-            </props>
-        </property>
-    </bean>
-
-    <!-- JSP视图解析器  -->
-    <bean id="viewResolverJsp" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
-        <property name="prefix" value="/WEB-INF/page/"/>
-        <property name="suffix" value=".jsp"/>
-    </bean>
-
-    <!-- FreeMarker视图解析器 -->
-    <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
-        <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/>
-        <property name="contentType" value="text/html; charset=utf-8"/>
-        <property name="cache" value="false"/>
-        <property name="viewNames" value="*.ftl"/>
-        <property name="suffix" value=""/>
-        <property name="order" value="2"/>
-    </bean>
-
-    <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
-        <property name="templateLoaderPath" value="/WEB-INF/page/"/>
-    </bean>
-
-    <bean id="multipartResolver"
-          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
-        <property name="maxUploadSize" value="1000000000"/>
-    </bean>
-
-    <!-- Kaptcha验证码生成器 -->
-    <bean name="producer" class="com.google.code.kaptcha.impl.DefaultKaptcha" scope="singleton">
-        <property name="config">
-            <bean class="com.google.code.kaptcha.util.Config">
-                <constructor-arg>
-                    <props>
-                        <prop key="kaptcha.border">no</prop>
-                        <prop key="kaptcha.textproducer.font.color">black</prop>
-                        <prop key="kaptcha.textproducer.char.space">4</prop>
-                        <prop key="kaptcha.textproducer.char.length">4</prop>
-                        <prop key="kaptcha.textproducer.char.string">123456789</prop>
-                    </props>
-                </constructor-arg>
-            </bean>
-        </property>
-    </bean>
-
-</beans>

+ 0 - 9
platform-framework/src/main/webapp/WEB-INF/dispatcher-servlet.xml

@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="
-        http://www.springframework.org/schema/beans 
-        http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
-
-
-</beans>

+ 0 - 15
platform-framework/src/main/webapp/WEB-INF/velocity-toolbox.xml

@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<toolbox>
-	<!-- velocity 自定义标签 -->
-	<tool>
-	    <key>shiro</key>
-	    <scope>application</scope>
-	    <class>com.platform.shiro.VelocityShiro</class>
-	</tool>
-	<!-- 当前登录用户信息 -->
-	<tool>
-		<key>user</key>
-		<scope>application</scope>
-		<class>com.platform.utils.ShiroUtils</class>
-	</tool>
-</toolbox>

+ 0 - 111
platform-framework/src/main/webapp/WEB-INF/web.xml

@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
-  http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
-         version="3.1" metadata-complete="false">
-    <context-param>
-        <param-name>contextConfigLocation</param-name>
-        <param-value>
-            classpath:spring-mvc.xml
-            classpath:spring-jdbc.xml
-            classpath*:platform-*.xml
-        </param-value>
-    </context-param>
-
-    <context-param>
-        <param-name>log4jRefreshInterval</param-name>
-        <param-value>600000</param-value>
-    </context-param>
-
-    <context-param>
-        <param-name>webAppRootKey</param-name>
-        <param-value>webPath</param-value>
-    </context-param>
-
-    <listener>
-        <listener-class>org.springframework.web.util.WebAppRootListener</listener-class>
-    </listener>
-
-    <listener>
-        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
-    </listener>
-
-    <filter>
-        <filter-name>encodingFilter</filter-name>
-        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
-        <init-param>
-            <param-name>encoding</param-name>
-            <param-value>UTF-8</param-value>
-        </init-param>
-    </filter>
-
-    <filter-mapping>
-        <filter-name>encodingFilter</filter-name>
-        <url-pattern>/*</url-pattern>
-    </filter-mapping>
-
-    <!-- 配置Shiro过滤器,先让Shiro过滤系统接收到的请求 -->
-    <!-- 这里filter-name必须对应applicationContext.xml中定义的<bean id="shiroFilter"/> -->
-    <!-- 使用[/*]匹配所有请求,保证所有的可控请求都经过Shiro的过滤 -->
-    <!-- 通常会将此filter-mapping放置到最前面(即其他filter-mapping前面),以保证它是过滤器链中第一个起作用的 -->
-    <filter>
-        <filter-name>shiroFilter</filter-name>
-        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
-        <init-param>
-            <!-- 该值缺省为false,表示生命周期由SpringApplicationContext管理,设置为true则表示由servlet container管理 -->
-            <param-name>targetFilterLifecycle</param-name>
-            <param-value>true</param-value>
-        </init-param>
-    </filter>
-
-    <filter-mapping>
-        <filter-name>shiroFilter</filter-name>
-        <url-pattern>/*</url-pattern>
-    </filter-mapping>
-
-    <filter>
-        <filter-name>xssFilter</filter-name>
-        <filter-class>com.platform.xss.XssFilter</filter-class>
-        <init-param>
-            <!--凡是提交包含html内容的请求都要写在这里,若有多个以逗号隔开-->
-            <param-name>excludedPages</param-name>
-            <param-value>/topic/update,/topic/save,/goods/save,/goods/update,/join/index.html</param-value>
-        </init-param>
-    </filter>
-
-    <filter-mapping>
-        <filter-name>xssFilter</filter-name>
-        <url-pattern>/*</url-pattern>
-    </filter-mapping>
-
-    <servlet>
-        <servlet-name>dispatcher</servlet-name>
-        <servlet-class>
-            org.springframework.web.servlet.DispatcherServlet
-        </servlet-class>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
-
-    <servlet-mapping>
-        <servlet-name>dispatcher</servlet-name>
-        <url-pattern>/</url-pattern>
-    </servlet-mapping>
-
-    <servlet>
-        <servlet-name>DruidStatView</servlet-name>
-        <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
-    </servlet>
-
-    <servlet-mapping>
-        <servlet-name>DruidStatView</servlet-name>
-        <url-pattern>/druid/*</url-pattern>
-    </servlet-mapping>
-
-
-    <error-page>
-        <error-code>404</error-code>
-        <location>/404.html</location>
-    </error-page>
-
-</web-app>

+ 0 - 404
pom.xml

@@ -10,409 +10,5 @@
     <modules>
         <module>platform-common</module> <!-- 公共模块 -->
         <module>platform-api</module> <!-- API模块 -->
-        <module>platform-admin</module>
-        <module>platform-shop</module>
-        <module>platform-framework</module>
     </modules>
-<!--    <parent>-->
-<!--        <groupId>org.springframework.boot</groupId>-->
-<!--        <artifactId>spring-boot-starter-parent</artifactId>-->
-<!--        <version>2.3.12.RELEASE</version>-->
-<!--        <relativePath/>-->
-<!--    </parent>-->
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <server.port>8080</server.port>
-        <java-version>1.8</java-version>
-        <servlet-version>3.1.0</servlet-version>
-        <junit-version>4.12</junit-version>
-        <springframework-version>4.3.7.RELEASE</springframework-version>
-        <mysql-version>8.0.11</mysql-version>
-        <hibernate-validator-version>5.4.1.Final</hibernate-validator-version>
-        <druid-version>1.0.28</druid-version>
-        <commons-lang-version>2.6</commons-lang-version>
-        <commons-fileupload-version>1.3.3</commons-fileupload-version>
-        <commons-io-version>2.5</commons-io-version>
-        <commons-codec-version>1.10</commons-codec-version>
-        <commons-configuration-version>1.10</commons-configuration-version>
-        <slf4j-version>1.7.19</slf4j-version>
-        <log4j-version>1.2.17</log4j-version>
-        <fastjson-version>1.2.75</fastjson-version>
-        <shiro-version>1.3.2</shiro-version>
-        <velocity-version>1.7</velocity-version>
-        <velocity-tools-version>2.0</velocity-tools-version>
-        <jstl-version>1.2</jstl-version>
-        <taglibs-version>1.1.2</taglibs-version>
-        <freemarker-version>2.3.23</freemarker-version>
-        <kaptcha.version>2.3.2</kaptcha.version>
-        <j2cache.version>2.7.2-release</j2cache.version>
-        <ehcache.version>2.10.4</ehcache.version>
-        <jgroups.version>3.6.13.Final</jgroups.version>
-        <weixin-java-mp.version>3.2.0</weixin-java-mp.version>
-        <lombok.version>1.18.4</lombok.version>
-        <mybatis-plus.version>3.1.0</mybatis-plus.version>
-<!--        <mybatis-plus.version>3.3.1.tmp</mybatis-plus.version>-->
-        <alipay-sdk.version>3.6.0.ALL</alipay-sdk.version>
-        <qcloudsms.version>1.0.6</qcloudsms.version>
-    </properties>
-
-    <!-- 阿里云maven仓库 -->
-    <repositories>
-        <repository>
-            <id>public</id>
-            <name>aliyun nexus</name>
-            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-        </repository>
-    </repositories>
-    <pluginRepositories>
-        <pluginRepository>
-            <id>public</id>
-            <name>aliyun nexus</name>
-            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </pluginRepository>
-    </pluginRepositories>
-
-    <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>${junit-version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet-version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.hibernate</groupId>
-            <artifactId>hibernate-validator</artifactId>
-            <version>${hibernate-validator-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-webmvc</artifactId>
-            <version>${springframework-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-jdbc</artifactId>
-            <version>${springframework-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context-support</artifactId>
-            <version>${springframework-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-aop</artifactId>
-            <version>${springframework-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-aspects</artifactId>
-            <version>${springframework-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-test</artifactId>
-            <version>${springframework-version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>${slf4j-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>${slf4j-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>${log4j-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-            <version>${mysql-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid</artifactId>
-            <version>${druid-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
-            <version>${commons-lang-version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>commons-lang</groupId>
-                    <artifactId>commons-lang</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>commons-fileupload</groupId>
-            <artifactId>commons-fileupload</artifactId>
-            <version>${commons-fileupload-version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>commons-io</groupId>
-                    <artifactId>commons-io</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>${commons-io-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>fastjson</artifactId>
-            <version>${fastjson-version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.thoughtworks.xstream</groupId>
-            <artifactId>xstream</artifactId>
-            <version>1.4.16</version>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <version>${commons-codec-version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-databind</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-            <version>${commons-configuration-version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>commons-logging</groupId>
-                    <artifactId>commons-logging</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.shiro</groupId>
-            <artifactId>shiro-core</artifactId>
-            <version>${shiro-version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.shiro</groupId>
-            <artifactId>shiro-spring</artifactId>
-            <version>${shiro-version}</version>
-        </dependency>
-        <!-- Velocity视图所需jar -->
-        <dependency>
-            <artifactId>velocity</artifactId>
-            <groupId>org.apache.velocity</groupId>
-            <version>${velocity-version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>commons-lang</groupId>
-                    <artifactId>commons-lang</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.velocity</groupId>
-            <artifactId>velocity-tools</artifactId>
-            <version>${velocity-tools-version}</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>dom4j</artifactId>
-                    <groupId>dom4j</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>oro</artifactId>
-                    <groupId>oro</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>sslext</artifactId>
-                    <groupId>sslext</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>struts-core</artifactId>
-                    <groupId>org.apache.struts</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>struts-taglib</artifactId>
-                    <groupId>org.apache.struts</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>struts-tiles</artifactId>
-                    <groupId>org.apache.struts</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>commons-beanutils</artifactId>
-                    <groupId>commons-beanutils</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>commons-chain</artifactId>
-                    <groupId>commons-chain</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>commons-collections</artifactId>
-                    <groupId>commons-collections</groupId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.velocity</groupId>
-                    <artifactId>velocity</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>commons-logging</groupId>
-                    <artifactId>commons-logging</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <!-- JSP视图所需jar -->
-        <dependency>
-            <groupId>jstl</groupId>
-            <artifactId>jstl</artifactId>
-            <version>${jstl-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>taglibs</groupId>
-            <artifactId>standard</artifactId>
-            <version>${taglibs-version}</version>
-        </dependency>
-        <!-- Freemarker视图所需jar -->
-        <dependency>
-            <groupId>org.freemarker</groupId>
-            <artifactId>freemarker</artifactId>
-            <version>${freemarker-version}</version>
-        </dependency>
-        <!--验证码生成工具-->
-        <dependency>
-            <groupId>com.github.penggle</groupId>
-            <artifactId>kaptcha</artifactId>
-            <version>${kaptcha.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>net.oschina.j2cache</groupId>
-            <artifactId>j2cache-core</artifactId>
-            <version>${j2cache.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.alibaba</groupId>
-                    <artifactId>fastjson</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency><!-- Ehcache 2.x //-->
-            <groupId>net.sf.ehcache</groupId>
-            <artifactId>ehcache</artifactId>
-            <version>${ehcache.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.jgroups</groupId>
-            <artifactId>jgroups</artifactId>
-            <version>${jgroups.version}</version>
-        </dependency>
-
-        <!-- lombok可使代码更简洁 -->
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <version>${lombok.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus</artifactId>
-            <version>${mybatis-plus.version}</version>
-        </dependency>
-        <!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java -->
-        <dependency>
-            <groupId>com.alipay.sdk</groupId>
-            <artifactId>alipay-sdk-java</artifactId>
-            <version>${alipay-sdk.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>commons-logging</groupId>
-                    <artifactId>commons-logging</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.1</version>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <artifactId>maven-war-plugin</artifactId>
-                <version>2.6</version>
-                <configuration>
-                    <warSourceDirectory>src/main/webapp</warSourceDirectory>
-                    <failOnMissingWebXml>false</failOnMissingWebXml>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>2.6</version>
-                <configuration>
-                    <encoding>UTF-8</encoding>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.0.0</version>
-            </plugin>
-        </plugins>
-    </build>
 </project>