qrs 1 månad sedan
förälder
incheckning
be4b56875b

+ 10 - 10
alien-gateway/pom.xml

@@ -36,16 +36,16 @@
             <artifactId>spring-cloud-starter-gateway</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-databind</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.boot</groupId>-->
+<!--            <artifactId>spring-boot-starter-web</artifactId>-->
+<!--            <exclusions>-->
+<!--                <exclusion>-->
+<!--                    <groupId>com.fasterxml.jackson.core</groupId>-->
+<!--                    <artifactId>jackson-databind</artifactId>-->
+<!--                </exclusion>-->
+<!--            </exclusions>-->
+<!--        </dependency>-->
 
         <!--loadBalancer负载均衡-->
         <dependency>

+ 1 - 1
alien-gateway/src/main/java/shop/alien/gateway/GatewayApplication.java

@@ -12,7 +12,7 @@ import org.springframework.context.annotation.ComponentScan;
  * @version 1.0
  * @date 2025/1/21 16:58
  */
-@ComponentScan({"shop.alien.gateway.*", "shop.alien.util.*", "shop.alien.config.redis"})
+@ComponentScan({"shop.alien.gateway.*"})
 @MapperScan({"shop.alien.gateway.mapper","shop.alien.entity.system.mapper"})
 @SpringBootApplication
 public class GatewayApplication {

+ 87 - 87
alien-gateway/src/main/java/shop/alien/gateway/config/JWTFilterConfig.java

@@ -1,87 +1,87 @@
-package shop.alien.gateway.config;
-
-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.WebMvcConfigurer;
-
-/**
- * Token 拦截器配置
- *
- * @author ssk
- * @version 1.0
- * @date 2024/12/25 16:59
- */
-@Configuration
-public class JWTFilterConfig implements WebMvcConfigurer {
-
-    @Autowired
-    private JWTInterceptor jwtInterceptor;
-
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-        registry.addInterceptor(jwtInterceptor)
-                .addPathPatterns("/**")
-                //login
-                .excludePathPatterns("/user/userLogin")
-                //门店用户登录
-                .excludePathPatterns("/store/user/login")
-                // 门店用户登录校验
-                .excludePathPatterns("/store/user/checkLogin")
-                // 门店用户注册
-                .excludePathPatterns("/store/user/register")
-                // 门店用户注册校验
-                .excludePathPatterns("/store/user/checkRegister")
-                //文件上传
-                .excludePathPatterns("/file/upload")
-                //阿里回调
-                .excludePathPatterns("/ali/notify")
-                //发送短信
-                .excludePathPatterns("/ali/sendSms")
-                //修改密码
-                .excludePathPatterns("/store/user/updatePassword")
-                //根据手机号获取用户
-                .excludePathPatterns("/store/user/getUserByPhone")
-                //社区列表
-                .excludePathPatterns("/userDynamics/getUserDynamics")
-                //活动列表
-                .excludePathPatterns("/activity/getActivityList")
-                //联名卡列表
-                .excludePathPatterns("/userbrandedcard/getBrandedCardList")
-                //查询字典
-                .excludePathPatterns("/dicts/getLifeDictByTypeName")
-                //首页轮播图
-                .excludePathPatterns("/userCarouselImage/getUserCarouselImage")
-                //查询商铺列表
-                .excludePathPatterns("/userstore/getStoreList")
-                //websocket
-                .excludePathPatterns("/socket/**")
-                .excludePathPatterns("/websocket/**")
-                //druid
-                .excludePathPatterns("/druid/**")
-                //swagger
-                .excludePathPatterns("/webjars/**")
-                .excludePathPatterns("/swagger-resources/**")
-                .excludePathPatterns("/v2/**")
-                .excludePathPatterns("/jrebel/statistics")
-                .excludePathPatterns("/error")
-                .excludePathPatterns("/doc.html")
-                //web数据中台登录接口
-                .excludePathPatterns("/sys/login")
-                .excludePathPatterns("/img/getCarouselImage")
-                //八大类相关接口
-                .excludePathPatterns("/essential-module-information/getChildByParentId")
-                .excludePathPatterns("/essential-module-information/getEssentialModuleInformationList")
-                .excludePathPatterns("/essential-module-information/getList")
-                .excludePathPatterns("/essential-module-information/getPrimaryData")
-                .excludePathPatterns("/version/getLatestVersion")
-                .excludePathPatterns("/elasticSearch/*")
-//                .excludePathPatterns("/**");
-                .excludePathPatterns("/user-violation/level")
-                .excludePathPatterns("/store/user/updatePassword")
-                .excludePathPatterns("/testInfo/getTestInfo")
-                .excludePathPatterns("/file/uploadApp")
-        ;
-    }
-
-}
+//package shop.alien.gateway.config;
+//
+//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.WebMvcConfigurer;
+//
+///**
+// * Token 拦截器配置
+// *
+// * @author ssk
+// * @version 1.0
+// * @date 2024/12/25 16:59
+// */
+//@Configuration
+//public class JWTFilterConfig implements WebMvcConfigurer {
+//
+//    @Autowired
+//    private JWTInterceptor jwtInterceptor;
+//
+//    @Override
+//    public void addInterceptors(InterceptorRegistry registry) {
+//        registry.addInterceptor(jwtInterceptor)
+//                .addPathPatterns("/**")
+//                //login
+//                .excludePathPatterns("/user/userLogin")
+//                //门店用户登录
+//                .excludePathPatterns("/store/user/login")
+//                // 门店用户登录校验
+//                .excludePathPatterns("/store/user/checkLogin")
+//                // 门店用户注册
+//                .excludePathPatterns("/store/user/register")
+//                // 门店用户注册校验
+//                .excludePathPatterns("/store/user/checkRegister")
+//                //文件上传
+//                .excludePathPatterns("/file/upload")
+//                //阿里回调
+//                .excludePathPatterns("/ali/notify")
+//                //发送短信
+//                .excludePathPatterns("/ali/sendSms")
+//                //修改密码
+//                .excludePathPatterns("/store/user/updatePassword")
+//                //根据手机号获取用户
+//                .excludePathPatterns("/store/user/getUserByPhone")
+//                //社区列表
+//                .excludePathPatterns("/userDynamics/getUserDynamics")
+//                //活动列表
+//                .excludePathPatterns("/activity/getActivityList")
+//                //联名卡列表
+//                .excludePathPatterns("/userbrandedcard/getBrandedCardList")
+//                //查询字典
+//                .excludePathPatterns("/dicts/getLifeDictByTypeName")
+//                //首页轮播图
+//                .excludePathPatterns("/userCarouselImage/getUserCarouselImage")
+//                //查询商铺列表
+//                .excludePathPatterns("/userstore/getStoreList")
+//                //websocket
+//                .excludePathPatterns("/socket/**")
+//                .excludePathPatterns("/websocket/**")
+//                //druid
+//                .excludePathPatterns("/druid/**")
+//                //swagger
+//                .excludePathPatterns("/webjars/**")
+//                .excludePathPatterns("/swagger-resources/**")
+//                .excludePathPatterns("/v2/**")
+//                .excludePathPatterns("/jrebel/statistics")
+//                .excludePathPatterns("/error")
+//                .excludePathPatterns("/doc.html")
+//                //web数据中台登录接口
+//                .excludePathPatterns("/sys/login")
+//                .excludePathPatterns("/img/getCarouselImage")
+//                //八大类相关接口
+//                .excludePathPatterns("/essential-module-information/getChildByParentId")
+//                .excludePathPatterns("/essential-module-information/getEssentialModuleInformationList")
+//                .excludePathPatterns("/essential-module-information/getList")
+//                .excludePathPatterns("/essential-module-information/getPrimaryData")
+//                .excludePathPatterns("/version/getLatestVersion")
+//                .excludePathPatterns("/elasticSearch/*")
+////                .excludePathPatterns("/**");
+//                .excludePathPatterns("/user-violation/level")
+//                .excludePathPatterns("/store/user/updatePassword")
+//                .excludePathPatterns("/testInfo/getTestInfo")
+//                .excludePathPatterns("/file/uploadApp")
+//        ;
+//    }
+//
+//}

