| 
					
				 | 
			
			
				@@ -0,0 +1,108 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.yami.shop.common.util; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * <p>TODO</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @author mr wang 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @version 1.0.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @since 2025-08-26 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fasterxml.jackson.annotation.JsonInclude; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yami.shop.common.enums.ResponseEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.AllArgsConstructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.Data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.NoArgsConstructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * <p>统一响应结果</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @param <T> 任意泛型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @author 王坚 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @time 2018-11-8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@AllArgsConstructor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@NoArgsConstructor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@JsonInclude(JsonInclude.Include.NON_NULL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class R<T> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    int code; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    T data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    String msg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    boolean success; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static <T> R<T> SUCCESS() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new R<>(ResponseEnum.SUCCESS.getCode(), null, ResponseEnum.SUCCESS.getValue(), Boolean.TRUE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static <T> R<T> SUCCESS(T param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int code = ResponseEnum.SUCCESS.getCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String value = ResponseEnum.SUCCESS.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (param.getClass().isEnum()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                IBasicInfo basicInfo = (IBasicInfo) param; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                code = basicInfo.getCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                value = basicInfo.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return new R<>(code, null, value, Boolean.TRUE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (NullPointerException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return new R<>(code, null, value, Boolean.TRUE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new R<>(code, param, value, Boolean.TRUE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static <T> R<T> SUCCESS(T param, String msg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new R<>(ResponseEnum.SUCCESS.getCode(), param, msg, Boolean.TRUE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static <T> R<T> SUCCESS(Integer code, T param, String msg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new R<>(code, param, msg, Boolean.TRUE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static <T> R<T> FAIL() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new R<>(ResponseEnum.ERROR.getCode(), null, ResponseEnum.ERROR.getValue(), Boolean.FALSE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static <T> R<T> FAIL(T param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int code = ResponseEnum.ERROR.getCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String value = ResponseEnum.ERROR.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (param.getClass().isEnum()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                IBasicInfo basicInfo = (IBasicInfo) param; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                code = basicInfo.getCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                value = basicInfo.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return new R<>(code, null, value, Boolean.FALSE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (NullPointerException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return new R<>(code, null, value, Boolean.FALSE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new R<>(code, param, value, Boolean.FALSE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static <T> R<T> FAIL(String msg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new R<>(ResponseEnum.ERROR.getCode(), null, msg, Boolean.FALSE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static <T> R<T> FAIL(int code) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new R<>(code, null, ResponseEnum.ERROR.getValue(), Boolean.FALSE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static <T> R<T> FAIL(T param, String msg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new R<>(ResponseEnum.ERROR.getCode(), param, msg, Boolean.FALSE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static <T> R<T> FAIL(int code, String msg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new R<>(code, null, msg, Boolean.FALSE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static <T> R<T> FAIL(int code, T param, String msg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new R<>(code, param, msg, Boolean.FALSE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |