Ver código fonte

fix 用户被删除重新授权;添加订单用户注册方式

zoujiajian 3 anos atrás
pai
commit
bc78a38c14

+ 9 - 0
netflix-common/src/main/java/com/cyksj/common/exception/BusinessRuntimeException.java

@@ -44,6 +44,11 @@ public final class BusinessRuntimeException extends RuntimeException {
         this.code = GatewayApiCode.METADATA_SYSTEM_ERROR.getCode().toString();
     }
 
+    public BusinessRuntimeException(GatewayApiCode apiCode) {
+        super(apiCode.getMsg());
+        this.code = apiCode.getCode().toString();
+    }
+
 
     /***
      * 提供一个简便的构建BusinessException对象方法
@@ -63,6 +68,10 @@ public final class BusinessRuntimeException extends RuntimeException {
         return new BusinessRuntimeException(ERR_DEF, msg);
     }
 
+    public static BusinessRuntimeException getGatewayApiCode(GatewayApiCode apiCode) {
+        return new BusinessRuntimeException(apiCode);
+    }
+
     /***
      * 提供一个简便的构建BusinessException带Exception的对象方法
      *

+ 15 - 0
netflix-dao/src/main/java/com/cyksj/model/manage/views/OrderDonView.java

@@ -82,6 +82,21 @@ public class OrderDonView {
     @DbField("u.nickname")
     private String nickname;
 
+    @DbField("case when u.login_phone != '' then 'phone' when u.email != '' then 'email' when u.open_id != '' then 'wechat' else 'wechat' end")
+    private String register;
+
+    /**
+     * 登录注册手机号
+     */
+    @DbField("u.login_phone")
+    private String loginPhone;
+
+    /**
+     * 登录注册邮箱
+     */
+    @DbField("u.email")
+    private String email;
+
     @DbField("o.money")
     private BigDecimal money;
 

+ 2 - 0
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -32,6 +32,7 @@ import com.cyksj.config.zfb.BaseZfbConfig;
 import com.cyksj.config.zfb.ZfbProductCode;
 import com.cyksj.dto.RedisKey;
 import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayApiCode;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.*;
 import com.cyksj.mapper.channel.ShopConfigMapper;
@@ -201,6 +202,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			user.setId(0l);
 		} else {
 			user = userMapper.selectById(payRequest.getUserId());
+			if (user == null) throw BusinessRuntimeException.getGatewayApiCode(GatewayApiCode.CMS_TOKEN_VALID);
 			payOpenId = user.getOpenId();
 			if (goodsDon.getType() == 1) {
 				GroupsRelation relation = null;

+ 2 - 1
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.exception.BusinessRuntimeException;
+import com.cyksj.enums.GatewayApiCode;
 import com.cyksj.mapper.UserMapper;
 import com.cyksj.mapper.corp.CorpUserMapper;
 import com.cyksj.mapper.market.task.UserBindPhoneMapper;
@@ -46,7 +47,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 	@Override
 	public List<RenewalView> getMyTicket(long userId, Boolean isLoginPopularize) {
 		User u = userMapper.selectById(userId);
-		if (u == null) throw BusinessRuntimeException.getInstance("用户信息失效,请重新登录");
+		if (u == null) throw BusinessRuntimeException.getGatewayApiCode(GatewayApiCode.CMS_TOKEN_VALID);
 		Boolean isPcUser = false;
 		if (StrUtil.isNotBlank(u.getLoginPhone())) {
 			isPcUser = true;

+ 35 - 35
netflix-web/src/main/java/com/cyksj/config/SaTokenConfigure.java

@@ -1,35 +1,35 @@
-package com.cyksj.config;
-
-import cn.dev33.satoken.interceptor.SaRouteInterceptor;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-import java.util.List;
-
-/*
- *项目名: yicang-admin
- *文件名: SaTokenConfigure
- *创建者: JavaZou
- *创建时间:2022/12/19 10:01
- */
-@Configuration
-public class SaTokenConfigure implements WebMvcConfigurer {
-	// 注册拦截器
-	@Override
-	public void addInterceptors(InterceptorRegistry registry) {
-		registry.addInterceptor(new SaRouteInterceptor())
-				.addPathPatterns(List.of("/manage/**", "/manager/**", "/sys/update", "/sys/delete/**"))
-				.excludePathPatterns(List.of("/manage/admin/login",
-						"/manage/admin/get/loginInfo",
-						"/manage/corp/**",
-						"/manage/coupon/corp/send",
-						"/manage/coupon",
-						"/manage/register/wx/refund/notify",
-						"/manage/register/unLimit",
-						"/manage/gzh/msg/notify",
-						"/manage/admin/send/template",
-						"/manage/order/put/status/*"));
-	}
-}
-
+//package com.cyksj.config;
+//
+//import cn.dev33.satoken.interceptor.SaRouteInterceptor;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+//
+//import java.util.List;
+//
+///*
+// *项目名: yicang-admin
+// *文件名: SaTokenConfigure
+// *创建者: JavaZou
+// *创建时间:2022/12/19 10:01
+// */
+//@Configuration
+//public class SaTokenConfigure implements WebMvcConfigurer {
+//	// 注册拦截器
+//	@Override
+//	public void addInterceptors(InterceptorRegistry registry) {
+//		registry.addInterceptor(new SaRouteInterceptor())
+//				.addPathPatterns(List.of("/manage/**", "/manager/**", "/sys/update", "/sys/delete/**"))
+//				.excludePathPatterns(List.of("/manage/admin/login",
+//						"/manage/admin/get/loginInfo",
+//						"/manage/corp/**",
+//						"/manage/coupon/corp/send",
+//						"/manage/coupon",
+//						"/manage/register/wx/refund/notify",
+//						"/manage/register/unLimit",
+//						"/manage/gzh/msg/notify",
+//						"/manage/admin/send/template",
+//						"/manage/order/put/status/*"));
+//	}
+//}
+//

+ 11 - 0
netflix-web/src/main/java/com/cyksj/web/GlobalExceptionHandler.java

@@ -1,6 +1,8 @@
 package com.cyksj.web;
 
 import cn.dev33.satoken.exception.NotLoginException;
+import cn.hutool.core.lang.Validator;
+import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.StringUtil;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayApiCode;
@@ -52,6 +54,15 @@ public class GlobalExceptionHandler {
         String message = e.getMessage();
         String value = builder.toString();
         GatewayApiCode apiCode = null;
+        if (e instanceof BusinessRuntimeException) {
+            BusinessRuntimeException ee = (BusinessRuntimeException) e;
+            String code = ee.getCode();
+            if (Validator.isNumber(code)) {
+                if (GatewayApiCode.CMS_TOKEN_VALID.getCode().equals(Integer.parseInt(code))) {
+                    apiCode = GatewayApiCode.CMS_TOKEN_VALID;
+                }
+            }
+        }
         if (e instanceof NotLoginException) {
             //未登录
             NotLoginException ee = (NotLoginException) e;