+ 120 - 120
alien-gateway/src/main/java/shop/alien/gateway/config/JWTInterceptor.java

@@ -1,120 +1,120 @@
-package shop.alien.gateway.config;
-
-import com.auth0.jwt.exceptions.AlgorithmMismatchException;
-import com.auth0.jwt.exceptions.SignatureVerificationException;
-import com.auth0.jwt.exceptions.TokenExpiredException;
-import com.auth0.jwt.interfaces.DecodedJWT;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.web.cors.CorsUtils;
-import org.springframework.web.servlet.HandlerInterceptor;
-import shop.alien.entity.store.StoreUser;
-import shop.alien.gateway.mapper.StoreUserMapper;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Token校验
- *
- * @author ssk
- * @version 1.0
- * @date 2024/12/25 16:59
- */
-@Slf4j
-@Component
-public class JWTInterceptor implements HandlerInterceptor {
-
-    @Autowired
-    private BaseRedisService baseRedisService;
-
-    @Autowired
-    private StoreUserMapper storeUserMapper;
-
-    @Override
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
-            throws Exception {
-        if (CorsUtils.isPreFlightRequest(request)) {
-            // 这是一个OPTIONS请求,我们可以选择放行
-            return true;
-        }
-        //获取请求头中的token
-        String token = request.getHeader("Authorization");
-        log.info("====================>token值: " + token);
-        String path = request.getRequestURI();
-        log.info("====================>path: " + path);
-        Map<String, Object> map = new HashMap<>();
-        int errorType = 0;
-        try {
-            JWTUtils.TokenVerify(token);
-            DecodedJWT tokenInfo = JWTUtils.getTokenInfo(token);
-            log.info("phone:{}", tokenInfo.getClaim("phone").asString());
-            String phone = tokenInfo.getClaim("phone").asString();
-            log.info("userType:{}", tokenInfo.getClaim("userType").asString());
-            String deviceType = tokenInfo.getClaim("userType").asString();
-            String redisKey;
-            //区分
-            if ("web".equals(deviceType)) {
-                //管理端单设备登录
-//                redisKey = deviceType + "_" + tokenInfo.getClaim("userName").asString();
-                //不限制
-                return true;
-            } else {
-                redisKey = deviceType + "_" + tokenInfo.getClaim("phone").asString();
-            }
-            String redisVal = baseRedisService.getString(redisKey);
-            if (StringUtils.isEmpty(redisVal) || !token.equals(redisVal)) {
-                //判断程序是否为用户禁用
-                StoreUser storeUser = storeUserMapper.selectOne(new LambdaQueryWrapper<StoreUser>().eq(StoreUser::getPhone, phone));
-                if (storeUser.getStatus() == 1) {
-                    map.put("msg", "你的账号已被禁用");
-                    //别问, 问就是约定俗成
-                    map.put("code", 777);
-                } else {
-                    map.put("msg", "用户在别处登录");
-                    //别问, 问就是约定俗成
-                    map.put("code", 666);
-                }
-
-                map.put("success", false);
-                String json = new ObjectMapper().writeValueAsString(map);
-                response.setContentType("application/json;charset=UTF-8");
-                response.getWriter().print(json);
-                return false;
-            }
-            //放行请求
-            return true;
-        } catch (SignatureVerificationException e) {
-            errorType = 1;
-            log.error("JWTInterceptor SignatureVerificationException Msg={}", e.getMessage());
-            map.put("msg", "无效签名");
-        } catch (TokenExpiredException e) {
-            errorType = 2;
-            log.error("JWTInterceptor TokenExpiredException Msg={}", e.getMessage());
-            map.put("msg", "token已过期");
-        } catch (AlgorithmMismatchException e) {
-            errorType = 3;
-            log.error("JWTInterceptor AlgorithmMismatchException Msg={}", e.getMessage());
-            map.put("msg", "算法不一致");
-        } catch (Exception e) {
-            errorType = 4;
-            log.error("JWTInterceptor Exception Msg={}", e.getMessage());
-            map.put("msg", "token无效");
-        }
-        log.info("====================>token无效类型: " + errorType);
-        map.put("code", 401);
-        map.put("success", false);
-        //使用jackson将map转为json
-        String json = new ObjectMapper().writeValueAsString(map);
-        response.setContentType("application/json;charset=UTF-8");
-        response.getWriter().print(json);
-        return false;
-    }
-
-}
+//package shop.alien.gateway.config;
+//
+//import com.auth0.jwt.exceptions.AlgorithmMismatchException;
+//import com.auth0.jwt.exceptions.SignatureVerificationException;
+//import com.auth0.jwt.exceptions.TokenExpiredException;
+//import com.auth0.jwt.interfaces.DecodedJWT;
+//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+//import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+//import com.fasterxml.jackson.databind.ObjectMapper;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Component;
+//import org.springframework.web.cors.CorsUtils;
+//import org.springframework.web.servlet.HandlerInterceptor;
+//import shop.alien.entity.store.StoreUser;
+//import shop.alien.gateway.mapper.StoreUserMapper;
+//
+//import javax.servlet.http.HttpServletRequest;
+//import javax.servlet.http.HttpServletResponse;
+//import java.util.HashMap;
+//import java.util.Map;
+//
+///**
+// * Token校验
+// *
+// * @author ssk
+// * @version 1.0
+// * @date 2024/12/25 16:59
+// */
+//@Slf4j
+//@Component
+//public class JWTInterceptor implements HandlerInterceptor {
+//
+//    @Autowired
+//    private BaseRedisService baseRedisService;
+//
+//    @Autowired
+//    private StoreUserMapper storeUserMapper;
+//
+//    @Override
+//    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
+//            throws Exception {
+//        if (CorsUtils.isPreFlightRequest(request)) {
+//            // 这是一个OPTIONS请求,我们可以选择放行
+//            return true;
+//        }
+//        //获取请求头中的token
+//        String token = request.getHeader("Authorization");
+//        log.info("====================>token值: " + token);
+//        String path = request.getRequestURI();
+//        log.info("====================>path: " + path);
+//        Map<String, Object> map = new HashMap<>();
+//        int errorType = 0;
+//        try {
+//            JWTUtils.TokenVerify(token);
+//            DecodedJWT tokenInfo = JWTUtils.getTokenInfo(token);
+//            log.info("phone:{}", tokenInfo.getClaim("phone").asString());
+//            String phone = tokenInfo.getClaim("phone").asString();
+//            log.info("userType:{}", tokenInfo.getClaim("userType").asString());
+//            String deviceType = tokenInfo.getClaim("userType").asString();
+//            String redisKey;
+//            //区分
+//            if ("web".equals(deviceType)) {
+//                //管理端单设备登录
+////                redisKey = deviceType + "_" + tokenInfo.getClaim("userName").asString();
+//                //不限制
+//                return true;
+//            } else {
+//                redisKey = deviceType + "_" + tokenInfo.getClaim("phone").asString();
+//            }
+//            String redisVal = baseRedisService.getString(redisKey);
+//            if (StringUtils.isEmpty(redisVal) || !token.equals(redisVal)) {
+//                //判断程序是否为用户禁用
+//                StoreUser storeUser = storeUserMapper.selectOne(new LambdaQueryWrapper<StoreUser>().eq(StoreUser::getPhone, phone));
+//                if (storeUser.getStatus() == 1) {
+//                    map.put("msg", "你的账号已被禁用");
+//                    //别问, 问就是约定俗成
+//                    map.put("code", 777);
+//                } else {
+//                    map.put("msg", "用户在别处登录");
+//                    //别问, 问就是约定俗成
+//                    map.put("code", 666);
+//                }
+//
+//                map.put("success", false);
+//                String json = new ObjectMapper().writeValueAsString(map);
+//                response.setContentType("application/json;charset=UTF-8");
+//                response.getWriter().print(json);
+//                return false;
+//            }
+//            //放行请求
+//            return true;
+//        } catch (SignatureVerificationException e) {
+//            errorType = 1;
+//            log.error("JWTInterceptor SignatureVerificationException Msg={}", e.getMessage());
+//            map.put("msg", "无效签名");
+//        } catch (TokenExpiredException e) {
+//            errorType = 2;
+//            log.error("JWTInterceptor TokenExpiredException Msg={}", e.getMessage());
+//            map.put("msg", "token已过期");
+//        } catch (AlgorithmMismatchException e) {
+//            errorType = 3;
+//            log.error("JWTInterceptor AlgorithmMismatchException Msg={}", e.getMessage());
+//            map.put("msg", "算法不一致");
+//        } catch (Exception e) {
+//            errorType = 4;
+//            log.error("JWTInterceptor Exception Msg={}", e.getMessage());
+//            map.put("msg", "token无效");
+//        }
+//        log.info("====================>token无效类型: " + errorType);
+//        map.put("code", 401);
+//        map.put("success", false);
+//        //使用jackson将map转为json
+//        String json = new ObjectMapper().writeValueAsString(map);
+//        response.setContentType("application/json;charset=UTF-8");
+//        response.getWriter().print(json);
+//        return false;
+//    }
+//
+//}

+ 9 - 2
alien-gateway/src/main/java/shop/alien/gateway/filter/JwtTokenFilter.java

@@ -1,8 +1,9 @@
 package shop.alien.gateway.filter;
 
 import com.alibaba.cloud.commons.lang.StringUtils;
-import shop.alien.gateway.util.JwtUtil;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import io.jsonwebtoken.Claims;
 import io.jsonwebtoken.ExpiredJwtException;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
@@ -20,6 +21,8 @@ import reactor.core.publisher.Mono;
 
 import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Jwt过滤器
@@ -50,16 +53,20 @@ public class JwtTokenFilter implements GlobalFilter, Ordered {
         if (null != skipAuthUrls && Arrays.asList(skipAuthUrls).contains(url)) {
             return chain.filter(exchange);
         }
+        Map<String, Object> map = new HashMap<>();
+        int errorType = 0;
         //获取token
         String token = exchange.getRequest().getHeaders().getFirst("Authorization");
         ServerHttpResponse resp = exchange.getResponse();
         if (StringUtils.isBlank(token)) {
             //没有token
-            return authError(resp, "请登");
+            return authError(resp, "请登");
         } else {
             //有token
             try {
                 JwtUtil.checkToken(token);
+                Claims claims = JwtUtil.parseJWT(token);
+                JSONObject js = JSONObject.parseObject(claims.get("sub").toString());
                 return chain.filter(exchange);
             } catch (ExpiredJwtException e) {
                 if (e.getMessage().contains("Allowed clock skew")) {

+ 4 - 1
alien-gateway/src/main/java/shop/alien/gateway/util/JwtUtil.java → alien-gateway/src/main/java/shop/alien/gateway/filter/JwtUtil.java

@@ -1,4 +1,4 @@
-package shop.alien.gateway.util;
+package shop.alien.gateway.filter;
 
 import io.jsonwebtoken.Claims;
 import io.jsonwebtoken.JwtBuilder;
@@ -101,6 +101,9 @@ public class JwtUtil {
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Date expiration = claims.getExpiration();
         log.info("Token的过期时间:" + df.format(expiration));
+//        if (expiration.before(new Date())) {
+//            return false;
+//        }
         return true;
     }
 }

+ 32 - 3
alien-gateway/src/main/java/shop/alien/gateway/service/LifeUserService.java

@@ -1,5 +1,6 @@
 package shop.alien.gateway.service;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -11,6 +12,7 @@ import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.tuple.Triple;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 import shop.alien.entity.store.LifeFans;
@@ -19,7 +21,7 @@ import shop.alien.entity.store.LifeUser;
 import shop.alien.entity.store.vo.LifeMessageVo;
 import shop.alien.entity.store.vo.LifeUserVo;
 import shop.alien.gateway.config.BaseRedisService;
-import shop.alien.gateway.config.JWTUtils;
+import shop.alien.gateway.filter.JwtUtil;
 import shop.alien.gateway.mapper.LifeFansMapper;
 import shop.alien.gateway.mapper.LifeMessageMapper;
 import shop.alien.gateway.mapper.LifeNoticeMapper;
@@ -46,6 +48,9 @@ public class LifeUserService extends ServiceImpl<LifeUserMapper, LifeUser> {
 
     private final LifeMessageMapper messageMapper;
 
+    @Value("${jwt.expiration-time}")
+    private String effectiveTime;
+
     public IPage<LifeUser> getStoresPage(int page, int size, String realName, String userPhone) {
         IPage<LifeUser> storePage = new Page<>(page, size);
         QueryWrapper<LifeUser> queryWrapper = new QueryWrapper<>();
@@ -127,6 +132,28 @@ public class LifeUserService extends ServiceImpl<LifeUserMapper, LifeUser> {
     }
 
     public LifeUserVo userLogin(String phoneNum) {
+        int effectiveTimeInt = Integer.parseInt(effectiveTime.substring(0, effectiveTime.length() - 1));
+        String effectiveTimeUnit = effectiveTime.substring(effectiveTime.length() - 1);
+        long effectiveTimeIntLong = 0L;
+        switch (effectiveTimeUnit) {
+            case "s": {
+                effectiveTimeIntLong = effectiveTimeInt * 1000L;
+                break;
+            }
+            case "m": {
+                effectiveTimeIntLong = effectiveTimeInt * 60L * 1000L;
+                break;
+            }
+            case "h": {
+                effectiveTimeIntLong = effectiveTimeInt * 60L * 60L * 1000L;
+                break;
+            }
+            case "d": {
+                effectiveTimeIntLong = effectiveTimeInt * 24L * 60L * 60L * 1000L;
+                break;
+            }
+        }
+
         LifeUser user = getUserByPhone(phoneNum);
         if (user == null) {
             LifeUser lifeUser = new LifeUser();
@@ -144,7 +171,8 @@ public class LifeUserService extends ServiceImpl<LifeUserMapper, LifeUser> {
                 tokenMap.put("userName", lifeUser.getUserName());
                 tokenMap.put("userId", lifeUser.getId().toString());
                 tokenMap.put("userType", "user");
-                userVo.setToken(JWTUtils.createToken(tokenMap));
+                userVo.setToken(JwtUtil.createJWT("user_" + phoneNum, lifeUser.getUserName(), JSONObject.toJSONString(tokenMap), effectiveTimeIntLong));
+//                userVo.setToken(JWTUtils.createToken(tokenMap));
                 baseRedisService.setString("user_" + phoneNum, userVo.getToken());
                 return userVo;
             } else {
@@ -158,7 +186,8 @@ public class LifeUserService extends ServiceImpl<LifeUserMapper, LifeUser> {
             tokenMap.put("userName", user.getUserName());
             tokenMap.put("userId", user.getId().toString());
             tokenMap.put("userType", "user");
-            String token = JWTUtils.createToken(tokenMap);
+//            String token = JWTUtils.createToken(tokenMap);
+            String token = JwtUtil.createJWT("user_" + phoneNum, user.getUserName(), JSONObject.toJSONString(tokenMap), effectiveTimeIntLong);
             userVo.setToken(token);
             baseRedisService.setString("user_" + phoneNum, token);
             return userVo;

+ 1 - 2
alien-gateway/src/main/java/shop/alien/gateway/service/impl/LoginServiceImpl.java

@@ -3,13 +3,12 @@ package shop.alien.gateway.service.impl;
 import com.alibaba.nacos.api.config.annotation.NacosValue;
 import shop.alien.entity.system.entity.SystemUser;
 import shop.alien.entity.system.mapper.SystemUserMapper;
+import shop.alien.gateway.filter.JwtUtil;
 import shop.alien.gateway.service.LoginService;
-import shop.alien.gateway.util.JwtUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 

+ 0 - 11
alien-gateway/src/main/resources/banner.txt

@@ -1,11 +0,0 @@
-${AnsiColor.BLUE}
-${AnsiStyle.BOLD}
-       _             _          _ _                                   _
-      (_)           | |        (_) |                                 | |
- __  ___  __ _  ___ | | ___   _ _| |__  _   _  __ _ ______ __ _  __ _| |_ _____      ____ _ _   _
- \ \/ / |/ _` |/ _ \| |/ / | | | | '_ \| | | |/ _` |______/ _` |/ _` | __/ _ \ \ /\ / / _` | | | |
-  >  <| | (_| | (_) |   <| |_| | | | | | |_| | (_| |     | (_| | (_| | ||  __/\ V  V / (_| | |_| |
- /_/\_\_|\__,_|\___/|_|\_\\__,_|_|_| |_|\__,_|\__,_|      \__, |\__,_|\__\___| \_/\_/ \__,_|\__, |
-                                                           __/ |                             __/ |
-                                                          |___/                             |___/
-1.0.0--小葵花

+ 1 - 2
alien-gateway/src/main/resources/bootstrap.yml

@@ -1,10 +1,9 @@
 spring:
   application:
-    name: xiaokuihua-gateway
+    name: alien-gateway
 
   cloud:
     nacos:
-
       #注册中心
       discovery:
         server-addr: localhost:8848

+ 1 - 1
alien-gateway/src/main/resources/logback-spring.xml

@@ -12,7 +12,7 @@
     <!-- 定义全局参数常量 -->
     <property name="log.level" value="debug"/>
     <property name="log.maxHistory" value="30"/><!-- 30表示30个 -->
-    <property name="logging.path" value="/javaLog/gatewayLog"/>
+    <property name="logging.path" value="/javaLog/alienGatewayLog"/>
     <!--输出文件前缀-->
     <property name="FILENAME" value="xiaokuihua_gateway"/>
 

+ 230 - 18
alien-second/pom.xml

@@ -1,26 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
-
     <parent>
         <groupId>shop.alien</groupId>
         <artifactId>alien-cloud</artifactId>
         <version>1.0.0</version>
     </parent>
 
-    <groupId>shop.alien</groupId>
     <artifactId>alien-second</artifactId>
     <version>0.0.1-SNAPSHOT</version>
     <name>alien-second</name>
-    <description>alien-second</description>
+    <description>爱丽恩二手项目</description>
+
     <properties>
         <java.version>1.8</java.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <spring-boot.version>2.6.13</spring-boot.version>
     </properties>
+
     <dependencies>
+
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter</artifactId>
@@ -28,21 +28,233 @@
 
         <dependency>
             <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-databind</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-jdbc</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+
+        <!--redis连接池需要此依赖-->
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-pool2</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-websocket</artifactId>
+        </dependency>
+
+        <!--        <dependency>-->
+        <!--            <groupId>org.elasticsearch.client</groupId>-->
+        <!--            <artifactId>elasticsearch-rest-high-level-client</artifactId>-->
+        <!--            <version>7.9.3</version>-->
+        <!--        </dependency>-->
+
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid-spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.github.pagehelper</groupId>
+            <artifactId>pagehelper-spring-boot-starter</artifactId>
+        </dependency>
+
+        <!-- mybatis-plus代码生成器 Start -->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-generator</artifactId>
+            <exclusions>
+                <exclusion>
+                    <artifactId>jsqlparser</artifactId>
+                    <groupId>com.github.jsqlparser</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>mybatis</artifactId>
+                    <groupId>org.mybatis</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>mybatis-spring</artifactId>
+                    <groupId>org.mybatis</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-annotation</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-extension</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-core</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <!-- mybatisPlus Freemarker 模版引擎 -->
+        <dependency>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+        </dependency>
+        <!-- mybatis-plus代码生成器 End -->
+
+        <!--Swagger Start-->
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+            <exclusions>
+                <exclusion>
+                    <artifactId>swagger-annotations</artifactId>
+                    <groupId>io.swagger</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>swagger-models</artifactId>
+                    <groupId>io.swagger</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>io.swagger</groupId>
+            <artifactId>swagger-annotations</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>io.swagger</groupId>
+            <artifactId>swagger-models</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.github.xiaoymin</groupId>
+            <artifactId>swagger-bootstrap-ui</artifactId>
+        </dependency>
+        <!--Swagger End-->
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+
+        <!--token-->
+        <dependency>
+            <groupId>com.auth0</groupId>
+            <artifactId>java-jwt</artifactId>
+            <version>3.4.0</version>
+        </dependency>
+
+        <!--        <dependency>-->
+        <!--            <groupId>org.bytedeco</groupId>-->
+        <!--            <artifactId>javacv-platform</artifactId>-->
+        <!--            <version>1.5.5</version> &lt;!&ndash; 请使用最新版本 &ndash;&gt;-->
+        <!--        </dependency>-->
+
+        <dependency>
+            <groupId>com.alipay.sdk</groupId>
+            <artifactId>alipay-sdk-java</artifactId>
+            <version>4.40.8.ALL</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>dysmsapi20170525</artifactId>
+            <version>3.1.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.netease.yidun</groupId>
+            <artifactId>yidun-java-sdk</artifactId>
+            <version>1.4.11</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>shop.alien</groupId>
+            <artifactId>alien-entity</artifactId>
+            <version>1.0.0</version>
+            <scope>compile</scope>
+        </dependency>
+
     </dependencies>
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-dependencies</artifactId>
-                <version>${spring-boot.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
 
     <build>
         <plugins>

+ 27 - 0
alien-second/src/main/java/shop/alien/second/controller/TestController.java

@@ -0,0 +1,27 @@
+package shop.alien.second.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiSort;
+import jdk.nashorn.internal.objects.annotations.Getter;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Slf4j
+@Api(tags = {"二期-阿里接口"})
+@ApiSort(9)
+@CrossOrigin
+@RestController
+@RequestMapping("/testCon")
+@RequiredArgsConstructor
+public class TestController {
+
+    @GetMapping("test")
+    public String test() {
+        return "hello world";
+    }
+
+}

+ 20 - 0
alien-second/src/main/resources/bootstrap.yml

@@ -0,0 +1,20 @@
+spring:
+  application:
+    name: alien-second
+
+  cloud:
+    nacos:
+      #注册中心
+      discovery:
+        server-addr: localhost:8848
+        username: nacos
+        password: 123456
+
+      #配置中心
+      config:
+        enabled: true
+        server-addr: localhost:8848
+        username: nacos
+        password: 123456
+        group: DEFAULT_GROUP
+        file-extension: yml

+ 173 - 0
alien-second/src/main/resources/logback-spring.xml

@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
+<!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
+<!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
+<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
+<!-- 该信息是由于设置了当配置文件变化时重新加载,所以每当达到扫描时间的时候就会检查配置文件是否错误。但是由于一般配置文件都放在了JAR包中,
+    而扫描的时候无法扫描JAR包内,因此会提示没有可以检查的文件,所以每隔一段时间就输出一次-->
+<configuration scan="false" scanPeriod="60 seconds" debug="true">
+    <contextName>logback-spring</contextName>
+
+    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
+    <!-- 定义全局参数常量 -->
+    <property name="log.level" value="debug"/>
+    <property name="log.maxHistory" value="30"/><!-- 30表示30个 -->
+    <property name="logging.path" value="/javaLog/alienSecondLog"/>
+    <!--输出文件前缀-->
+    <property name="FILENAME" value="alien"/>
+
+    <!--0. 日志格式和颜色渲染 -->
+    <!-- 彩色日志依赖的渲染类 -->
+    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
+    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
+    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
+
+    <!-- 文件输出格式 -->
+    <property name="FILE_LOG_PATTERN" value="[%d{MM/dd HH:mm:ss.SSS}][%-10.10thread][%-5level][%-40.40c{1}:%5line]:[%15method] || %m%n"/>
+    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
+
+    <!--1. 输出到控制台-->
+    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
+        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>${log.level}</level>
+        </filter>
+        <encoder>
+            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
+            <!-- 设置字符集 -->
+            <charset>UTF-8</charset>
+        </encoder>
+    </appender>
+
+    <!--2. 输出到文档-->
+    <!-- DEBUG 日志 -->
+    <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <!-- 当前的日志文件存放路径 -->
+        <file>${logging.path}/DEBUG.log</file>
+        <!-- 日志滚动策略 -->
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!-- 历史日志文件的存放路径和名称 -->
+            <fileNamePattern>${logging.path}/%d{yyyy-MM-dd}_${FILENAME}_DEBUG.log.gz</fileNamePattern>
+            <!-- 日志文件最大的保存历史 数量-->
+            <maxHistory>${log.maxHistory}</maxHistory>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
+            <pattern>${FILE_LOG_PATTERN}</pattern>
+        </encoder>
+        <!--日志文件最大的大小-->
+        <!--        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">-->
+        <!--            <MaxFileSize>10MB</MaxFileSize>-->
+        <!--        </triggeringPolicy>-->
+        <!-- 此日志文档只记录debug级别的 -->
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>  <!-- 用过滤器,只接受DEBUG级别的日志信息,其余全部过滤掉 -->
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <!-- INFO 日志 -->
+    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logging.path}/INFO.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logging.path}/%d{yyyy-MM-dd}_${FILENAME}_INFO.log.gz</fileNamePattern>
+            <maxHistory>${log.maxHistory}</maxHistory>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <pattern>${FILE_LOG_PATTERN}</pattern>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <!-- WARN 日志 -->
+    <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logging.path}/WARN.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logging.path}/%d{yyyy-MM-dd}_${FILENAME}_WARN.log.gz</fileNamePattern>
+            <maxHistory>${log.maxHistory}</maxHistory>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <pattern>${FILE_LOG_PATTERN}</pattern>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>WARN</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logging.path}/ERROR.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logging.path}/%d{yyyy-MM-dd}_${FILENAME}_ERROR.log.gz</fileNamePattern>
+            <maxHistory>${log.maxHistory}</maxHistory>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <pattern>${FILE_LOG_PATTERN}</pattern>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>ERROR</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <!--
+      <logger>用来设置某一个包或者具体的某一个类的日志打印级别、
+      以及指定<appender>。<logger>仅有一个name属性,
+      一个可选的level和一个可选的addtivity属性。
+      name:用来指定受此logger约束的某一个包或者具体的某一个类。
+      level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
+         还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。
+         如果未设置此属性,那么当前logger将会继承上级的级别。
+      addtivity:是否向上级logger传递打印信息。默认是true。
+      <logger name="org.springframework.web" level="info"/>
+      <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>
+    -->
+
+    <!--
+      使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作:
+      第一种把<root level="info">改成<root level="DEBUG">这样就会打印sql,不过这样日志那边会出现很多其他消息
+      第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别:
+      【logging.level.org.mybatis=debug logging.level.dao=debug】
+     -->
+    <!-- mybatis显示sql,修改此处扫描包名 -->
+
+
+    <!--
+      root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性
+      level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
+      不能设置为INHERITED或者同义词NULL。默认是DEBUG
+      可以包含零个或多个元素,标识这个appender将会添加到这个logger。
+    -->
+
+    <!-- 4. 最终的策略 -->
+    <!-- 4.1 开发环境:打印控制台-->
+    <!--打印sql-->
+    <!--    <logger name="com.veryhappy.music.dao" level="debug"/>-->
+
+    <!--打印log-->
+    <root level="info">
+        <appender-ref ref="CONSOLE"/>
+        <appender-ref ref="DEBUG_FILE"/>
+        <appender-ref ref="INFO_FILE"/>
+        <appender-ref ref="WARN_FILE"/>
+        <appender-ref ref="ERROR_FILE"/>
+    </root>
+
+    <!--   4.2 生产环境:输出到文档-->
+    <springProfile name="pro">
+        <root level="info">
+            <appender-ref ref="CONSOLE"/>
+            <appender-ref ref="DEBUG_FILE"/>
+            <appender-ref ref="INFO_FILE"/>
+            <appender-ref ref="ERROR_FILE"/>
+            <appender-ref ref="WARN_FILE"/>
+        </root>
+    </springProfile>
+</configuration>

+ 7 - 14
alien-store/pom.xml

@@ -258,12 +258,12 @@
             <version>1.0.0</version>
             <scope>compile</scope>
         </dependency>
-        <dependency>
-            <groupId>shop.alien</groupId>
-            <artifactId>alien-gateway</artifactId>
-            <version>1.0.0</version>
-            <scope>compile</scope>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>shop.alien</groupId>-->
+<!--            <artifactId>alien-gateway</artifactId>-->
+<!--            <version>1.0.0</version>-->
+<!--            <scope>compile</scope>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>commons-fileupload</groupId>
             <artifactId>commons-fileupload</artifactId>
@@ -275,13 +275,6 @@
             <artifactId>spring-boot-starter-webflux</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>shop.alien</groupId>
-            <artifactId>alien-util</artifactId>
-            <version>1.0.0</version>
-            <scope>compile</scope>
-        </dependency>
-
     </dependencies>
 
     <build>
@@ -301,7 +294,7 @@
                 <artifactId>spring-boot-maven-plugin</artifactId>
                 <version>${spring-boot.version}</version>
                 <configuration>
-                    <mainClass>shop.alien.alienstore.AlienStoreApplication</mainClass>
+                    <mainClass>shop.alien.store.AlienStoreApplication</mainClass>
                     <skip>true</skip>
                 </configuration>
                 <executions>

+ 2 - 3
alien-store/src/main/resources/bootstrap.yml

@@ -6,15 +6,14 @@ spring:
     nacos:
       #注册中心
       discovery:
-        server-addr: 192.168.110.28:8848
+        server-addr: localhost:8848
         username: nacos
         password: 123456
 
       #配置中心
       config:
-
         enabled: true
-        server-addr: 192.168.110.28:8848
+        server-addr: localhost:8848
         username: nacos
         password: 123456
         group: DEFAULT_GROUP

+ 1 - 1
alien-store/src/main/resources/logback-spring.xml

@@ -12,7 +12,7 @@
     <!-- 定义全局参数常量 -->
     <property name="log.level" value="debug"/>
     <property name="log.maxHistory" value="30"/><!-- 30表示30个 -->
-    <property name="logging.path" value="/javaLog/alienLog"/>
+    <property name="logging.path" value="/javaLog/alienStoreLog"/>
     <!--输出文件前缀-->
     <property name="FILENAME" value="alien"/>
 

+ 0 - 2
pom.xml

@@ -9,14 +9,12 @@
     <description>alien-cloud</description>
 
     <modules>
-        <module>xiaokuihua-analysis</module>
         <module>alien-api</module>
         <module>alien-config</module>
         <module>alien-entity</module>
         <module>alien-store</module>
         <module>alien-gateway</module>
         <module>alien-util</module>
-        <module>xiaokuihua-wechat</module>
         <module>alien-job</module>
         <module>alien-second</module>
     </modules>