diff --git a/cweb/lib/open-platform-sdk-1.0.21.jar b/cweb/lib/open-platform-sdk-1.0.21.jar
new file mode 100644
index 0000000..0cbe24f
Binary files /dev/null and b/cweb/lib/open-platform-sdk-1.0.21.jar differ
diff --git a/cweb/pom.xml b/cweb/pom.xml
index 361cfdd..c7a574c 100644
--- a/cweb/pom.xml
+++ b/cweb/pom.xml
@@ -18,6 +18,19 @@
service
PACKT-SNAPSHOT
+
+ commons-codec
+ commons-codec
+ 1.11
+
+
+
+ meituan.skd
+ meituan-open-sdk
+ system
+ 1.0.21
+ ${basedir}/lib/open-platform-sdk-1.0.21.jar
+
@@ -26,6 +39,13 @@
src/main/resources/${env}
false
+
+ ${basedir}/lib
+ BOOT-INF/lib/
+
+ **/*.jar
+
+
diff --git a/cweb/src/main/java/com/cweb/config/AuthConfig.java b/cweb/src/main/java/com/cweb/config/AuthConfig.java
index 409f3c6..ff6e08e 100644
--- a/cweb/src/main/java/com/cweb/config/AuthConfig.java
+++ b/cweb/src/main/java/com/cweb/config/AuthConfig.java
@@ -93,7 +93,7 @@ public class AuthConfig implements WebMvcConfigurer {
.excludePathPatterns("/wxMsg/*")
.excludePathPatterns("/cinema/*")
.excludePathPatterns("/starbucks/*")
- .excludePathPatterns("/c/*")
+ .excludePathPatterns("/meiTuan/*")
;
}
diff --git a/cweb/src/main/java/com/cweb/controller/cms/CmsContentController.java b/cweb/src/main/java/com/cweb/controller/cms/CmsContentController.java
index 04ebef6..cd99179 100644
--- a/cweb/src/main/java/com/cweb/controller/cms/CmsContentController.java
+++ b/cweb/src/main/java/com/cweb/controller/cms/CmsContentController.java
@@ -39,6 +39,7 @@ public class CmsContentController {
if (platformCode == null) {
platformCode = "WXAPPLETS";
}
+ map.put("status", 1);
map.put("platformCode", platformCode);
return ResponseMsgUtil.success(cmsContentService.getList(map));
diff --git a/cweb/src/main/java/com/cweb/controller/meituan/MeiTuanController.java b/cweb/src/main/java/com/cweb/controller/meituan/MeiTuanController.java
new file mode 100644
index 0000000..e5f5778
--- /dev/null
+++ b/cweb/src/main/java/com/cweb/controller/meituan/MeiTuanController.java
@@ -0,0 +1,57 @@
+package com.cweb.controller.meituan;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.hfkj.common.utils.RandomStringGeneratorUtil;
+import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.meituan.MeiTuanService;
+import com.hfkj.model.ResponseData;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@Controller
+@RequestMapping(value="/meiTuan")
+@Api(value="美团")
+public class MeiTuanController {
+
+ private static final Logger log = LoggerFactory.getLogger(MeiTuanController.class);
+
+ @RequestMapping(value = "/loginFree", method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "H5免登接口")
+ public ResponseData loginFree(@RequestParam(name = "staffPhone", required = true) String staffPhone,
+ @RequestParam(name = "productType", required = true) String productType) {
+ try {
+
+ Map map = new HashMap<>();
+ Map staffInfo = new HashMap<>();
+
+ staffInfo.put("staffPhone", staffPhone);
+
+ map.put("staffInfo", staffInfo);
+ map.put("entId", 104310L);
+ map.put("ts", new Date().getTime());
+ map.put("productType", productType);
+ map.put("nonce" , RandomStringGeneratorUtil.generateRandomString(36));
+ JSONObject jsonObject = MeiTuanService.loginFree(map);
+ JSONArray jsonArray = jsonObject.getJSONArray("url");
+ JSONObject json = jsonArray.getJSONObject(0);
+ return ResponseMsgUtil.success(json.getString("value"));
+
+ } catch (Exception e) {
+ log.error("HighUserCardController --> getHuiLianTongCardConsume() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+}
diff --git a/hs_err_pid3479.log b/hs_err_pid3479.log
deleted file mode 100644
index 8d24b66..0000000
--- a/hs_err_pid3479.log
+++ /dev/null
@@ -1,807 +0,0 @@
-#
-# A fatal error has been detected by the Java Runtime Environment:
-#
-# SIGBUS (0xa) at pc=0x00000001022129d4, pid=3479, tid=0x0000000000007b03
-#
-# JRE version: Java(TM) SE Runtime Environment (8.0_411) (build 1.8.0_411-b09)
-# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.411-b09 mixed mode bsd-aarch64 compressed oops)
-# Problematic frame:
-# C [libzip.dylib+0x69d4] newEntry+0x68
-#
-# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
-#
-# If you would like to submit a bug report, please visit:
-# http://bugreport.java.com/bugreport/crash.jsp
-# The crash happened outside the Java Virtual Machine in native code.
-# See problematic frame for where to report the bug.
-#
-
---------------- T H R E A D ---------------
-
-Current thread (0x000000012881b000): JavaThread "RMI TCP Connection(1)-192.168.0.104" daemon [_thread_in_native, id=31491, stack(0x0000000170f8c000,0x000000017118f000)]
-
-siginfo: si_signo: 10 (SIGBUS), si_code: 1 (BUS_ADRALN), si_addr: 0x00000001021a8d9c
-
-Registers:
- x0=0x0000600000d1fbb0 x1=0x0000000000000000 x2=0x0000000000000000 x3=0x0000600000d1fbc0
- x4=0x0000600000d1fc00 x5=0x0000000000003bb0 x6=0x7373616c632e726f x7=0x000000012881b000
- x8=0x00000001022a0d80 x9=0x00000000000f8000 x10=0x0000f44901c90000 x11=0x0000000000000050
-x12=0x0000600002c9c734 x13=0x00000000001ff800 x14=0x00000000000007fb x15=0x00000000970068c0
-x16=0x00000001842cae70 x17=0x00000001f648a348 x18=0x00000007725c61e6 x19=0x0000600000d1fbb0
-x20=0x0000000000000000 x21=0x0000600001b94000 x22=0x00000001021a8d80 x23=0x000000002343f75b
-x24=0x000000000000002f x25=0x0000000000000038 x26=0x0000000000000005 x27=0x0000600000d1fbd8
-x28=0x00000006c0053d78 fp=0x00000001711898f0 lr=0x2e608001022129a0 sp=0x0000000171189870
-pc=0x00000001022129d4 cpsr=0x0000000060001000
-Top of Stack: (sp=0x0000000171189870)
-0x0000000171189870: 0000000000000000 0000000000000000
-0x0000000171189880: 0000000000000000 0000000000000000
-0x0000000171189890: 0000000000000000 0000000000000000
-0x00000001711898a0: 00000006c0053d78 000000012d008200
-0x00000001711898b0: 0000000000000005 0000000000000038
-0x00000001711898c0: 000000000000002f 000000002343f75b
-0x00000001711898d0: 0000600000deedf0 0000000000000000
-0x00000001711898e0: 000000013c4d1a80 0000600001b94000
-0x00000001711898f0: 0000000171189950 0000000102212850
-0x0000000171189900: 00000006c0053d78 000060000009f200
-0x0000000171189910: 0000600001180230 0000000000000000
-0x0000000171189920: 000000013c4d1a80 0000000000000006
-0x0000000171189930: 0000600001b94000 000000013c4d1a80
-0x0000000171189940: 0000000171189a7c 000000017118999c
-0x0000000171189950: 0000000171189980 00000001022131ec
-0x0000000171189960: 0000000171189a7c 000000013c4d1a80
-0x0000000171189970: 0000600002e80040 0000000000000000
-0x0000000171189980: 0000000171189a60 000000010343b04c
-0x0000000171189990: 0000000000000000 0000000000000000
-0x00000001711899a0: 000000012881b000 62053b8cfefe00ff
-0x00000001711899b0: 000000013c01e190 0000000000000100
-0x00000001711899c0: 00000001711899e0 334280010376ceb0
-0x00000001711899d0: 0000000103885415 0000000000000100
-0x00000001711899e0: 0000000171189a00 000000010361cea8
-0x00000001711899f0: 0000000103885415 0000000171189a80
-0x0000000171189a00: 0000000171189a50 00000001037ce588
-0x0000000171189a10: 0000000000000000 0000000800000001
-0x0000000171189a20: 00000000632ac433 62053b8cfefe00ff
-0x0000000171189a30: 000000013c4d1a80 0000000000000006
-0x0000000171189a40: 0000600001b98480 000000012881b000
-0x0000000171189a50: 000000012881b000 0000600002e80040
-0x0000000171189a60: 0000000171189aa0 000000010343b1f8
-
-Instructions: (pc=0x00000001022129d4)
-0x00000001022128d4: e0 01 00 54 15 00 80 52 98 6a 39 78 39 07 00 91
-0x00000001022128e4: e8 6a 1b 53 08 01 17 4b 17 bd 00 11 68 42 40 f9
-0x00000001022128f4: 69 8a 40 b9 ea 0a c9 1a 49 dd 09 1b 08 49 29 8b
-0x0000000102212904: bc ff ff 17 7f 4e 00 f9 02 00 00 14 16 00 80 d2
-0x0000000102212914: 60 2a 40 f9 38 03 00 94 e0 03 16 aa fd 7b 45 a9
-0x0000000102212924: f4 4f 44 a9 f6 57 43 a9 f8 5f 42 a9 fa 67 41 a9
-0x0000000102212934: fc 6f c6 a8 c0 03 5f d6 3f 00 03 6b e1 00 00 54
-0x0000000102212944: 21 04 00 71 eb 00 00 54 08 14 40 38 49 14 40 38
-0x0000000102212954: 1f 01 09 6b 60 ff ff 54 00 00 80 52 c0 03 5f d6
-0x0000000102212964: 20 00 80 52 c0 03 5f d6 ff 43 02 d1 fc 6f 03 a9
-0x0000000102212974: fa 67 04 a9 f8 5f 05 a9 f6 57 06 a9 f4 4f 07 a9
-0x0000000102212984: fd 7b 08 a9 fd 03 02 91 f4 03 02 aa f6 03 01 aa
-0x0000000102212994: f5 03 00 aa 00 09 80 52 5f 03 00 94 f3 03 00 aa
-0x00000001022129a4: e0 12 00 b4 7f 02 00 f9 fb 03 13 aa 7f 8f 02 f8
-0x00000001022129b4: 7f 1a 00 f9 a8 c2 40 39 88 02 00 34 a8 0e 40 f9
-0x00000001022129c4: c9 06 40 f9 08 01 09 8b a9 16 40 f9 16 01 09 cb
-0x00000001022129d4: d8 3a 40 79 da 7a 40 39 dc 7e 40 39 c8 42 40 79
-0x00000001022129e4: e8 17 00 f9 c8 0e 40 b9 68 06 00 f9 c8 1a 40 b9
-0x00000001022129f4: e8 0f 00 f9 68 0a 00 f9 c8 16 40 79 88 04 00 34
-0x0000000102212a04: c8 16 40 b9 23 00 00 14 d7 06 40 f9 14 0d 00 34
-0x0000000102212a14: a8 1e 40 f9 88 02 00 b4 a9 22 40 f9 3f 01 17 eb
-0x0000000102212a24: 2c 02 00 54 4a fa 83 52 2a 01 0a 8b 5f 01 17 eb
-0x0000000102212a34: ab 01 00 54 2a 09 40 91 08 01 17 8b 16 01 09 cb
-0x0000000102212a44: c8 3a 40 79 c9 3e 40 79 cb 42 40 79 e8 02 08 8b
-0x0000000102212a54: 08 01 09 8b 08 01 0b 8b 08 b9 00 91 1f 01 0a eb
-0x0000000102212a64: 0d 0b 00 54 e0 03 15 aa e1 03 17 aa 02 00 84 52
-0x0000000102212a74: 7c 02 00 94 f6 03 00 aa 60 0a 00 b4 a0 1e 40 f9
-0x0000000102212a84: 0a 03 00 94 b6 de 03 a9 d2 ff ff 17 08 00 80 d2
-0x0000000102212a94: f7 03 08 aa 68 0e 00 f9 c8 12 40 b9 68 22 00 b9
-0x0000000102212aa4: c9 a2 42 b8 a8 5e 40 f9 e9 0b 00 f9 08 01 09 8b
-0x0000000102212ab4: e8 03 08 cb 68 1e 00 f9 c8 12 40 79 68 42 00 b9
-0x0000000102212ac4: 00 07 00 91 14 03 00 94 f9 03 00 aa 60 02 00 f9
-
-
-Register to memory mapping:
-
- x0=0x0000600000d1fbb0 is an unknown value
- x1=0x0000000000000000 is an unknown value
- x2=0x0000000000000000 is an unknown value
- x3=0x0000600000d1fbc0 is an unknown value
- x4=0x0000600000d1fc00 is an unknown value
- x5=0x0000000000003bb0 is an unknown value
- x6=0x7373616c632e726f is an unknown value
- x7=0x000000012881b000 is a thread
- x8=0x00000001022a0d80: index2jdwp+0x13f90 in /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/libjdwp.dylib at 0x000000010225c000
- x9=0x00000000000f8000 is an unknown value
-x10=0x0000f44901c90000 is an unknown value
-x11=0x0000000000000050 is an unknown value
-x12=0x0000600002c9c734 is an unknown value
-x13=0x00000000001ff800 is an unknown value
-x14=0x00000000000007fb is an unknown value
-x15=0x00000000970068c0 is an unknown value
-x16=0x00000001842cae70: __bzero+0 in /usr/lib/system/libsystem_platform.dylib at 0x00000001842c7000
-x17=0x00000001f648a348 is an unknown value
-x18=0x00000007725c61e6 is an unknown value
-x19=0x0000600000d1fbb0 is an unknown value
-x20=0x0000000000000000 is an unknown value
-x21=0x0000600001b94000 is an unknown value
-x22=0x00000001021a8d80 is an unknown value
-x23=0x000000002343f75b is an unknown value
-x24=0x000000000000002f is an unknown value
-x25=0x0000000000000038 is an unknown value
-x26=0x0000000000000005 is an unknown value
-x27=0x0000600000d1fbd8 is an unknown value
-x28=0x00000006c0053d78 is an oop
-[I
- - klass: {type array int}
- - length: 0
-
-
-Stack: [0x0000000170f8c000,0x000000017118f000], sp=0x0000000171189870, free space=2038k
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
-C [libzip.dylib+0x69d4] newEntry+0x68
-C [libzip.dylib+0x6850] ZIP_GetEntry2+0xec
-C [libzip.dylib+0x71ec] ZIP_FindEntry+0x3c
-V [libjvm.dylib+0x12b04c] ClassPathZipEntry::open_entry(char const*, int*, bool, Thread*)+0x70
-V [libjvm.dylib+0x12b1f8] ClassPathZipEntry::open_stream(char const*, Thread*)+0x28
-V [libjvm.dylib+0x12d568] ClassLoader::load_classfile(Symbol*, Thread*)+0x130
-V [libjvm.dylib+0x4ffcf4] SystemDictionary::load_instance_class(Symbol*, Handle, Thread*)+0x1f0
-V [libjvm.dylib+0x4fef3c] SystemDictionary::resolve_instance_class_or_null(Symbol*, Handle, Handle, Thread*)+0x400
-V [libjvm.dylib+0x4fe748] SystemDictionary::resolve_or_fail(Symbol*, Handle, Handle, bool, Thread*)+0x24
-V [libjvm.dylib+0x183b7c] ConstantPool::klass_at_impl(constantPoolHandle, int, Thread*)+0x28c
-V [libjvm.dylib+0x4bc610] ConstantPool::klass_at(int, Thread*)+0x98
-V [libjvm.dylib+0x2822c4] InterpreterRuntime::_new(JavaThread*, ConstantPool*, int)+0x60
-j org.jetbrains.capture.org.objectweb.asm.SymbolTable.(Lorg/jetbrains/capture/org/objectweb/asm/ClassWriter;Lorg/jetbrains/capture/org/objectweb/asm/ClassReader;)V+46
-j org.jetbrains.capture.org.objectweb.asm.ClassWriter.(Lorg/jetbrains/capture/org/objectweb/asm/ClassReader;I)V+28
-j com.intellij.rt.debugger.agent.CaptureAgent$CaptureTransformer.transform(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;Ljava/security/ProtectionDomain;[B)[B+57
-J 5 C1 sun.instrument.TransformerManager.transform(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;Ljava/security/ProtectionDomain;[B)[B (98 bytes) @ 0x00000001041b0eb0 [0x00000001041b0dc0+0xf0]
-J 4 C1 sun.instrument.InstrumentationImpl.transform(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;Ljava/security/ProtectionDomain;[BZ)[B (38 bytes) @ 0x00000001041aeea8 [0x00000001041aedc0+0xe8]
-v ~StubRoutines::call_stub
-V [libjvm.dylib+0x28c4dc] JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x764
-V [libjvm.dylib+0x2b83a4] jni_invoke_nonstatic(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*)+0x46c
-V [libjvm.dylib+0x2b9e18] jni_CallObjectMethod+0x1bc
-C [libinstrument.dylib+0xad74] transformClassFile+0x1e8
-C [libinstrument.dylib+0x9c18] eventHandlerClassFileLoadHook+0x88
-V [libjvm.dylib+0x36bf60] JvmtiClassFileLoadHookPoster::post_to_env(JvmtiEnv*, bool)+0xa8
-V [libjvm.dylib+0x36be00] JvmtiClassFileLoadHookPoster::post_all_envs()+0x114
-V [libjvm.dylib+0x3636a4] JvmtiExport::post_class_file_load_hook(Symbol*, Handle, Handle, unsigned char**, unsigned char**, JvmtiCachedClassFileData**)+0x88
-V [libjvm.dylib+0x1277fc] ClassFileParser::parseClassFile(Symbol*, ClassLoaderData*, Handle, KlassHandle, GrowableArray*, TempNewSymbol&, bool, Thread*)+0x1e4
-V [libjvm.dylib+0x12d600] ClassLoader::load_classfile(Symbol*, Thread*)+0x1c8
-V [libjvm.dylib+0x4ffcf4] SystemDictionary::load_instance_class(Symbol*, Handle, Thread*)+0x1f0
-V [libjvm.dylib+0x4fef3c] SystemDictionary::resolve_instance_class_or_null(Symbol*, Handle, Handle, Thread*)+0x400
-V [libjvm.dylib+0x4ff428] SystemDictionary::resolve_super_or_fail(Symbol*, Symbol*, Handle, Handle, bool, Thread*)+0x198
-V [libjvm.dylib+0x128170] ClassFileParser::parseClassFile(Symbol*, ClassLoaderData*, Handle, KlassHandle, GrowableArray*, TempNewSymbol&, bool, Thread*)+0xb58
-V [libjvm.dylib+0x12d600] ClassLoader::load_classfile(Symbol*, Thread*)+0x1c8
-V [libjvm.dylib+0x4ffcf4] SystemDictionary::load_instance_class(Symbol*, Handle, Thread*)+0x1f0
-V [libjvm.dylib+0x4fef3c] SystemDictionary::resolve_instance_class_or_null(Symbol*, Handle, Handle, Thread*)+0x400
-V [libjvm.dylib+0x4fe748] SystemDictionary::resolve_or_fail(Symbol*, Handle, Handle, bool, Thread*)+0x24
-V [libjvm.dylib+0x183b7c] ConstantPool::klass_at_impl(constantPoolHandle, int, Thread*)+0x28c
-V [libjvm.dylib+0x4bc610] ConstantPool::klass_at(int, Thread*)+0x98
-V [libjvm.dylib+0x2822c4] InterpreterRuntime::_new(JavaThread*, ConstantPool*, int)+0x60
-j java.util.concurrent.ScheduledThreadPoolExecutor.scheduleWithFixedDelay(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;+32
-j sun.rmi.transport.DGCImpl.dirty([Ljava/rmi/server/ObjID;JLjava/rmi/dgc/Lease;)Ljava/rmi/dgc/Lease;+225
-j sun.rmi.transport.DGCImpl_Skel.dispatch(Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;IJ)V+274
-j sun.rmi.server.UnicastServerRef.oldDispatch(Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;I)V+137
-j sun.rmi.server.UnicastServerRef.dispatch(Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;)V+44
-j sun.rmi.transport.Transport$1.run()Ljava/lang/Void;+23
-j sun.rmi.transport.Transport$1.run()Ljava/lang/Object;+1
-v ~StubRoutines::call_stub
-V [libjvm.dylib+0x28c4dc] JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x764
-V [libjvm.dylib+0x300bb0] JVM_DoPrivileged+0x744
-J 519 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x00000001042707d8 [0x0000000104270740+0x98]
-C 0x00000006c0020cc0
-
-Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
-j org.jetbrains.capture.org.objectweb.asm.SymbolTable.(Lorg/jetbrains/capture/org/objectweb/asm/ClassWriter;Lorg/jetbrains/capture/org/objectweb/asm/ClassReader;)V+46
-j org.jetbrains.capture.org.objectweb.asm.ClassWriter.(Lorg/jetbrains/capture/org/objectweb/asm/ClassReader;I)V+28
-j com.intellij.rt.debugger.agent.CaptureAgent$CaptureTransformer.transform(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;Ljava/security/ProtectionDomain;[B)[B+57
-J 5 C1 sun.instrument.TransformerManager.transform(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;Ljava/security/ProtectionDomain;[B)[B (98 bytes) @ 0x00000001041b0eb0 [0x00000001041b0dc0+0xf0]
-J 4 C1 sun.instrument.InstrumentationImpl.transform(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;Ljava/security/ProtectionDomain;[BZ)[B (38 bytes) @ 0x00000001041aeea8 [0x00000001041aedc0+0xe8]
-v ~StubRoutines::call_stub
-j java.util.concurrent.ScheduledThreadPoolExecutor.scheduleWithFixedDelay(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;+32
-j sun.rmi.transport.DGCImpl.dirty([Ljava/rmi/server/ObjID;JLjava/rmi/dgc/Lease;)Ljava/rmi/dgc/Lease;+225
-j sun.rmi.transport.DGCImpl_Skel.dispatch(Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;IJ)V+274
-j sun.rmi.server.UnicastServerRef.oldDispatch(Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;I)V+137
-j sun.rmi.server.UnicastServerRef.dispatch(Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;)V+44
-j sun.rmi.transport.Transport$1.run()Ljava/lang/Void;+23
-j sun.rmi.transport.Transport$1.run()Ljava/lang/Object;+1
-v ~StubRoutines::call_stub
-J 519 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x000000010427079c [0x0000000104270740+0x5c]
-j sun.rmi.transport.Transport.serviceCall(Ljava/rmi/server/RemoteCall;)Z+157
-j sun.rmi.transport.tcp.TCPTransport.handleMessages(Lsun/rmi/transport/Connection;Z)V+185
-j sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0()V+696
-j sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0()Ljava/lang/Void;+1
-j sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$142.run()Ljava/lang/Object;+4
-v ~StubRoutines::call_stub
-J 1222 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x000000010437bbdc [0x000000010437bb80+0x5c]
-j sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run()V+58
-j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+95
-j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
-j java.lang.Thread.run()V+11
-v ~StubRoutines::call_stub
-
---------------- P R O C E S S ---------------
-
-Java Threads: ( => current thread )
-=>0x000000012881b000 JavaThread "RMI TCP Connection(1)-192.168.0.104" daemon [_thread_in_native, id=31491, stack(0x0000000170f8c000,0x000000017118f000)]
- 0x000000012800d800 JavaThread "Attach Listener" daemon [_thread_blocked, id=32007, stack(0x0000000170d80000,0x0000000170f83000)]
- 0x000000013ca69000 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=22787, stack(0x0000000170968000,0x0000000170b6b000)]
- 0x000000013c3a9000 JavaThread "Service Thread" daemon [_thread_blocked, id=22275, stack(0x000000017075c000,0x000000017095f000)]
- 0x000000012d308800 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=21763, stack(0x0000000170550000,0x0000000170753000)]
- 0x000000013c97d800 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=18435, stack(0x0000000170344000,0x0000000170547000)]
- 0x000000013c99b000 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=17667, stack(0x0000000170138000,0x000000017033b000)]
- 0x000000013c3c0800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=21255, stack(0x000000016ff2c000,0x000000017012f000)]
- 0x000000013c82f800 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=17411, stack(0x000000016fd20000,0x000000016ff23000)]
- 0x000000013c82f000 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=19459, stack(0x000000016fb14000,0x000000016fd17000)]
- 0x000000013c829800 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=19715, stack(0x000000016f908000,0x000000016fb0b000)]
- 0x000000013c06a800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=19971, stack(0x000000016f6fc000,0x000000016f8ff000)]
- 0x000000013c069800 JavaThread "Finalizer" daemon [_thread_blocked, id=13315, stack(0x000000016f3d8000,0x000000016f5db000)]
- 0x000000013c067000 JavaThread "Reference Handler" daemon [_thread_blocked, id=14851, stack(0x000000016f1cc000,0x000000016f3cf000)]
- 0x000000013c808800 JavaThread "main" [_thread_in_native, id=4355, stack(0x000000016dd54000,0x000000016df57000)]
-
-Other Threads:
- 0x000000013c060000 VMThread [stack: 0x000000016efc0000,0x000000016f1c3000] [id=15107]
- 0x000000012c1af800 WatcherThread [stack: 0x0000000170b74000,0x0000000170d77000] [id=32515]
-
-VM state:not at safepoint (normal execution)
-
-VM Mutex/Monitor currently owned by a thread: None
-
-heap address: 0x00000006c0000000, size: 4096 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
-Narrow klass base: 0x0000000800000000, Narrow klass shift: 0
-Compressed class space size: 1073741824 Address: 0x0000000800000000
-
-Heap:
- PSYoungGen total 271360K, used 24093K [0x000000076ab00000, 0x000000077d100000, 0x00000007c0000000)
- eden space 257024K, 3% used [0x000000076ab00000,0x000000076b48a118,0x000000077a600000)
- from space 14336K, 99% used [0x000000077b900000,0x000000077c6fd6c0,0x000000077c700000)
- to space 19456K, 0% used [0x000000077a600000,0x000000077a600000,0x000000077b900000)
- ParOldGen total 73728K, used 16785K [0x00000006c0000000, 0x00000006c4800000, 0x000000076ab00000)
- object space 73728K, 22% used [0x00000006c0000000,0x00000006c10647b8,0x00000006c4800000)
- Metaspace used 23865K, capacity 24642K, committed 24832K, reserved 1071104K
- class space used 3096K, capacity 3307K, committed 3328K, reserved 1048576K
-
-Card table byte_map: [0x0000000102650000,0x0000000102e54000] byte_map_base: 0x00000000ff050000
-
-Marking Bits: (ParMarkBitMap*) 0x00000001039d3d20
- Begin Bits: [0x000000010c590000, 0x0000000110590000)
- End Bits: [0x0000000110590000, 0x0000000114590000)
-
-Polling page: 0x0000000102164000
-
-CodeCache: size=131072Kb used=5748Kb max_used=5748Kb free=125323Kb
- bounds [0x0000000104038000, 0x00000001045d8000, 0x000000010c038000]
- total_blobs=2740 nmethods=2345 adapters=319
- compilation: enabled
-
-Compilation events (10 events):
-Event: 362.213 Thread 0x000000012d308800 2340 1 java.util.zip.ZipCoder::getBytes (192 bytes)
-Event: 362.214 Thread 0x000000012d308800 nmethod 2340 0x00000001045d0150 code [0x00000001045d0400, 0x00000001045d1110]
-Event: 362.214 Thread 0x000000012d308800 2341 ! 1 java.lang.StringCoding$StringEncoder::encode (179 bytes)
-Event: 362.215 Thread 0x000000012d308800 nmethod 2341 0x00000001045d1e50 code [0x00000001045d20c0, 0x00000001045d2be0]
-Event: 362.215 Thread 0x000000012d308800 2338 1 java.lang.invoke.MemberName::access$002 (7 bytes)
-Event: 362.215 Thread 0x000000012d308800 nmethod 2338 0x00000001045d37d0 code [0x00000001045d3900, 0x00000001045d3990]
-Event: 362.215 Thread 0x000000012d308800 2342 1 java.lang.reflect.AccessibleObject::setAccessible0 (42 bytes)
-Event: 362.215 Thread 0x000000012d308800 nmethod 2342 0x00000001045d3a10 code [0x00000001045d3b80, 0x00000001045d3d28]
-Event: 362.215 Thread 0x000000012d308800 2343 1 java.lang.reflect.AccessibleObject::setAccessible (21 bytes)
-Event: 362.215 Thread 0x000000012d308800 nmethod 2343 0x00000001045d3e90 code [0x00000001045d4000, 0x00000001045d4148]
-
-GC Heap History (10 events):
-Event: 361.632 GC heap before
-{Heap before GC invocations=3 (full 0):
- PSYoungGen total 76288K, used 40019K [0x000000076ab00000, 0x0000000774000000, 0x00000007c0000000)
- eden space 65536K, 47% used [0x000000076ab00000,0x000000076c994010,0x000000076eb00000)
- from space 10752K, 80% used [0x000000076f580000,0x000000076fe00fe8,0x0000000770000000)
- to space 10752K, 0% used [0x000000076eb00000,0x000000076eb00000,0x000000076f580000)
- ParOldGen total 175104K, used 88K [0x00000006c0000000, 0x00000006cab00000, 0x000000076ab00000)
- object space 175104K, 0% used [0x00000006c0000000,0x00000006c0016010,0x00000006cab00000)
- Metaspace used 20624K, capacity 21204K, committed 21296K, reserved 1067008K
- class space used 2711K, capacity 2870K, committed 2944K, reserved 1048576K
-Event: 361.637 GC heap after
-Heap after GC invocations=3 (full 0):
- PSYoungGen total 76288K, used 7645K [0x000000076ab00000, 0x0000000774000000, 0x00000007c0000000)
- eden space 65536K, 0% used [0x000000076ab00000,0x000000076ab00000,0x000000076eb00000)
- from space 10752K, 71% used [0x000000076eb00000,0x000000076f2775e8,0x000000076f580000)
- to space 10752K, 0% used [0x0000000773580000,0x0000000773580000,0x0000000774000000)
- ParOldGen total 175104K, used 96K [0x00000006c0000000, 0x00000006cab00000, 0x000000076ab00000)
- object space 175104K, 0% used [0x00000006c0000000,0x00000006c0018010,0x00000006cab00000)
- Metaspace used 20624K, capacity 21204K, committed 21296K, reserved 1067008K
- class space used 2711K, capacity 2870K, committed 2944K, reserved 1048576K
-}
-Event: 361.637 GC heap before
-{Heap before GC invocations=4 (full 1):
- PSYoungGen total 76288K, used 7645K [0x000000076ab00000, 0x0000000774000000, 0x00000007c0000000)
- eden space 65536K, 0% used [0x000000076ab00000,0x000000076ab00000,0x000000076eb00000)
- from space 10752K, 71% used [0x000000076eb00000,0x000000076f2775e8,0x000000076f580000)
- to space 10752K, 0% used [0x0000000773580000,0x0000000773580000,0x0000000774000000)
- ParOldGen total 175104K, used 96K [0x00000006c0000000, 0x00000006cab00000, 0x000000076ab00000)
- object space 175104K, 0% used [0x00000006c0000000,0x00000006c0018010,0x00000006cab00000)
- Metaspace used 20624K, capacity 21204K, committed 21296K, reserved 1067008K
- class space used 2711K, capacity 2870K, committed 2944K, reserved 1048576K
-Event: 361.655 GC heap after
-Heap after GC invocations=4 (full 1):
- PSYoungGen total 76288K, used 0K [0x000000076ab00000, 0x0000000774000000, 0x00000007c0000000)
- eden space 65536K, 0% used [0x000000076ab00000,0x000000076ab00000,0x000000076eb00000)
- from space 10752K, 0% used [0x000000076eb00000,0x000000076eb00000,0x000000076f580000)
- to space 10752K, 0% used [0x0000000773580000,0x0000000773580000,0x0000000774000000)
- ParOldGen total 73728K, used 7381K [0x00000006c0000000, 0x00000006c4800000, 0x000000076ab00000)
- object space 73728K, 10% used [0x00000006c0000000,0x00000006c0735778,0x00000006c4800000)
- Metaspace used 20624K, capacity 21204K, committed 21296K, reserved 1067008K
- class space used 2711K, capacity 2870K, committed 2944K, reserved 1048576K
-}
-Event: 361.740 GC heap before
-{Heap before GC invocations=5 (full 1):
- PSYoungGen total 76288K, used 65536K [0x000000076ab00000, 0x0000000774000000, 0x00000007c0000000)
- eden space 65536K, 100% used [0x000000076ab00000,0x000000076eb00000,0x000000076eb00000)
- from space 10752K, 0% used [0x000000076eb00000,0x000000076eb00000,0x000000076f580000)
- to space 10752K, 0% used [0x0000000773580000,0x0000000773580000,0x0000000774000000)
- ParOldGen total 73728K, used 7381K [0x00000006c0000000, 0x00000006c4800000, 0x000000076ab00000)
- object space 73728K, 10% used [0x00000006c0000000,0x00000006c0735778,0x00000006c4800000)
- Metaspace used 22432K, capacity 23072K, committed 23424K, reserved 1069056K
- class space used 2930K, capacity 3092K, committed 3200K, reserved 1048576K
-Event: 361.745 GC heap after
-Heap after GC invocations=5 (full 1):
- PSYoungGen total 141824K, used 5971K [0x000000076ab00000, 0x0000000774000000, 0x00000007c0000000)
- eden space 131072K, 0% used [0x000000076ab00000,0x000000076ab00000,0x0000000772b00000)
- from space 10752K, 55% used [0x0000000773580000,0x0000000773b54e18,0x0000000774000000)
- to space 10752K, 0% used [0x0000000772b00000,0x0000000772b00000,0x0000000773580000)
- ParOldGen total 73728K, used 7389K [0x00000006c0000000, 0x00000006c4800000, 0x000000076ab00000)
- object space 73728K, 10% used [0x00000006c0000000,0x00000006c0737778,0x00000006c4800000)
- Metaspace used 22432K, capacity 23072K, committed 23424K, reserved 1069056K
- class space used 2930K, capacity 3092K, committed 3200K, reserved 1048576K
-}
-Event: 361.842 GC heap before
-{Heap before GC invocations=6 (full 1):
- PSYoungGen total 141824K, used 136873K [0x000000076ab00000, 0x0000000774000000, 0x00000007c0000000)
- eden space 131072K, 99% used [0x000000076ab00000,0x0000000772ad55e8,0x0000000772b00000)
- from space 10752K, 55% used [0x0000000773580000,0x0000000773b54e18,0x0000000774000000)
- to space 10752K, 0% used [0x0000000772b00000,0x0000000772b00000,0x0000000773580000)
- ParOldGen total 73728K, used 7389K [0x00000006c0000000, 0x00000006c4800000, 0x000000076ab00000)
- object space 73728K, 10% used [0x00000006c0000000,0x00000006c0737778,0x00000006c4800000)
- Metaspace used 22647K, capacity 23256K, committed 23424K, reserved 1069056K
- class space used 2952K, capacity 3112K, committed 3200K, reserved 1048576K
-Event: 361.850 GC heap after
-Heap after GC invocations=6 (full 1):
- PSYoungGen total 141824K, used 10729K [0x000000076ab00000, 0x000000077c700000, 0x00000007c0000000)
- eden space 131072K, 0% used [0x000000076ab00000,0x000000076ab00000,0x0000000772b00000)
- from space 10752K, 99% used [0x0000000772b00000,0x000000077357a718,0x0000000773580000)
- to space 14336K, 0% used [0x000000077b900000,0x000000077b900000,0x000000077c700000)
- ParOldGen total 73728K, used 11731K [0x00000006c0000000, 0x00000006c4800000, 0x000000076ab00000)
- object space 73728K, 15% used [0x00000006c0000000,0x00000006c0b74f18,0x00000006c4800000)
- Metaspace used 22647K, capacity 23256K, committed 23424K, reserved 1069056K
- class space used 2952K, capacity 3112K, committed 3200K, reserved 1048576K
-}
-Event: 362.217 GC heap before
-{Heap before GC invocations=7 (full 1):
- PSYoungGen total 141824K, used 141801K [0x000000076ab00000, 0x000000077c700000, 0x00000007c0000000)
- eden space 131072K, 100% used [0x000000076ab00000,0x0000000772b00000,0x0000000772b00000)
- from space 10752K, 99% used [0x0000000772b00000,0x000000077357a718,0x0000000773580000)
- to space 14336K, 0% used [0x000000077b900000,0x000000077b900000,0x000000077c700000)
- ParOldGen total 73728K, used 11731K [0x00000006c0000000, 0x00000006c4800000, 0x000000076ab00000)
- object space 73728K, 15% used [0x00000006c0000000,0x00000006c0b74f18,0x00000006c4800000)
- Metaspace used 23865K, capacity 24642K, committed 24832K, reserved 1071104K
- class space used 3096K, capacity 3307K, committed 3328K, reserved 1048576K
-Event: 362.231 GC heap after
-Heap after GC invocations=7 (full 1):
- PSYoungGen total 271360K, used 14325K [0x000000076ab00000, 0x000000077d100000, 0x00000007c0000000)
- eden space 257024K, 0% used [0x000000076ab00000,0x000000076ab00000,0x000000077a600000)
- from space 14336K, 99% used [0x000000077b900000,0x000000077c6fd6c0,0x000000077c700000)
- to space 19456K, 0% used [0x000000077a600000,0x000000077a600000,0x000000077b900000)
- ParOldGen total 73728K, used 16785K [0x00000006c0000000, 0x00000006c4800000, 0x000000076ab00000)
- object space 73728K, 22% used [0x00000006c0000000,0x00000006c10647b8,0x00000006c4800000)
- Metaspace used 23865K, capacity 24642K, committed 24832K, reserved 1071104K
- class space used 3096K, capacity 3307K, committed 3328K, reserved 1048576K
-}
-
-Deoptimization events (0 events):
-No events
-
-Classes redefined (0 events):
-No events
-
-Internal exceptions (10 events):
-Event: 361.442 Thread 0x000000013c808800 Exception (0x000000076b9ee748) thrown at [/System/Volumes/Data/jenkins/workspace/8-2-build-macosx-aarch64-Xcode12.4-sans-NAS/jdk8u411/893/hotspot/src/share/vm/interpreter/linkResolve
-Event: 361.482 Thread 0x000000013c808800 Exception (0x000000076c93cf90) thrown at [/System/Volumes/Data/jenkins/workspace/8-2-build-macosx-aarch64-Xcode12.4-sans-NAS/jdk8u411/893/hotspot/src/share/v
-Event: 361.622 Thread 0x000000013c808800 Exception (0x000000076c37a0c0) thrown at [/System/Volumes/Data/jenkins/workspace/8-2-build-macosx-aarch64-Xcode12.4-sans-NAS/jdk8u411/893/hotspot/src/share/vm/classfile/systemDictionary.cp
-Event: 361.625 Thread 0x000000013c808800 Exception (0x000000076c4a0420) thrown at [/System/Volumes/Data/jenkins/workspace/8-2-build-macosx-aarch64-Xcode12.4-sans-NAS/jdk8u411/
-Event: 361.627 Thread 0x000000013c808800 Exception (0x000000076c56d4f0) thrown at [/System/Volumes/Data/jenkins/workspace/8-2-build-macosx-aarch64-Xcode12.4-sans-NAS/jd
-Event: 361.628 Thread 0x000000013c808800 Exception (0x000000076c65b528) thrown at [/System/Volumes/Data/jenkins/workspace/8-2-build-macosx-aarch64-Xcode12.4-sans-NAS/jdk8u411/893/hotspot/src/share/vm/class
-Event: 361.628 Thread 0x000000013c808800 Exception (0x000000076c68be48) thrown at [/System/Volumes/Data/jenkins/workspace/8-2-build-macosx-aarch64-Xcode12.4-sans-NAS/jdk8u411/893/hotspot/src/share/v
-Event: 361.629 Thread 0x000000013c808800 Exception (0x000000076c6c2638) thrown at [/System/Volumes/Data/jenkins/workspace/8-2-build-macosx-aarch64-Xcode12.4-sans-NAS/jdk8u411/893/hotspot/src/
-Event: 361.629 Thread 0x000000013c808800 Exception (0x000000076c6f2380) thrown at [/System/Volumes/Data/jenkins/workspace/8-2-build-macosx-aarch64-Xcode12.4-sans-NAS/jdk8u411/893/hotspot/src/share/vm/c
-Event: 361.717 Thread 0x000000013c536000 Exception (0x000000076cce9ad8) thrown at [/System/Volumes/Data/jenkins/workspace/8-2-build-macosx-aarch64-Xcode12.4-sans-NAS/jdk8u411/893/hotspot/src/sh
-
-Events (10 events):
-Event: 362.216 loading class org/jetbrains/capture/org/objectweb/asm/Label done
-Event: 362.216 loading class org/jetbrains/capture/org/objectweb/asm/ClassWriter
-Event: 362.217 loading class org/jetbrains/capture/org/objectweb/asm/ClassVisitor
-Event: 362.217 loading class org/jetbrains/capture/org/objectweb/asm/ClassVisitor done
-Event: 362.217 loading class org/jetbrains/capture/org/objectweb/asm/ClassWriter done
-Event: 362.217 loading class org/jetbrains/capture/org/objectweb/asm/SymbolTable
-Event: 362.217 loading class org/jetbrains/capture/org/objectweb/asm/SymbolTable done
-Event: 362.217 Executing VM operation: ParallelGCFailedAllocation
-Event: 362.231 Executing VM operation: ParallelGCFailedAllocation done
-Event: 362.234 loading class org/jetbrains/capture/org/objectweb/asm/ByteVector
-
-
-Dynamic libraries:
-0x000000019e5f7000 /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
-0x0000000187b9e000 /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
-0x000000018ac0a000 /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
-0x0000000185451000 /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
-0x0000000190f18000 /usr/lib/libSystem.B.dylib
-0x0000000188edb000 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation
-0x000000021fabb000 /System/Library/PrivateFrameworks/CollectionViewCore.framework/Versions/A/CollectionViewCore
-0x0000000198191000 /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
-0x000000018edc5000 /System/Library/PrivateFrameworks/XCTTargetBootstrap.framework/Versions/A/XCTTargetBootstrap
-0x0000000193554000 /System/Library/PrivateFrameworks/InternationalSupport.framework/Versions/A/InternationalSupport
-0x00000001935a8000 /System/Library/PrivateFrameworks/UserActivity.framework/Versions/A/UserActivity
-0x0000000243f12000 /System/Library/PrivateFrameworks/WindowManagement.framework/Versions/A/WindowManagement
-0x00000001850d1000 /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
-0x00000001929c2000 /usr/lib/libspindump.dylib
-0x0000000189090000 /System/Library/Frameworks/UniformTypeIdentifiers.framework/Versions/A/UniformTypeIdentifiers
-0x000000018cc3c000 /usr/lib/libapp_launch_measurement.dylib
-0x000000018c062000 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics
-0x000000018cc43000 /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout
-0x000000018e5e5000 /System/Library/Frameworks/Metal.framework/Versions/A/Metal
-0x000000018f56d000 /usr/lib/liblangid.dylib
-0x000000018edcb000 /System/Library/PrivateFrameworks/CoreSVG.framework/Versions/A/CoreSVG
-0x0000000189a55000 /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight
-0x0000000189ef6000 /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
-0x000000019886b000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
-0x000000019281c000 /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
-0x000000018e5c3000 /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
-0x000000018c091000 /usr/lib/libDiagnosticMessagesClient.dylib
-0x0000000190e5a000 /usr/lib/libz.1.dylib
-0x000000019c010000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
-0x000000018edad000 /System/Library/PrivateFrameworks/DFRFoundation.framework/Versions/A/DFRFoundation
-0x00000001873f8000 /usr/lib/libicucore.A.dylib
-0x00000001945b2000 /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
-0x0000000193563000 /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
-0x00000001acfd6000 /System/Library/PrivateFrameworks/TextInput.framework/Versions/A/TextInput
-0x00000001899a6000 /usr/lib/libMobileGestalt.dylib
-0x000000018eae9000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
-0x000000018c568000 /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
-0x0000000187025000 /System/Library/Frameworks/Security.framework/Versions/A/Security
-0x00000001981d1000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
-0x000000018c96a000 /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
-0x000000018691e000 /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
-0x000000018c175000 /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
-0x0000000192e1e000 /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
-0x00000001899a4000 /usr/lib/libenergytrace.dylib
-0x00000001a26cf000 /System/Library/PrivateFrameworks/RenderBox.framework/Versions/A/RenderBox
-0x0000000187a52000 /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
-0x00000001985a6000 /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
-0x000000018cbc8000 /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
-0x00000001daf7b000 /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
-0x000000018cc8d000 /usr/lib/libxml2.2.dylib
-0x000000019029c000 /System/Library/PrivateFrameworks/MobileKeyBag.framework/Versions/A/MobileKeyBag
-0x0000000183ebc000 /usr/lib/libobjc.A.dylib
-0x00000001841b0000 /usr/lib/libc++.1.dylib
-0x0000000198523000 /System/Library/Frameworks/Accessibility.framework/Versions/A/Accessibility
-0x000000018a5d6000 /System/Library/Frameworks/ColorSync.framework/Versions/A/ColorSync
-0x00000001842fc000 /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
-0x000000018f128000 /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
-0x0000000186729000 /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
-0x00000001df7da000 /System/Library/Frameworks/CoreTransferable.framework/Versions/A/CoreTransferable
-0x00000001dfc9f000 /System/Library/Frameworks/DeveloperToolsSupport.framework/Versions/A/DeveloperToolsSupport
-0x000000018ee06000 /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
-0x0000000219c5b000 /System/Library/Frameworks/Symbols.framework/Versions/A/Symbols
-0x0000000190f1e000 /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking
-0x0000000193f64000 /usr/lib/swift/libswiftCore.dylib
-0x00000001a9c63000 /usr/lib/swift/libswiftCoreFoundation.dylib
-0x00000001a76cc000 /usr/lib/swift/libswiftCoreGraphics.dylib
-0x00000001a9cad000 /usr/lib/swift/libswiftCoreImage.dylib
-0x00000001a76d3000 /usr/lib/swift/libswiftDarwin.dylib
-0x0000000199c16000 /usr/lib/swift/libswiftDispatch.dylib
-0x00000001a9cae000 /usr/lib/swift/libswiftIOKit.dylib
-0x00000001b5708000 /usr/lib/swift/libswiftMetal.dylib
-0x00000001c2dcd000 /usr/lib/swift/libswiftOSLog.dylib
-0x000000019c48b000 /usr/lib/swift/libswiftObjectiveC.dylib
-0x00000001b9e3c000 /usr/lib/swift/libswiftQuartzCore.dylib
-0x00000001bdf41000 /usr/lib/swift/libswiftUniformTypeIdentifiers.dylib
-0x00000001a9c75000 /usr/lib/swift/libswiftXPC.dylib
-0x000000024c3b9000 /usr/lib/swift/libswift_Concurrency.dylib
-0x000000019c48f000 /usr/lib/swift/libswiftos.dylib
-0x00000001acf3a000 /usr/lib/swift/libswiftsimd.dylib
-0x00000001910cd000 /usr/lib/libcompression.dylib
-0x00000001934ae000 /System/Library/PrivateFrameworks/TextureIO.framework/Versions/A/TextureIO
-0x00000001924c8000 /usr/lib/libate.dylib
-0x0000000190f12000 /usr/lib/system/libcache.dylib
-0x0000000190ecc000 /usr/lib/system/libcommonCrypto.dylib
-0x0000000190ef8000 /usr/lib/system/libcompiler_rt.dylib
-0x0000000190eee000 /usr/lib/system/libcopyfile.dylib
-0x0000000184000000 /usr/lib/system/libcorecrypto.dylib
-0x00000001840e6000 /usr/lib/system/libdispatch.dylib
-0x00000001842a1000 /usr/lib/system/libdyld.dylib
-0x0000000190f08000 /usr/lib/system/libkeymgr.dylib
-0x0000000190ea4000 /usr/lib/system/libmacho.dylib
-0x0000000190384000 /usr/lib/system/libquarantine.dylib
-0x0000000190f05000 /usr/lib/system/libremovefile.dylib
-0x0000000189a1c000 /usr/lib/system/libsystem_asl.dylib
-0x0000000183f95000 /usr/lib/system/libsystem_blocks.dylib
-0x0000000184131000 /usr/lib/system/libsystem_c.dylib
-0x0000000190efc000 /usr/lib/system/libsystem_collections.dylib
-0x000000018f55c000 /usr/lib/system/libsystem_configuration.dylib
-0x000000018e598000 /usr/lib/system/libsystem_containermanager.dylib
-0x0000000190b3b000 /usr/lib/system/libsystem_coreservices.dylib
-0x00000001876bf000 /usr/lib/system/libsystem_darwin.dylib
-0x000000024c706000 /usr/lib/system/libsystem_darwindirectory.dylib
-0x0000000190f09000 /usr/lib/system/libsystem_dnssd.dylib
-0x000000024c70a000 /usr/lib/system/libsystem_eligibility.dylib
-0x000000018412e000 /usr/lib/system/libsystem_featureflags.dylib
-0x00000001842cf000 /usr/lib/system/libsystem_info.dylib
-0x0000000190e69000 /usr/lib/system/libsystem_m.dylib
-0x00000001840a9000 /usr/lib/system/libsystem_malloc.dylib
-0x0000000189989000 /usr/lib/system/libsystem_networkextension.dylib
-0x0000000187b35000 /usr/lib/system/libsystem_notify.dylib
-0x000000018f561000 /usr/lib/system/libsystem_sandbox.dylib
-0x000000024c70e000 /usr/lib/system/libsystem_sanitizers.dylib
-0x0000000190f01000 /usr/lib/system/libsystem_secinit.dylib
-0x0000000184259000 /usr/lib/system/libsystem_kernel.dylib
-0x00000001842c7000 /usr/lib/system/libsystem_platform.dylib
-0x0000000184294000 /usr/lib/system/libsystem_pthread.dylib
-0x000000018b40c000 /usr/lib/system/libsystem_symptoms.dylib
-0x0000000183fe5000 /usr/lib/system/libsystem_trace.dylib
-0x0000000190eda000 /usr/lib/system/libunwind.dylib
-0x0000000183f9a000 /usr/lib/system/libxpc.dylib
-0x000000018423d000 /usr/lib/libc++abi.dylib
-0x0000000190ee6000 /usr/lib/liboah.dylib
-0x0000000192374000 /usr/lib/liblzma.5.dylib
-0x0000000190f1a000 /usr/lib/libfakelink.dylib
-0x00000001895b5000 /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
-0x0000000190f6e000 /usr/lib/libarchive.2.dylib
-0x00000001964a4000 /System/Library/Frameworks/Combine.framework/Versions/A/Combine
-0x000000021facf000 /System/Library/PrivateFrameworks/CollectionsInternal.framework/Versions/A/CollectionsInternal
-0x000000023647f000 /System/Library/PrivateFrameworks/ReflectionInternal.framework/Versions/A/ReflectionInternal
-0x0000000236a11000 /System/Library/PrivateFrameworks/RuntimeInternal.framework/Versions/A/RuntimeInternal
-0x000000024c50d000 /usr/lib/swift/libswift_StringProcessing.dylib
-0x00000001879d0000 /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
-0x00000001903ab000 /usr/lib/libbsm.0.dylib
-0x0000000190eac000 /usr/lib/system/libkxld.dylib
-0x000000018cc04000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
-0x00000001876ca000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
-0x000000018c0da000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
-0x0000000190b41000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
-0x0000000190ff7000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
-0x000000018b38d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
-0x00000001847d5000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
-0x000000019231d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
-0x000000018cc11000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
-0x0000000191097000 /usr/lib/libapple_nghttp2.dylib
-0x000000018b001000 /usr/lib/libsqlite3.dylib
-0x000000018b415000 /System/Library/Frameworks/Network.framework/Versions/A/Network
-0x000000024adca000 /usr/lib/libCoreEntitlements.dylib
-0x0000000231389000 /System/Library/PrivateFrameworks/MessageSecurity.framework/Versions/A/MessageSecurity
-0x000000018afe7000 /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer
-0x0000000190a6a000 /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
-0x0000000190393000 /usr/lib/libcoretls.dylib
-0x0000000192393000 /usr/lib/libcoretls_cfhelpers.dylib
-0x00000001910c7000 /usr/lib/libpam.2.dylib
-0x0000000192405000 /usr/lib/libxar.1.dylib
-0x00000001927f3000 /usr/lib/libheimdal-asn1.dylib
-0x00000001895b4000 /usr/lib/libnetwork.dylib
-0x0000000190f1f000 /usr/lib/libpcap.A.dylib
-0x000000018b401000 /usr/lib/libdns_services.dylib
-0x000000018f569000 /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo
-0x0000000190091000 /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer
-0x000000024c464000 /usr/lib/swift/libswift_RegexParser.dylib
-0x0000000190b2e000 /usr/lib/libbz2.1.0.dylib
-0x0000000190387000 /usr/lib/libCheckFix.dylib
-0x0000000189a34000 /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
-0x000000018f56f000 /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
-0x000000018c093000 /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities
-0x00000001903bd000 /usr/lib/libmecab.dylib
-0x0000000185165000 /usr/lib/libCRFSuite.dylib
-0x0000000190419000 /usr/lib/libgermantok.dylib
-0x000000019106e000 /usr/lib/libThaiTokenizer.dylib
-0x000000018c17e000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
-0x000000019857d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
-0x000000019244c000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
-0x000000018ff6c000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
-0x0000000184bdc000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
-0x00000001911a2000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
-0x000000019041c000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
-0x00000001910b2000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
-0x000000019119d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
-0x000000018f698000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
-0x000000018506a000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib
-0x000000022fad8000 /System/Library/PrivateFrameworks/MIL.framework/Versions/A/MIL
-0x0000000190f55000 /usr/lib/libiconv.2.dylib
-0x0000000190ea0000 /usr/lib/libcharset.1.dylib
-0x000000018cbe4000 /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
-0x000000018cbd4000 /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
-0x0000000192395000 /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS
-0x00000001902c3000 /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
-0x0000000192414000 /usr/lib/libutil.dylib
-0x000000022dc39000 /System/Library/PrivateFrameworks/InstalledContentLibrary.framework/Versions/A/InstalledContentLibrary
-0x0000000187a11000 /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore
-0x000000021d27c000 /System/Library/PrivateFrameworks/AppleMobileFileIntegrity.framework/Versions/A/AppleMobileFileIntegrity
-0x00000001a9c31000 /usr/lib/libmis.dylib
-0x00000001ba323000 /System/Library/PrivateFrameworks/MobileSystemServices.framework/Versions/A/MobileSystemServices
-0x00000001d8385000 /System/Library/PrivateFrameworks/ConfigProfileHelper.framework/Versions/A/ConfigProfileHelper
-0x0000000191070000 /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce
-0x00000001860af000 /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
-0x0000000192418000 /usr/lib/libxslt.1.dylib
-0x0000000190f5c000 /usr/lib/libcmph.dylib
-0x000000019005d000 /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
-0x000000018f692000 /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData
-0x0000000184f78000 /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon
-0x0000000190351000 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement
-0x000000024afb4000 /usr/lib/libTLE.dylib
-0x0000000192ce4000 /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
-0x00000001927d8000 /usr/lib/libexpat.1.dylib
-0x000000019330c000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
-0x0000000193337000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
-0x0000000193422000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
-0x0000000192d2a000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
-0x00000001933c7000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
-0x00000001933be000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
-0x000000018e984000 /System/Library/PrivateFrameworks/FontServices.framework/libFontParser.dylib
-0x000000018b326000 /System/Library/PrivateFrameworks/RunningBoardServices.framework/Versions/A/RunningBoardServices
-0x000000019eed1000 /System/Library/PrivateFrameworks/IOSurfaceAccelerator.framework/Versions/A/IOSurfaceAccelerator
-0x0000000192e1a000 /System/Library/PrivateFrameworks/WatchdogClient.framework/Versions/A/WatchdogClient
-0x0000000186295000 /System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay
-0x000000018e83b000 /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia
-0x000000018e5db000 /System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
-0x000000018cd77000 /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
-0x00000001910c5000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/MetalPerformanceShaders
-0x0000000192e5d000 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox
-0x000000018ce13000 /System/Library/PrivateFrameworks/UserManagement.framework/Versions/A/UserManagement
-0x000000018b24d000 /System/Library/PrivateFrameworks/BaseBoard.framework/Versions/A/BaseBoard
-0x000000018f567000 /System/Library/PrivateFrameworks/AggregateDictionary.framework/Versions/A/AggregateDictionary
-0x000000021d0b6000 /System/Library/PrivateFrameworks/AppleKeyStore.framework/Versions/A/AppleKeyStore
-0x00000001933b9000 /System/Library/PrivateFrameworks/GPUWrangler.framework/Versions/A/GPUWrangler
-0x0000000193399000 /System/Library/PrivateFrameworks/IOPresentment.framework/Versions/A/IOPresentment
-0x00000001933c1000 /System/Library/PrivateFrameworks/DSExternalDisplay.framework/Versions/A/DSExternalDisplay
-0x0000000229cc6000 /System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/libllvm-flatbuffers.dylib
-0x00000001daf6e000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
-0x000000022692a000 /System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/libGPUCompilerUtils.dylib
-0x0000000193428000 /System/Library/PrivateFrameworks/CMCaptureCore.framework/Versions/A/CMCaptureCore
-0x00000001dfdc2000 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/ExtensionFoundation
-0x000000019a47f000 /System/Library/PrivateFrameworks/CoreTime.framework/Versions/A/CoreTime
-0x00000001929ac000 /System/Library/PrivateFrameworks/AppServerSupport.framework/Versions/A/AppServerSupport
-0x0000000194f40000 /System/Library/PrivateFrameworks/perfdata.framework/Versions/A/perfdata
-0x00000001863b9000 /System/Library/PrivateFrameworks/AudioToolboxCore.framework/Versions/A/AudioToolboxCore
-0x000000018e811000 /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk
-0x00000001947ae000 /usr/lib/libAudioStatistics.dylib
-0x00000001a8f6a000 /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy
-0x0000000194a87000 /usr/lib/libSMC.dylib
-0x000000019e479000 /System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI
-0x00000001932d3000 /usr/lib/libAudioToolboxUtility.dylib
-0x00000001a436b000 /System/Library/PrivateFrameworks/OSAServicesClient.framework/Versions/A/OSAServicesClient
-0x0000000194f4e000 /usr/lib/libperfcheck.dylib
-0x0000000199f36000 /System/Library/PrivateFrameworks/BoardServices.framework/Versions/A/BoardServices
-0x00000001926c0000 /System/Library/PrivateFrameworks/PlugInKit.framework/Versions/A/PlugInKit
-0x00000001902b5000 /System/Library/PrivateFrameworks/AssertionServices.framework/Versions/A/AssertionServices
-0x000000019d58a000 /System/Library/PrivateFrameworks/ASEProcessing.framework/Versions/A/ASEProcessing
-0x00000001c6254000 /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
-0x000000023526c000 /System/Library/PrivateFrameworks/PhotosensitivityProcessing.framework/Versions/A/PhotosensitivityProcessing
-0x000000019295d000 /System/Library/PrivateFrameworks/GraphVisualizer.framework/Versions/A/GraphVisualizer
-0x00000001dafd0000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
-0x00000001daf8f000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
-0x00000001db168000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
-0x00000001daf98000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
-0x00000001daf8c000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
-0x000000024af6c000 /usr/lib/libRosetta.dylib
-0x00000001daf75000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
-0x0000000224b30000 /System/Library/PrivateFrameworks/FontServices.framework/Versions/A/FontServices
-0x0000000192969000 /System/Library/PrivateFrameworks/OTSVG.framework/Versions/A/OTSVG
-0x000000018c918000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
-0x00000001929b7000 /System/Library/PrivateFrameworks/FontServices.framework/libhvf.dylib
-0x0000000224b31000 /System/Library/PrivateFrameworks/FontServices.framework/libXTFontStaticRegistryData.dylib
-0x000000018f4ae000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSCore.framework/Versions/A/MPSCore
-0x00000001909d8000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSImage.framework/Versions/A/MPSImage
-0x0000000190431000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNeuralNetwork.framework/Versions/A/MPSNeuralNetwork
-0x000000019087c000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSMatrix.framework/Versions/A/MPSMatrix
-0x0000000190687000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSRayIntersector.framework/Versions/A/MPSRayIntersector
-0x00000001908ae000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNDArray.framework/Versions/A/MPSNDArray
-0x00000001e169c000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSFunctions.framework/Versions/A/MPSFunctions
-0x00000001e1681000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSBenchmarkLoop.framework/Versions/A/MPSBenchmarkLoop
-0x0000000184a90000 /System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/MetalTools
-0x00000001ae113000 /System/Library/PrivateFrameworks/IOAccelMemoryInfo.framework/Versions/A/IOAccelMemoryInfo
-0x00000001ba21c000 /System/Library/PrivateFrameworks/kperf.framework/Versions/A/kperf
-0x00000001a9c56000 /System/Library/PrivateFrameworks/GPURawCounter.framework/Versions/A/GPURawCounter
-0x000000019a351000 /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
-0x00000001a9c02000 /System/Library/PrivateFrameworks/MallocStackLogging.framework/Versions/A/MallocStackLogging
-0x0000000192562000 /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
-0x000000019a30c000 /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
-0x00000001b8b83000 /System/Library/PrivateFrameworks/OSAnalytics.framework/Versions/A/OSAnalytics
-0x0000000242165000 /System/Library/PrivateFrameworks/VideoToolboxParavirtualizationSupport.framework/Versions/A/VideoToolboxParavirtualizationSupport
-0x000000019278c000 /System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
-0x00000001947f6000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
-0x000000018a785000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
-0x0000000193436000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
-0x0000000194be0000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
-0x0000000194bd4000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy
-0x00000001947c6000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
-0x00000001933f2000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATSUI.framework/Versions/A/ATSUI
-0x0000000194b67000 /usr/lib/libcups.2.dylib
-0x0000000194f5c000 /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
-0x0000000194f6d000 /System/Library/Frameworks/GSS.framework/Versions/A/GSS
-0x0000000194875000 /usr/lib/libresolv.9.dylib
-0x00000001929c8000 /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
-0x000000019c3f8000 /System/Library/Frameworks/Kerberos.framework/Versions/A/Libraries/libHeimdalProxy.dylib
-0x0000000194fc7000 /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
-0x00000001deba8000 /System/Library/Frameworks/AVFAudio.framework/Versions/A/AVFAudio
-0x00000001a43ba000 /System/Library/PrivateFrameworks/AXCoreUtilities.framework/Versions/A/AXCoreUtilities
-0x000000022f1b0000 /System/Library/PrivateFrameworks/IsolatedCoreAudioClient.framework/Versions/A/IsolatedCoreAudioClient
-0x0000000194732000 /System/Library/PrivateFrameworks/AudioSession.framework/Versions/A/AudioSession
-0x0000000196243000 /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
-0x0000000192897000 /System/Library/PrivateFrameworks/MediaExperience.framework/Versions/A/MediaExperience
-0x0000000194571000 /System/Library/PrivateFrameworks/AudioSession.framework/libSessionUtility.dylib
-0x0000000194bec000 /System/Library/PrivateFrameworks/AudioResourceArbitration.framework/Versions/A/AudioResourceArbitration
-0x00000001992c4000 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/PowerLog
-0x00000001991e2000 /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
-0x000000019c3f9000 /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
-0x000000019011e000 /System/Library/PrivateFrameworks/CoreUtils.framework/Versions/A/CoreUtils
-0x0000000222d7b000 /System/Library/PrivateFrameworks/CoreUtilsExtras.framework/Versions/A/CoreUtilsExtras
-0x000000022dac6000 /System/Library/PrivateFrameworks/IO80211.framework/Versions/A/IO80211
-0x0000000199e7a000 /System/Library/PrivateFrameworks/FrontBoardServices.framework/Versions/A/FrontBoardServices
-0x000000019b9c1000 /System/Library/PrivateFrameworks/BackBoardServices.framework/Versions/A/BackBoardServices
-0x00000001927fe000 /System/Library/PrivateFrameworks/IconFoundation.framework/Versions/A/IconFoundation
-0x00000001981bd000 /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore
-0x00000001a43d9000 /usr/lib/libAccessibility.dylib
-0x00000001988b7000 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/MediaAccessibility
-0x00000001c9908000 /System/Library/Frameworks/OSLog.framework/Versions/A/OSLog
-0x00000001a9b90000 /System/Library/PrivateFrameworks/LoggingSupport.framework/Versions/A/LoggingSupport
-0x0000000103310000 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/server/libjvm.dylib
-0x000000010217c000 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/libverify.dylib
-0x00000001021d0000 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/libjava.dylib
-0x000000010225c000 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/libjdwp.dylib
-0x0000000102194000 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/libnpt.dylib
-0x00000001022ac000 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/libinstrument.dylib
-0x000000010220c000 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/libzip.dylib
-0x00000001021bc000 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/libdt_socket.dylib
-0x0000000117c84000 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/libnet.dylib
-0x0000000117ca8000 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/libmanagement.dylib
-0x0000000117cc4000 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/libnio.dylib
-0x0000000193f06000 /usr/lib/libusrtcp.dylib
-0x00000001894eb000 /usr/lib/libboringssl.dylib
-
-VM Arguments:
-jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:60210,suspend=y,server=n -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dmanagement.endpoints.jmx.exposure.include=* -javaagent:/Users/chenyao/Library/Caches/JetBrains/IntelliJIdea2024.1/captureAgent/debugger-agent.jar -Dfile.encoding=UTF-8
-java_command: com.BWebApplication
-java_class_path (initial): /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre/lib/rt.jar:/Users/chenyao/Desktop/work/puhui-go/bweb/target/classes:/Users/chenyao/Desktop/work/puhui-go/service/target/classes:/Users/chenyao/.m2/repository/org/springframework/boot/spring-boot-starter/2.0.5.RELEASE/spring-boot-starter-2.0.5.RELEASE.jar:/Users/ch
-Launcher Type: SUN_STANDARD
-
-Environment Variables:
-JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
-CLASSPATH=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/lib/tools.jar:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/lib/dt.jar:.
-PATH=/Users/chenyao/Downloads/apache-maven-3.6.3/bin:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Applications/VMware Fusion.app/Contents/Public:.:.
-SHELL=/bin/zsh
-
-Signal Handlers:
-SIGSEGV: [libjvm.dylib+0x55b890], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO
-SIGBUS: [libjvm.dylib+0x55b890], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
-SIGFPE: [libjvm.dylib+0x55b890], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
-SIGPIPE: [libjvm.dylib+0x458d5c], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
-SIGXFSZ: [libjvm.dylib+0x458d5c], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
-SIGILL: [libjvm.dylib+0x55b890], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
-SIGUSR1: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
-SIGUSR2: [libjvm.dylib+0x4593a8], sa_mask[0]=00100000000000000000000000000000, sa_flags=SA_RESTART|SA_SIGINFO
-SIGHUP: [libjvm.dylib+0x4573a0], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
-SIGINT: [libjvm.dylib+0x4573a0], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
-SIGTERM: [libjvm.dylib+0x4573a0], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
-SIGQUIT: [libjvm.dylib+0x4573a0], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
-
-
---------------- S Y S T E M ---------------
-
-OS:Bsduname:Darwin 23.5.0 Darwin Kernel Version 23.5.0: Wed May 1 20:16:51 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T8103 arm64
-rlimit: STACK 8176k, CORE 0k, NPROC 2666, NOFILE 10240, AS infinity
-load average:2.02 2.54 3.05
-
-CPU:total 8 (initial active 8)
-
-Memory: 16k page, physical 16777216k(51520k free)
-
-/proc/meminfo:
-
-
-vm_info: Java HotSpot(TM) 64-Bit Server VM (25.411-b09) for bsd-aarch64 JRE (1.8.0_411-b09), built on Mar 13 2024 07:21:14 by "java_re" with gcc Apple LLVM 12.0.0 (clang-1200.0.32.29)
-
-time: Thu Aug 1 11:07:41 2024
-timezone: CST
-elapsed time: 362.276898 seconds (0d 0h 6m 2s)
-
diff --git a/order/pom.xml b/order/pom.xml
index b88c6de..350cc1d 100644
--- a/order/pom.xml
+++ b/order/pom.xml
@@ -18,6 +18,13 @@
service
PACKT-SNAPSHOT
+
+
+ commons-codec
+ commons-codec
+ 1.11
+
+
meituan.skd
meituan-open-sdk
@@ -33,6 +40,13 @@
src/main/resources/${env}
false
+
+ ${basedir}/lib
+ BOOT-INF/lib/
+
+ **/*.jar
+
+
diff --git a/order/src/main/java/com/order/config/AuthConfig.java b/order/src/main/java/com/order/config/AuthConfig.java
index 584e91c..162eeb5 100644
--- a/order/src/main/java/com/order/config/AuthConfig.java
+++ b/order/src/main/java/com/order/config/AuthConfig.java
@@ -88,6 +88,7 @@ public class AuthConfig implements WebMvcConfigurer {
.excludePathPatterns("/**/swagger-ui.html")
.excludePathPatterns("/notify/*")
.excludePathPatterns("/cqNotify/*")
+ .excludePathPatterns("/meiTuan/*")
.excludePathPatterns("/orderCinema/queryOrder")
;
}
diff --git a/order/src/main/java/com/order/controller/OrderAfterSalesApplyController.java b/order/src/main/java/com/order/controller/OrderAfterSalesApplyController.java
index a3b2bb6..4b6d970 100644
--- a/order/src/main/java/com/order/controller/OrderAfterSalesApplyController.java
+++ b/order/src/main/java/com/order/controller/OrderAfterSalesApplyController.java
@@ -1,5 +1,6 @@
package com.order.controller;
+import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -7,20 +8,29 @@ import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
import com.hfkj.common.security.UserCenter;
+import com.hfkj.common.utils.DateUtil;
import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.config.CommonSysConst;
import com.hfkj.entity.BsOrderAfterSalesApply;
+import com.hfkj.entity.FileRecords;
import com.hfkj.model.ResponseData;
import com.hfkj.model.SecUserSessionObject;
import com.hfkj.model.UserSessionObject;
+import com.hfkj.model.excel.OrderAfterSalesApplyModel;
import com.hfkj.model.order.OrderChildModel;
+import com.hfkj.model.order.OrderCouponModel;
import com.hfkj.model.order.OrderModel;
+import com.hfkj.service.file.FileRecordsService;
import com.hfkj.service.order.BsOrderAfterSalesApplyService;
import com.hfkj.service.order.BsOrderAfterSalesOpRecordService;
import com.hfkj.service.order.BsOrderChildService;
import com.hfkj.sysenum.SecUserObjectTypeEnum;
import com.hfkj.sysenum.UserStatusEnum;
+import com.hfkj.sysenum.fileRecords.FileRecordsEnum;
+import com.hfkj.sysenum.order.OrderAfterSalesApplyStatusEnum;
import com.hfkj.sysenum.order.OrderAfterSalesApplyTypeEnum;
import com.hfkj.sysenum.order.OrderChildProductTypeEnum;
+import com.order.utils.excel.OrderCouponExcelMergeHandler;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
@@ -30,9 +40,9 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.io.File;
import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
/**
* @className: OrderAfterSalesApplyController
@@ -52,6 +62,8 @@ public class OrderAfterSalesApplyController {
private BsOrderAfterSalesOpRecordService orderAfterSalesOpRecordService;
@Resource
private BsOrderChildService orderChildService;
+ @Resource
+ private FileRecordsService fileRecordsService;
@RequestMapping(value="/calculate",method = RequestMethod.GET)
@ResponseBody
@@ -267,6 +279,108 @@ public class OrderAfterSalesApplyController {
}
}
+ @RequestMapping(value="/export",method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "导出申请")
+ public ResponseData export(@RequestParam(value = "merId" , required = false) Long merId,
+ @RequestParam(value = "type" , required = false) Integer type,
+ @RequestParam(value = "userPhone" , required = false) String userPhone,
+ @RequestParam(value = "childOrderNo" , required = false) String childOrderNo,
+ @RequestParam(value = "applyNo" , required = false) String applyNo,
+ @RequestParam(value = "status" , required = false) Integer status,
+ @RequestParam(value = "productType" , required = false) String productType,
+ @RequestParam(value = "productName" , required = false) String productName,
+ @RequestParam(value = "orderNo" , required = false) String orderNo,
+ @RequestParam(value = "createTimeS" , required = false) Long createTimeS,
+ @RequestParam(value = "createTimeE" , required = false) Long createTimeE) {
+ FileRecords fileRecords = new FileRecords();
+ try {
+ SecUserSessionObject secUserSessionObject = userCenter.getSessionModel(SecUserSessionObject.class);
+ if (secUserSessionObject == null) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.ACCOUNT_LOGIN_NOT, "");
+ }
+ Map param = new HashMap<>();
+ if (secUserSessionObject.getAccount().getObjectType().equals(SecUserObjectTypeEnum.type1.getCode())) {
+ param.put("merId", merId);
+ } else if (secUserSessionObject.getAccount().getObjectType().equals(SecUserObjectTypeEnum.type2.getCode())) {
+ param.put("merId", secUserSessionObject.getAccount().getObjectId());
+ } else {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知权限");
+ }
+ param.put("type", type);
+ param.put("userPhone", userPhone);
+ param.put("childOrderNo", childOrderNo);
+ param.put("applyNo", applyNo);
+ param.put("status", status);
+ param.put("productType", productType);
+ param.put("productName", productName);
+ param.put("orderNo", orderNo);
+ param.put("createTimeS", createTimeS);
+ param.put("createTimeE", createTimeE);
+
+ // 下载记录
+ fileRecords.setCreateTime(new Date());
+ fileRecords.setBusinessType(FileRecordsEnum.status8.getCode());
+ fileRecords.setDownloadConditions(param.toString());
+ fileRecords.setOpId(secUserSessionObject.getAccount().getId());
+ fileRecords.setOpName(secUserSessionObject.getAccount().getUserName());
+ fileRecords.setStatus(2);
+ fileRecords.setDownloadStatus(2);
+ fileRecords.setTitle(FileRecordsEnum.status8.getName() + DateUtil.date2String(new Date(System.currentTimeMillis()),DateUtil.YMDHMS) + ".xlsx");
+ fileRecords.setFileUrl(CommonSysConst.getSysConfig().getDomainName() + "/filesystem/temporary/" + fileRecords.getTitle());
+ fileRecords.setType("2");
+ fileRecordsService.create(fileRecords);
+
+ // 数据
+ List applyList = orderAfterSalesApplyService.getApplyList(param);
+
+ List dataList = new ArrayList<>();
+ OrderAfterSalesApplyModel model;
+ for (BsOrderAfterSalesApply apply : applyList) {
+ model = new OrderAfterSalesApplyModel();
+ model.setApplyNo(apply.getApplyNo());
+ model.setApplyType(Objects.requireNonNull(OrderAfterSalesApplyTypeEnum.getData(apply.getType())).getName());
+ model.setUserPhone(apply.getUserPhone());
+ model.setOrderNo(apply.getOrderNo());
+ model.setOrderChildNo(apply.getChildOrderNo());
+ model.setProductType(Objects.requireNonNull(OrderChildProductTypeEnum.getData(apply.getProductType())).getName());
+ model.setProductName(apply.getProductName());
+ model.setProductSpecName(apply.getProductSpecName());
+ model.setProductCount(apply.getProductCount());
+ model.setRefundPrice(apply.getRefundPrice().toString());
+ model.setRefundIntegral(apply.getRefundIntegral().toString());
+ model.setStatus(Objects.requireNonNull(OrderAfterSalesApplyStatusEnum.getData(apply.getStatus())).getName());
+ dataList.add(model);
+ }
+
+ // 文件存放地址
+ String fileUrl = CommonSysConst.getSysConfig().getFileUrl() + "/temporary/";
+ File file = new File(fileUrl);
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ // 生成excel文件
+ EasyExcel.write(fileUrl+fileRecords.getTitle())
+ .head(OrderAfterSalesApplyModel.class)
+ .sheet("售后申请")
+ .doWrite(dataList);
+
+ fileRecords.setStatus(1);
+ fileRecords.setUpdateTime(new Date());
+ fileRecordsService.update(fileRecords);
+ return ResponseMsgUtil.success(fileRecords);
+
+ } catch (Exception e) {
+ fileRecords.setStatus(3);
+ fileRecords.setUpdateTime(new Date());
+ fileRecords.setExt1(e.toString());
+ fileRecordsService.update(fileRecords);
+
+ log.error("error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
@RequestMapping(value="/queryUserApplyList",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询用户申请列表")
diff --git a/order/src/main/java/com/order/controller/OrderPayNotifyController.java b/order/src/main/java/com/order/controller/OrderPayNotifyController.java
index dbbb2ed..c41156e 100644
--- a/order/src/main/java/com/order/controller/OrderPayNotifyController.java
+++ b/order/src/main/java/com/order/controller/OrderPayNotifyController.java
@@ -25,6 +25,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.PrintWriter;
+import java.math.BigDecimal;
import java.net.URLDecoder;
import java.util.Date;
import java.util.HashMap;
@@ -68,6 +69,7 @@ public class OrderPayNotifyController {
order.setPayChannel(OrderPayChannelEnum.type1.getCode());
order.setPayTime(new Date(dataObject.getLong("payTime")));
order.setPaySerialNo(dataObject.getString("accTradeNo"));
+ order.setPayment(dataObject.getBigDecimal("tradeAmount"));
orderService.orderPaySuccessHandle(order);
}
log.info("处理业务完成");
@@ -112,6 +114,7 @@ public class OrderPayNotifyController {
order.setPayType(OrderPayTypeEnum.type3.getCode());
order.setPayTime(new Date(body.getLong("payTime")));
order.setPaySerialNo(body.getString("bankTraceNo"));
+ order.setPayment(new BigDecimal(body.getString("realPay")));
orderService.orderPaySuccessHandle(order);
}
log.info("处理业务完成");
diff --git a/order/src/main/java/com/order/controller/OrderRefundController.java b/order/src/main/java/com/order/controller/OrderRefundController.java
index 86e0509..4f7dd12 100644
--- a/order/src/main/java/com/order/controller/OrderRefundController.java
+++ b/order/src/main/java/com/order/controller/OrderRefundController.java
@@ -1,5 +1,6 @@
package com.order.controller;
+import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -7,19 +8,27 @@ import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
import com.hfkj.common.security.UserCenter;
+import com.hfkj.common.utils.DateUtil;
import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.config.CommonSysConst;
+import com.hfkj.entity.BsOrderAfterSalesApply;
import com.hfkj.entity.BsOrderRefund;
+import com.hfkj.entity.FileRecords;
import com.hfkj.model.ResponseData;
import com.hfkj.model.SecUserSessionObject;
import com.hfkj.model.UserSessionObject;
+import com.hfkj.model.excel.OrderAfterSalesApplyModel;
+import com.hfkj.model.excel.OrderRefundModel;
import com.hfkj.model.order.OrderChildModel;
import com.hfkj.model.order.OrderModel;
+import com.hfkj.service.file.FileRecordsService;
import com.hfkj.service.order.BsOrderChildService;
import com.hfkj.service.order.BsOrderRefundService;
import com.hfkj.service.order.BsOrderService;
import com.hfkj.sysenum.SecUserObjectTypeEnum;
import com.hfkj.sysenum.UserStatusEnum;
-import com.hfkj.sysenum.order.OrderChildProductTypeEnum;
+import com.hfkj.sysenum.fileRecords.FileRecordsEnum;
+import com.hfkj.sysenum.order.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
@@ -29,9 +38,8 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.io.File;
+import java.util.*;
/**
* @className: OrderController
@@ -50,6 +58,8 @@ public class OrderRefundController {
private BsOrderRefundService orderRefundService;
@Resource
private BsOrderChildService orderChildService;
+ @Resource
+ private FileRecordsService fileRecordsService;
@RequestMapping(value="/tradeOrder",method = RequestMethod.POST)
@ResponseBody
@@ -175,4 +185,103 @@ public class OrderRefundController {
}
+ @RequestMapping(value="/export",method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "导出")
+ public ResponseData export(@RequestParam(value = "merId" , required = false) Long merId,
+ @RequestParam(value = "userPhone" , required = false) String userPhone,
+ @RequestParam(value = "orderNo" , required = false) String orderNo,
+ @RequestParam(value = "orderChildNo" , required = false) String orderChildNo,
+ @RequestParam(value = "refundOrderNo" , required = false) String refundOrderNo,
+ @RequestParam(value = "refundStatus" , required = false) Integer refundStatus,
+ @RequestParam(value = "createTimeS" , required = false) Long createTimeS,
+ @RequestParam(value = "createTimeE" , required = false) Long createTimeE,
+ @RequestParam(value = "pageNum" , required = true) Integer pageNum,
+ @RequestParam(value = "pageSize" , required = true) Integer pageSize) {
+ FileRecords fileRecords = new FileRecords();
+ try {
+ // 用户session
+ SecUserSessionObject userSession = userCenter.getSessionModel(SecUserSessionObject.class);
+ if (userSession == null) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.ACCOUNT_LOGIN_NOT, "");
+ }
+
+ Map param = new HashMap<>();
+ if (userSession.getAccount().getObjectType().equals(SecUserObjectTypeEnum.type1.getCode())) {
+ param.put("merId", merId);
+ } else if (userSession.getAccount().getObjectType().equals(SecUserObjectTypeEnum.type2.getCode())) {
+ param.put("merId", userSession.getAccount().getObjectId());
+ } else {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.ROLE_NOT_PERMISSIONS, "");
+ }
+ param.put("userPhone", userPhone);
+ param.put("orderNo", orderNo);
+ param.put("orderChildNo", orderChildNo);
+ param.put("refundOrderNo", refundOrderNo);
+ param.put("refundStatus", refundStatus);
+ param.put("createTimeS", createTimeS);
+ param.put("createTimeE", createTimeE);
+
+ // 下载记录
+ fileRecords.setCreateTime(new Date());
+ fileRecords.setBusinessType(FileRecordsEnum.status9.getCode());
+ fileRecords.setDownloadConditions(param.toString());
+ fileRecords.setOpId(userSession.getAccount().getId());
+ fileRecords.setOpName(userSession.getAccount().getUserName());
+ fileRecords.setStatus(2);
+ fileRecords.setDownloadStatus(2);
+ fileRecords.setTitle(FileRecordsEnum.status9.getName() + DateUtil.date2String(new Date(System.currentTimeMillis()),DateUtil.YMDHMS) + ".xlsx");
+ fileRecords.setFileUrl(CommonSysConst.getSysConfig().getDomainName() + "/filesystem/temporary/" + fileRecords.getTitle());
+ fileRecords.setType("2");
+ fileRecordsService.create(fileRecords);
+
+ // 数据
+ List refundList = orderRefundService.getRefundList(param);
+
+ List dataList = new ArrayList<>();
+ OrderRefundModel model;
+ for (BsOrderRefund refund : refundList) {
+ model = new OrderRefundModel();
+ model.setRefundOrderNo(refund.getRefundOrderNo());
+ model.setOrderNo(refund.getOrderNo());
+ model.setOrderChildNo(refund.getOrderChildNo());
+ model.setUserPhone(refund.getUserPhone());
+ model.setRefundPayChannel(Objects.requireNonNull(OrderPayChannelEnum.getData(refund.getRefundPayChannel())).getName());
+ model.setRefundPayType(Objects.requireNonNull(OrderPayTypeEnum.getData(refund.getReufndPayType())).getName());
+ model.setRefundPrice(refund.getRefundPrice());
+ model.setRefundIntegral(refund.getRefundIntegral());
+ model.setCreateTime(refund.getCreateTime());
+ model.setRefundTime(refund.getFinishTime());
+ model.setStatus(Objects.requireNonNull(OrderRefundStatusEnum.getData(refund.getRefundStatus())).getName());
+ dataList.add(model);
+ }
+ // 文件存放地址
+ String fileUrl = CommonSysConst.getSysConfig().getFileUrl() + "/temporary/";
+ File file = new File(fileUrl);
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ // 生成excel文件
+ EasyExcel.write(fileUrl+fileRecords.getTitle())
+ .head(OrderRefundModel.class)
+ .sheet("退款记录")
+ .doWrite(dataList);
+
+ fileRecords.setStatus(1);
+ fileRecords.setUpdateTime(new Date());
+ fileRecordsService.update(fileRecords);
+ return ResponseMsgUtil.success(fileRecords);
+
+ } catch (Exception e) {
+ fileRecords.setStatus(3);
+ fileRecords.setUpdateTime(new Date());
+ fileRecords.setExt1(e.toString());
+ fileRecordsService.update(fileRecords);
+
+ log.error("error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+
}
diff --git a/order/src/main/java/com/order/controller/business/BsOrderGoodsController.java b/order/src/main/java/com/order/controller/business/BsOrderGoodsController.java
index 6f1608c..af8a8e4 100644
--- a/order/src/main/java/com/order/controller/business/BsOrderGoodsController.java
+++ b/order/src/main/java/com/order/controller/business/BsOrderGoodsController.java
@@ -90,6 +90,8 @@ public class BsOrderGoodsController {
@RequestParam(value = "merId" , required = false) Long merId,
@RequestParam(value = "createTimeS" , required = false) Long createTimeS,
@RequestParam(value = "createTimeE" , required = false) Long createTimeE,
+ @RequestParam(value = "finishTimeS" , required = false) Long finishTimeS,
+ @RequestParam(value = "finishTimeE" , required = false) Long finishTimeE,
@RequestParam(value = "pageNum" , required = true) Integer pageNum,
@RequestParam(value = "pageSize" , required = true) Integer pageSize, HttpServletRequest request) {
try {
@@ -120,6 +122,8 @@ public class BsOrderGoodsController {
map.put("payType", payType);
map.put("createTimeS", createTimeS);
map.put("createTimeE", createTimeE);
+ map.put("finishTimeS", finishTimeS);
+ map.put("finishTimeE", finishTimeE);
map.put("status", status);
PageHelper.startPage(pageNum, pageSize);
@@ -147,6 +151,8 @@ public class BsOrderGoodsController {
@RequestParam(value = "payType" , required = false) Integer payType,
@RequestParam(value = "status" , required = false) Integer status,
@RequestParam(value = "merId" , required = false) Long merId,
+ @RequestParam(value = "finishTimeS" , required = false) Long finishTimeS,
+ @RequestParam(value = "finishTimeE" , required = false) Long finishTimeE,
@RequestParam(value = "createTimeS" , required = false) Long createTimeS,
@RequestParam(value = "createTimeE" , required = false) Long createTimeE, HttpServletRequest request) {
// 插入下载记录
@@ -184,14 +190,12 @@ public class BsOrderGoodsController {
map.put("payType", payType);
map.put("createTimeS", createTimeS);
map.put("createTimeE", createTimeE);
+ map.put("finishTimeS", finishTimeS);
+ map.put("finishTimeE", finishTimeE);
map.put("status", status);
String dataSting = "";
- if (createTimeE != null) {
- dataSting = DateUtil.date2String(DateUtil.long2Date(createTimeS) , DateUtil.YMDHMS) + "-" + DateUtil.date2String(DateUtil.long2Date(createTimeE) , DateUtil.YMDHMS);
- } else {
- dataSting = DateUtil.date2String(new Date(), DateUtil.YMDHMS);
- }
+ dataSting = DateUtil.date2String(new Date(), DateUtil.YMDHMS);
String fileUrl = CommonSysConst.getSysConfig().getFileUrl();
String filePath = "/temporary/" + userModel.getAccount().getId() + "/" ;
diff --git a/order/src/main/java/com/order/controller/business/BsOrderMeiTuanController.java b/order/src/main/java/com/order/controller/business/BsOrderMeiTuanController.java
new file mode 100644
index 0000000..3f4cd6d
--- /dev/null
+++ b/order/src/main/java/com/order/controller/business/BsOrderMeiTuanController.java
@@ -0,0 +1,58 @@
+package com.order.controller.business;
+
+import com.hfkj.common.exception.ErrorCode;
+import com.hfkj.common.exception.ErrorHelp;
+import com.hfkj.common.exception.SysCode;
+import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.entity.SecConfig;
+import com.hfkj.model.ResponseData;
+import com.hfkj.service.SecConfigService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+
+@Controller
+@RequestMapping(value="/orderMeiTuan")
+@Api(value="美团订单管理")
+public class BsOrderMeiTuanController {
+
+ @Resource
+ private SecConfigService secConfigService;
+
+ private static final Logger log = LoggerFactory.getLogger(BsOrderGoodsController.class);
+
+ @RequestMapping(value="/servicePrice",method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询服务费")
+ public ResponseData servicePrice(@RequestParam(value = "platformCode" , required = true) String platformCode,
+ @RequestParam(value = "price" , required = true) BigDecimal price
+ ) {
+ try {
+ // 查询配置的平台服务费
+ SecConfig config = secConfigService.queryDetail(platformCode);
+ BigDecimal servicePrice = new BigDecimal(0);
+
+ if (config == null) {
+ log.error("orderMeiTuan -> servicePrice() error!");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到相信息");
+ }
+
+ servicePrice = price.multiply(new BigDecimal(config.getCodeValue()));
+
+ return ResponseMsgUtil.success(servicePrice);
+
+ } catch (Exception e) {
+ log.error("error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+}
diff --git a/order/src/main/java/com/order/controller/notify/MeiTuanController.java b/order/src/main/java/com/order/controller/notify/MeiTuanController.java
index 529b311..1bbc55f 100644
--- a/order/src/main/java/com/order/controller/notify/MeiTuanController.java
+++ b/order/src/main/java/com/order/controller/notify/MeiTuanController.java
@@ -1,14 +1,16 @@
package com.order.controller.notify;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
+import com.hfkj.common.utils.OrderUtil;
import com.hfkj.config.CommonSysConst;
+import com.hfkj.entity.BsOrderMeituan;
import com.hfkj.meituan.MeiTuanService;
+import com.hfkj.service.goods.BsOrderMeiTuanService;
+import com.hfkj.sysenum.order.OrderChildStatusEnum;
import com.meituan.sqt.utils.EncryptUtil;
-import com.meituan.sqt.utils.JsonUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
@@ -19,9 +21,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.PrintWriter;
+import javax.annotation.Resource;
+import java.util.Date;
import java.util.Objects;
@Controller
@@ -29,20 +30,24 @@ import java.util.Objects;
@Api(value = "美团通知")
public class MeiTuanController {
+ @Resource
+ private BsOrderMeiTuanService bsOrderMeiTuanService;
+
private static Logger log = LoggerFactory.getLogger(MeiTuanService.class);
@RequestMapping(value = "/placeOrder", method = RequestMethod.POST)
@ApiOperation(value = "下单")
@ResponseBody
- public void placeOrder(@RequestBody JSONObject reqBodyStr, HttpServletRequest request, HttpServletResponse response) {
+ public Object placeOrder(@RequestBody JSONObject reqBodyStr) {
try {
log.info("============回调任务Start=============");
String accessKey = reqBodyStr.getString("accessKey");
String content = reqBodyStr.getString("content");
- log.info("美团下单-回调参数: {}", reqBodyStr);
+ log.info("美团-回调参数: {}", reqBodyStr);
if (accessKey == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "accessKey错误");
}
+
if (!Objects.equals(accessKey, CommonSysConst.getSysConfig().getMtAccessKey())) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "accessKey错误");
}
@@ -53,19 +58,94 @@ public class MeiTuanController {
JSONObject jsonObject = JSONObject.parseObject(EncryptUtil.aesDecrypt(content, CommonSysConst.getSysConfig().getMtSecretKey()));;
- log.info("美团下单-解密参数: {}", jsonObject);
+ log.info("美团-解密参数: {}", jsonObject);
+ // 下单
+ if (Objects.equals(jsonObject.getString("method"), "trade.third.pay")) {
+ // 创建美团订单
+ BsOrderMeituan bsOrderMeituan = bsOrderMeiTuanService.findOrderMeiTuanByTradeNo(jsonObject.getString("tradeNo"));
+ JSONObject data = new JSONObject();
+ JSONObject object = new JSONObject();
+ String thirdTradeNo;
+
+ if (bsOrderMeituan == null) {
+ thirdTradeNo = OrderUtil.generateMeiTuanOrderNo();
+ // 组装数据
+ BsOrderMeituan orderMeiTuan = new BsOrderMeituan();
+ orderMeiTuan.setPlatformCode(jsonObject.getString("platformCode"));
+ orderMeiTuan.setThirdTradeNo(thirdTradeNo);
+ orderMeiTuan.setCreateTime(new Date());
+ orderMeiTuan.setUpdateTime(new Date());
+ orderMeiTuan.setTraceId(jsonObject.getString("traceId"));
+ orderMeiTuan.setEntId(jsonObject.getLong("entId"));
+ orderMeiTuan.setTradeNo(jsonObject.getString("tradeNo"));
+ orderMeiTuan.setSqtBizOrderId(jsonObject.getString("sqtBizOrderId"));
+ orderMeiTuan.setTradeAmount(jsonObject.getBigDecimal("tradeAmount"));
+ orderMeiTuan.setEntPayAmount(jsonObject.getBigDecimal("entPayAmount"));
+ orderMeiTuan.setBusinessDiscountPayAmount(jsonObject.getBigDecimal("businessDiscountPayAmount"));
+ orderMeiTuan.setServiceFeeAmount(jsonObject.getBigDecimal("serviceFeeAmount"));
+ orderMeiTuan.setGoodsName(jsonObject.getString("goodsName"));
+ orderMeiTuan.setTradeExpiringTime(jsonObject.getDate("tradeExpiringTime"));
+ orderMeiTuan.setNotifyUrl(jsonObject.getString("notifyUrl"));
+ orderMeiTuan.setReturnUrl(jsonObject.getString("returnUrl"));
+ orderMeiTuan.setFirstBusinessType(jsonObject.getString("firstBusinessType"));
+ orderMeiTuan.setSecondBusinessType(jsonObject.getString("secondBusinessType"));
+ orderMeiTuan.setStaffInfo(jsonObject.getString("staffInfo"));
+ orderMeiTuan.setStatus(OrderChildStatusEnum.status1.getCode());
+ bsOrderMeiTuanService.create(orderMeiTuan);
- log.info("============回调任务End=============");
+ } else {
+ thirdTradeNo = bsOrderMeituan.getThirdTradeNo();
+ }
+ JSONObject staffInfo = jsonObject.getJSONObject("staffInfo");
- response.setCharacterEncoding("UTF-8");
- response.setContentType("text/html;charset=utf-8");
- PrintWriter writer= response.getWriter();
- writer.write("SUCCESS");
+ object.put("thirdTradeNo", thirdTradeNo);
+ object.put("thirdPayUrl", "https://phgcs.dctpay.com/cweb/#/pages/meiTuanPay/index?tradeNo=" + jsonObject.getString("tradeNo") + "&goodsName=" +
+ jsonObject.getString("goodsName") +
+ "&tradeAmount=" + jsonObject.getString("tradeAmount") +
+ "&outSidePhone=" + staffInfo.getString("staffPhone")
+ );
+ log.info("美团下单-参数: {}", object);
+ data.put("status", 0);
+ data.put("msg", "成功");
+ data.put("data", EncryptUtil.aesEncrypt(object.toJSONString() , CommonSysConst.getSysConfig().getMtSecretKey()));
+ log.info("============回调任务End=============");
+ return data;
+
+ }
+ // 退款
+ if (Objects.equals(jsonObject.getString("method"), "trade.third.refund")) {
+ return null;
+ }
+ if (Objects.equals(jsonObject.getString("method"), "trade.third.pay.query")) {
+ // 美团查询订单
+ JSONObject object = new JSONObject();
+ BsOrderMeituan orderMeiTuan = bsOrderMeiTuanService.findOrderMeiTuanByTradeNo(jsonObject.getString("tradeNo"));
+ object.put("tradeNo" , jsonObject.getString("tradeNo"));
+ object.put("thirdTradeNo" , orderMeiTuan.getThirdTradeNo());
+
+ if (orderMeiTuan.getPayTime() == null) {
+ object.put("tradeTime" , "1970-01-01 00:00:00");
+ } else {
+ object.put("tradeTime" , orderMeiTuan.getPayTime());
+
+ }
+ object.put("tradeAmount" , orderMeiTuan.getTradeAmount());
+ object.put("payStatus" , MeiTuanService.payStatus(orderMeiTuan.getStatus()));
+ log.info("美团查询订单-参数: {}", object);
+ JSONObject data = new JSONObject();
+ data.put("status", 0);
+ data.put("msg", "成功");
+ data.put("data", EncryptUtil.aesEncrypt(object.toJSONString() , CommonSysConst.getSysConfig().getMtSecretKey()));
+ log.info("============回调任务End=============");
+ return data;
+ }
+ return null;
} catch (Exception e) {
log.error("WechatPayController --> wechatNotify() error!", e);
+ return e;
}
}
}
diff --git a/schedule/src/main/java/com/hfkj/schedule/OrderGoodsSchedule.java b/schedule/src/main/java/com/hfkj/schedule/OrderGoodsSchedule.java
index 720da5f..3af1b4f 100644
--- a/schedule/src/main/java/com/hfkj/schedule/OrderGoodsSchedule.java
+++ b/schedule/src/main/java/com/hfkj/schedule/OrderGoodsSchedule.java
@@ -21,6 +21,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* @ClassName OrderGoodsSchedule
@@ -35,8 +36,7 @@ public class OrderGoodsSchedule {
@Resource
private BsOrderGoodsService orderGoodsService;
- @Resource
- private BsOrderGoodsService bsOrderGoodsService;
+
@Resource
private GoodsUserAddressService addressService;
@@ -65,7 +65,7 @@ public class OrderGoodsSchedule {
// 判断时间是否是十天前
if (DateUtil.differentDays(goods.getCreateTime() , new Date()) > 10) {
- bsOrderGoodsService.confirmReceipt(goods.getId());
+ orderGoodsService.confirmReceipt(goods.getId());
}
}
}
@@ -75,26 +75,20 @@ public class OrderGoodsSchedule {
Map objectMap = new HashMap<>();
objectMap.put("status" , 2);
+ objectMap.put("createTime" , "createTime");
List orderGoodsList = orderGoodsService.getList(objectMap);
- for (BsOrderGoods goods : orderGoodsList) {
-
- if (goods == null) {
- throw ErrorHelp.genException(SysCode.System , ErrorCode.COMMON_ERROR , "暂无物流信息!");
- }
+ orderGoodsList = orderGoodsList.stream().filter(order -> order.getLogisticsNo() != null).collect(Collectors.toList());
- GoodsUserAddress userAddress = addressService.queryDetail(goods.getDeliveryAddressId());
-
- if (userAddress == null) {
- throw ErrorHelp.genException(SysCode.System , ErrorCode.COMMON_ERROR , "暂无物流信息!");
- }
+ for (BsOrderGoods goods : orderGoodsList) {
if (goods.getLogisticsNo() != null) {
- GoodsLogistics logistics = (GoodsLogistics) bsOrderGoodsService.getLogisticsMsg(goods.getLogisticsNo() , userAddress.getPhone());
+ GoodsLogistics logistics = (GoodsLogistics) orderGoodsService.getLogisticsMsgSchedule(goods.getLogisticsNo() , goods.getUserPhone());
if (logistics.getLogisticsStatus() != null) {
goods.setLogisticsStatus(logistics.getLogisticsStatus());
goods.setLogisticsStatusDesc(logistics.getLogisticsStatusDesc());
+
} else {
goods.setLogisticsStatus(OrderLogisticsStatusEnum.statusWAIT_ACCEPT.getCode());
goods.setLogisticsStatusDesc(OrderLogisticsStatusEnum.statusWAIT_ACCEPT.getName());
@@ -102,7 +96,7 @@ public class OrderGoodsSchedule {
goods.setUpdateTime(new Date());
- bsOrderGoodsService.update(goods);
+ orderGoodsService.update(goods);
}
}
diff --git a/service/src/main/java/com/hfkj/common/utils/HttpsUtils.java b/service/src/main/java/com/hfkj/common/utils/HttpsUtils.java
index 7e53848..af903a4 100644
--- a/service/src/main/java/com/hfkj/common/utils/HttpsUtils.java
+++ b/service/src/main/java/com/hfkj/common/utils/HttpsUtils.java
@@ -365,6 +365,45 @@ public class HttpsUtils {
return null;
}
+ public static JSONObject doPostMeiTuanUrl(String apiUrl, String str) {
+ CloseableHttpClient httpClient;
+ if (apiUrl.startsWith("https")) {
+ httpClient = HttpClients.custom().setSSLSocketFactory(createSSLConnSocketFactory())
+ .setConnectionManager(connMgr).setDefaultRequestConfig(requestConfig).build();
+ } else {
+ httpClient = HttpClients.createDefault();
+ }
+ CloseableHttpResponse response = null;
+
+ try {
+ JSONObject jsonObject = new JSONObject();
+ HttpPost httpPost = new HttpPost(apiUrl);
+ httpPost.setConfig(requestConfig);
+ StringEntity stringEntity = new StringEntity(str, "UTF-8");// 解决中文乱码问题
+ stringEntity.setContentEncoding("UTF-8");
+ stringEntity.setContentType("application/json");
+ httpPost.setEntity(stringEntity);
+ response = httpClient.execute(httpPost);
+
+ if (response.getStatusLine().getStatusCode() == 302) {
+ jsonObject.put("msg" , true);
+ jsonObject.put("url" , response.getHeaders("Location"));
+ }
+
+ return jsonObject;
+ } catch (Exception e) {
+ log.error(e.getMessage(),e);
+ } finally {
+ if (response != null) {
+ try {
+ EntityUtils.consume(response.getEntity());
+ } catch (IOException e) {
+ log.error(e.getMessage(),e);
+ }
+ }
+ }
+ return null;
+ }
public static JSONObject doPostForm(String apiUrl, String body, Map header) {
CloseableHttpClient httpClient = null;
diff --git a/service/src/main/java/com/hfkj/common/utils/OrderUtil.java b/service/src/main/java/com/hfkj/common/utils/OrderUtil.java
index 87f98e0..5877b28 100644
--- a/service/src/main/java/com/hfkj/common/utils/OrderUtil.java
+++ b/service/src/main/java/com/hfkj/common/utils/OrderUtil.java
@@ -54,6 +54,16 @@ public class OrderUtil {
return IDGenerator.nextId(16);
}
+ /**
+ * 生成美团订单号
+ * @return
+ * @throws Exception
+ */
+ public static String generateMeiTuanOrderNo() {
+ // 生成子订单号
+ return IDGenerator.nextId(11);
+ }
+
/**
* 生成退款订单号
* @return
diff --git a/service/src/main/java/com/hfkj/config/WeChatQrcodeUtils.java b/service/src/main/java/com/hfkj/config/WeChatQrcodeUtils.java
index 6e97a48..f589ea8 100644
--- a/service/src/main/java/com/hfkj/config/WeChatQrcodeUtils.java
+++ b/service/src/main/java/com/hfkj/config/WeChatQrcodeUtils.java
@@ -27,8 +27,6 @@ import java.util.Map;
public class WeChatQrcodeUtils {
private static final Logger log = LoggerFactory.getLogger(WeChatQrcodeUtils.class);
-
-
@Resource
private RedisUtil redisUtil;
diff --git a/service/src/main/java/com/hfkj/dao/BsOrderMapper.java b/service/src/main/java/com/hfkj/dao/BsOrderMapper.java
index a782a9a..9e6377a 100644
--- a/service/src/main/java/com/hfkj/dao/BsOrderMapper.java
+++ b/service/src/main/java/com/hfkj/dao/BsOrderMapper.java
@@ -44,23 +44,23 @@ public interface BsOrderMapper extends BsOrderMapperExt {
"pay_channel, pay_channel_order_no, ",
"pay_serial_no, pay_type, ",
"total_price, pay_real_price, ",
- "product_total_price, create_time, ",
- "update_time, pay_time, ",
- "finish_time, cancel_time, ",
- "refund_time, order_status, ",
- "remarks, ext_1, ext_2, ",
- "ext_3)",
+ "payment, product_total_price, ",
+ "create_time, update_time, ",
+ "pay_time, finish_time, ",
+ "cancel_time, refund_time, ",
+ "order_status, remarks, ",
+ "ext_1, ext_2, ext_3)",
"values (#{userId,jdbcType=BIGINT}, #{userName,jdbcType=VARCHAR}, ",
"#{userPhone,jdbcType=VARCHAR}, #{orderNo,jdbcType=VARCHAR}, ",
"#{payChannel,jdbcType=INTEGER}, #{payChannelOrderNo,jdbcType=VARCHAR}, ",
"#{paySerialNo,jdbcType=VARCHAR}, #{payType,jdbcType=INTEGER}, ",
"#{totalPrice,jdbcType=DECIMAL}, #{payRealPrice,jdbcType=DECIMAL}, ",
- "#{productTotalPrice,jdbcType=DECIMAL}, #{createTime,jdbcType=TIMESTAMP}, ",
- "#{updateTime,jdbcType=TIMESTAMP}, #{payTime,jdbcType=TIMESTAMP}, ",
- "#{finishTime,jdbcType=TIMESTAMP}, #{cancelTime,jdbcType=TIMESTAMP}, ",
- "#{refundTime,jdbcType=TIMESTAMP}, #{orderStatus,jdbcType=INTEGER}, ",
- "#{remarks,jdbcType=VARCHAR}, #{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, ",
- "#{ext3,jdbcType=VARCHAR})"
+ "#{payment,jdbcType=DECIMAL}, #{productTotalPrice,jdbcType=DECIMAL}, ",
+ "#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, ",
+ "#{payTime,jdbcType=TIMESTAMP}, #{finishTime,jdbcType=TIMESTAMP}, ",
+ "#{cancelTime,jdbcType=TIMESTAMP}, #{refundTime,jdbcType=TIMESTAMP}, ",
+ "#{orderStatus,jdbcType=INTEGER}, #{remarks,jdbcType=VARCHAR}, ",
+ "#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
})
@Options(useGeneratedKeys=true,keyProperty="id")
int insert(BsOrder record);
@@ -82,6 +82,7 @@ public interface BsOrderMapper extends BsOrderMapperExt {
@Result(column="pay_type", property="payType", jdbcType=JdbcType.INTEGER),
@Result(column="total_price", property="totalPrice", jdbcType=JdbcType.DECIMAL),
@Result(column="pay_real_price", property="payRealPrice", jdbcType=JdbcType.DECIMAL),
+ @Result(column="payment", property="payment", jdbcType=JdbcType.DECIMAL),
@Result(column="product_total_price", property="productTotalPrice", jdbcType=JdbcType.DECIMAL),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@@ -100,8 +101,8 @@ public interface BsOrderMapper extends BsOrderMapperExt {
@Select({
"select",
"id, user_id, user_name, user_phone, order_no, pay_channel, pay_channel_order_no, ",
- "pay_serial_no, pay_type, total_price, pay_real_price, product_total_price, create_time, ",
- "update_time, pay_time, finish_time, cancel_time, refund_time, order_status, ",
+ "pay_serial_no, pay_type, total_price, pay_real_price, payment, product_total_price, ",
+ "create_time, update_time, pay_time, finish_time, cancel_time, refund_time, order_status, ",
"remarks, ext_1, ext_2, ext_3",
"from bs_order",
"where id = #{id,jdbcType=BIGINT}"
@@ -118,6 +119,7 @@ public interface BsOrderMapper extends BsOrderMapperExt {
@Result(column="pay_type", property="payType", jdbcType=JdbcType.INTEGER),
@Result(column="total_price", property="totalPrice", jdbcType=JdbcType.DECIMAL),
@Result(column="pay_real_price", property="payRealPrice", jdbcType=JdbcType.DECIMAL),
+ @Result(column="payment", property="payment", jdbcType=JdbcType.DECIMAL),
@Result(column="product_total_price", property="productTotalPrice", jdbcType=JdbcType.DECIMAL),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@@ -154,6 +156,7 @@ public interface BsOrderMapper extends BsOrderMapperExt {
"pay_type = #{payType,jdbcType=INTEGER},",
"total_price = #{totalPrice,jdbcType=DECIMAL},",
"pay_real_price = #{payRealPrice,jdbcType=DECIMAL},",
+ "payment = #{payment,jdbcType=DECIMAL},",
"product_total_price = #{productTotalPrice,jdbcType=DECIMAL},",
"create_time = #{createTime,jdbcType=TIMESTAMP},",
"update_time = #{updateTime,jdbcType=TIMESTAMP},",
diff --git a/service/src/main/java/com/hfkj/dao/BsOrderSqlProvider.java b/service/src/main/java/com/hfkj/dao/BsOrderSqlProvider.java
index 003f046..aa3e5b8 100644
--- a/service/src/main/java/com/hfkj/dao/BsOrderSqlProvider.java
+++ b/service/src/main/java/com/hfkj/dao/BsOrderSqlProvider.java
@@ -68,6 +68,10 @@ public class BsOrderSqlProvider {
sql.VALUES("pay_real_price", "#{payRealPrice,jdbcType=DECIMAL}");
}
+ if (record.getPayment() != null) {
+ sql.VALUES("payment", "#{payment,jdbcType=DECIMAL}");
+ }
+
if (record.getProductTotalPrice() != null) {
sql.VALUES("product_total_price", "#{productTotalPrice,jdbcType=DECIMAL}");
}
@@ -136,6 +140,7 @@ public class BsOrderSqlProvider {
sql.SELECT("pay_type");
sql.SELECT("total_price");
sql.SELECT("pay_real_price");
+ sql.SELECT("payment");
sql.SELECT("product_total_price");
sql.SELECT("create_time");
sql.SELECT("update_time");
@@ -209,6 +214,10 @@ public class BsOrderSqlProvider {
sql.SET("pay_real_price = #{record.payRealPrice,jdbcType=DECIMAL}");
}
+ if (record.getPayment() != null) {
+ sql.SET("payment = #{record.payment,jdbcType=DECIMAL}");
+ }
+
if (record.getProductTotalPrice() != null) {
sql.SET("product_total_price = #{record.productTotalPrice,jdbcType=DECIMAL}");
}
@@ -276,6 +285,7 @@ public class BsOrderSqlProvider {
sql.SET("pay_type = #{record.payType,jdbcType=INTEGER}");
sql.SET("total_price = #{record.totalPrice,jdbcType=DECIMAL}");
sql.SET("pay_real_price = #{record.payRealPrice,jdbcType=DECIMAL}");
+ sql.SET("payment = #{record.payment,jdbcType=DECIMAL}");
sql.SET("product_total_price = #{record.productTotalPrice,jdbcType=DECIMAL}");
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
@@ -338,6 +348,10 @@ public class BsOrderSqlProvider {
sql.SET("pay_real_price = #{payRealPrice,jdbcType=DECIMAL}");
}
+ if (record.getPayment() != null) {
+ sql.SET("payment = #{payment,jdbcType=DECIMAL}");
+ }
+
if (record.getProductTotalPrice() != null) {
sql.SET("product_total_price = #{productTotalPrice,jdbcType=DECIMAL}");
}
diff --git a/service/src/main/java/com/hfkj/entity/BsOrder.java b/service/src/main/java/com/hfkj/entity/BsOrder.java
index 4022ed9..cfee38b 100644
--- a/service/src/main/java/com/hfkj/entity/BsOrder.java
+++ b/service/src/main/java/com/hfkj/entity/BsOrder.java
@@ -40,7 +40,7 @@ public class BsOrder implements Serializable {
private String orderNo;
/**
- * 支付渠道 1:惠支付 2:微信合作商 3:贵州银行
+ * 支付渠道 1:惠支付 2:微信合作商 3:贵州银行 4:汇联通
*/
private Integer payChannel;
@@ -55,7 +55,7 @@ public class BsOrder implements Serializable {
private String paySerialNo;
/**
- * 支付方式 1:微信 2: 支付宝 3:快捷支付
+ * 支付方式 1:微信 2: 支付宝 3:快捷支付 4:工会卡
*/
private Integer payType;
@@ -65,10 +65,15 @@ public class BsOrder implements Serializable {
private BigDecimal totalPrice;
/**
- * 实付金额
+ * 应付金额
*/
private BigDecimal payRealPrice;
+ /**
+ * 支付金额
+ */
+ private BigDecimal payment;
+
/**
* 商品总金额
*/
@@ -210,6 +215,14 @@ public class BsOrder implements Serializable {
this.payRealPrice = payRealPrice;
}
+ public BigDecimal getPayment() {
+ return payment;
+ }
+
+ public void setPayment(BigDecimal payment) {
+ this.payment = payment;
+ }
+
public BigDecimal getProductTotalPrice() {
return productTotalPrice;
}
@@ -329,6 +342,7 @@ public class BsOrder implements Serializable {
&& (this.getPayType() == null ? other.getPayType() == null : this.getPayType().equals(other.getPayType()))
&& (this.getTotalPrice() == null ? other.getTotalPrice() == null : this.getTotalPrice().equals(other.getTotalPrice()))
&& (this.getPayRealPrice() == null ? other.getPayRealPrice() == null : this.getPayRealPrice().equals(other.getPayRealPrice()))
+ && (this.getPayment() == null ? other.getPayment() == null : this.getPayment().equals(other.getPayment()))
&& (this.getProductTotalPrice() == null ? other.getProductTotalPrice() == null : this.getProductTotalPrice().equals(other.getProductTotalPrice()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
@@ -358,6 +372,7 @@ public class BsOrder implements Serializable {
result = prime * result + ((getPayType() == null) ? 0 : getPayType().hashCode());
result = prime * result + ((getTotalPrice() == null) ? 0 : getTotalPrice().hashCode());
result = prime * result + ((getPayRealPrice() == null) ? 0 : getPayRealPrice().hashCode());
+ result = prime * result + ((getPayment() == null) ? 0 : getPayment().hashCode());
result = prime * result + ((getProductTotalPrice() == null) ? 0 : getProductTotalPrice().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
@@ -390,6 +405,7 @@ public class BsOrder implements Serializable {
sb.append(", payType=").append(payType);
sb.append(", totalPrice=").append(totalPrice);
sb.append(", payRealPrice=").append(payRealPrice);
+ sb.append(", payment=").append(payment);
sb.append(", productTotalPrice=").append(productTotalPrice);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
diff --git a/service/src/main/java/com/hfkj/entity/BsOrderExample.java b/service/src/main/java/com/hfkj/entity/BsOrderExample.java
index 045710b..9c98c82 100644
--- a/service/src/main/java/com/hfkj/entity/BsOrderExample.java
+++ b/service/src/main/java/com/hfkj/entity/BsOrderExample.java
@@ -836,6 +836,66 @@ public class BsOrderExample {
return (Criteria) this;
}
+ public Criteria andPaymentIsNull() {
+ addCriterion("payment is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPaymentIsNotNull() {
+ addCriterion("payment is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPaymentEqualTo(BigDecimal value) {
+ addCriterion("payment =", value, "payment");
+ return (Criteria) this;
+ }
+
+ public Criteria andPaymentNotEqualTo(BigDecimal value) {
+ addCriterion("payment <>", value, "payment");
+ return (Criteria) this;
+ }
+
+ public Criteria andPaymentGreaterThan(BigDecimal value) {
+ addCriterion("payment >", value, "payment");
+ return (Criteria) this;
+ }
+
+ public Criteria andPaymentGreaterThanOrEqualTo(BigDecimal value) {
+ addCriterion("payment >=", value, "payment");
+ return (Criteria) this;
+ }
+
+ public Criteria andPaymentLessThan(BigDecimal value) {
+ addCriterion("payment <", value, "payment");
+ return (Criteria) this;
+ }
+
+ public Criteria andPaymentLessThanOrEqualTo(BigDecimal value) {
+ addCriterion("payment <=", value, "payment");
+ return (Criteria) this;
+ }
+
+ public Criteria andPaymentIn(List values) {
+ addCriterion("payment in", values, "payment");
+ return (Criteria) this;
+ }
+
+ public Criteria andPaymentNotIn(List values) {
+ addCriterion("payment not in", values, "payment");
+ return (Criteria) this;
+ }
+
+ public Criteria andPaymentBetween(BigDecimal value1, BigDecimal value2) {
+ addCriterion("payment between", value1, value2, "payment");
+ return (Criteria) this;
+ }
+
+ public Criteria andPaymentNotBetween(BigDecimal value1, BigDecimal value2) {
+ addCriterion("payment not between", value1, value2, "payment");
+ return (Criteria) this;
+ }
+
public Criteria andProductTotalPriceIsNull() {
addCriterion("product_total_price is null");
return (Criteria) this;
diff --git a/service/src/main/java/com/hfkj/meituan/MeiTuanService.java b/service/src/main/java/com/hfkj/meituan/MeiTuanService.java
index 9b0972b..6467f28 100644
--- a/service/src/main/java/com/hfkj/meituan/MeiTuanService.java
+++ b/service/src/main/java/com/hfkj/meituan/MeiTuanService.java
@@ -34,9 +34,29 @@ public class MeiTuanService {
*/
public static JSONObject loginFree(Map map) throws Exception {
- JSONObject object = request("" , map);
+ JSONObject object = doPostMeiTuanUrl("https://waimai-openapi.apigw.test.meituan.com/api/sqt/open/login/h5/loginFree/redirection?test_open_swimlane=test-open" , map);
- if (object.getBoolean("success") && object.getInteger("code") == 10000) {
+ if (object.getBoolean("msg")) {
+ return object;
+ } else {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "查询失败!");
+ }
+
+ }
+
+ /**
+ * @MethodName paySuccess
+ * @Description: 支付成功通知接口
+ * @param map
+ * @return: com.alibaba.fastjson.JSONObject
+ * @Author: Sum1Dream
+ * @Date: 2024/9/18 下午3:42
+ */
+ public static JSONObject paySuccess(Map map , String url) throws Exception {
+
+ JSONObject object = request(url , map);
+
+ if (object.getBoolean("msg")) {
return object;
} else {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "查询失败!");
@@ -53,20 +73,78 @@ public class MeiTuanService {
*/
public static JSONObject request(String postUrl, Map param) throws Exception {
+ log.info("============ 美团请求-START =============");
+ param.put("accessKey", CommonSysConst.getSysConfig().getMtAccessKey());
+ param.put("content", EncryptUtil.aesEncrypt(JsonUtil.object2Json(param), CommonSysConst.getSysConfig().getMtSecretKey()));
+
+ log.info("请求接口:" + postUrl);
+ log.info("请求参数:" + JSONObject.toJSONString(param));
+ JSONObject response = HttpsUtils.doPost(postUrl, JSONObject.toJSONString(param));
- log.info("============ 千猪请求-START =============");
+ log.info("响应参数:" + response.toJSONString());
+ log.info("============ 美团请求-END ==============");
+ return response;
+
+ }
+
+ /**
+ * @MethodName doPostMeiTuanUrl
+ * @Description: 美团免登陆接口
+ * @param postUrl
+ * @param param
+ * @return: com.alibaba.fastjson.JSONObject
+ * @Author: Sum1Dream
+ * @Date: 2024/9/18 下午5:44
+ */
+ public static JSONObject doPostMeiTuanUrl(String postUrl, Map param) throws Exception {
+
+ log.info("============ 美团请求-START =============");
param.put("accessKey", CommonSysConst.getSysConfig().getMtAccessKey());
param.put("content", EncryptUtil.aesEncrypt(JsonUtil.object2Json(param), CommonSysConst.getSysConfig().getMtSecretKey()));
log.info("请求接口:" + postUrl);
log.info("请求参数:" + JSONObject.toJSONString(param));
- JSONObject response = HttpsUtils.doPost(CommonSysConst.getSysConfig().getMtPostUrl() + postUrl, JSONObject.toJSONString(param));
+ JSONObject response = HttpsUtils.doPostMeiTuanUrl(postUrl, JSONObject.toJSONString(param));
log.info("响应参数:" + response.toJSONString());
- log.info("============ 千猪请求-END ==============");
+ log.info("============ 美团请求-END ==============");
return response;
}
+
+ /**
+ * @MethodName payStatus
+ * @Description: 美团支付状态转换
+ * @param payStatus
+ * @return: java.lang.Integer
+ * @Author: Sum1Dream
+ * @Date: 2024/9/18 下午6:03
+ */
+ public static Integer payStatus(Integer payStatus) {
+ int result;
+ switch (payStatus) {
+ case 1:
+ result = 0;
+ break;
+ case 2:
+ result = 1;
+ break;
+ case 3:
+ result = 1;
+ break;
+ case 4:
+ result = 2;
+ break;
+ case 5:
+ result = 10;
+ break;
+ default:
+ throw new RuntimeException("状态不正确");
+ }
+
+ return result;
+ }
+
}
diff --git a/service/src/main/java/com/hfkj/model/excel/OrderAfterSalesApplyModel.java b/service/src/main/java/com/hfkj/model/excel/OrderAfterSalesApplyModel.java
new file mode 100644
index 0000000..ea054f0
--- /dev/null
+++ b/service/src/main/java/com/hfkj/model/excel/OrderAfterSalesApplyModel.java
@@ -0,0 +1,64 @@
+package com.hfkj.model.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.Data;
+
+/**
+ * 订单售后申请模型
+ * @className: OrderAfterSalesApplyModel
+ * @author: HuRui
+ * @date: 2024/9/19
+ **/
+@Data
+public class OrderAfterSalesApplyModel {
+
+ @ColumnWidth(20)
+ @ExcelProperty("申请单号")
+ private String applyNo;
+
+ @ColumnWidth(20)
+ @ExcelProperty("申请类型")
+ private String applyType;
+
+ @ColumnWidth(20)
+ @ExcelProperty("用户手机号")
+ private String userPhone;
+
+ @ColumnWidth(25)
+ @ExcelProperty("交易单号")
+ private String orderNo;
+
+ @ColumnWidth(20)
+ @ExcelProperty("商品单号")
+ private String orderChildNo;
+
+ @ColumnWidth(20)
+ @ExcelProperty("产品类型")
+ private String productType;
+
+ @ColumnWidth(50)
+ @ExcelProperty("产品名称")
+ private String productName;
+
+ @ColumnWidth(30)
+ @ExcelProperty("产品规格")
+ private String productSpecName;
+
+ @ColumnWidth(20)
+ @ExcelProperty("申请退款数量")
+ private Integer productCount;
+
+ @ColumnWidth(20)
+ @ExcelProperty("申请退款金额")
+ private String refundPrice;
+
+ @ColumnWidth(20)
+ @ExcelProperty("申请退款积分")
+ private String refundIntegral;
+
+ @ColumnWidth(20)
+ @ExcelProperty("状态")
+ private String status;
+
+}
diff --git a/service/src/main/java/com/hfkj/model/excel/OrderRefundModel.java b/service/src/main/java/com/hfkj/model/excel/OrderRefundModel.java
new file mode 100644
index 0000000..4ac52f1
--- /dev/null
+++ b/service/src/main/java/com/hfkj/model/excel/OrderRefundModel.java
@@ -0,0 +1,63 @@
+package com.hfkj.model.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 订单退款记录
+ * @className: OrderAfterSalesApplyModel
+ * @author: HuRui
+ * @date: 2024/9/19
+ **/
+@Data
+public class OrderRefundModel {
+
+ @ColumnWidth(25)
+ @ExcelProperty("退款单号")
+ private String refundOrderNo;
+
+ @ColumnWidth(25)
+ @ExcelProperty("交易单号")
+ private String orderNo;
+
+ @ColumnWidth(20)
+ @ExcelProperty("商品单号")
+ private String orderChildNo;
+
+ @ColumnWidth(20)
+ @ExcelProperty("用户手机号")
+ private String userPhone;
+
+ @ColumnWidth(20)
+ @ExcelProperty("支付渠道")
+ private String refundPayChannel;
+
+ @ColumnWidth(20)
+ @ExcelProperty("支付方式")
+ private String refundPayType;
+
+ @ColumnWidth(20)
+ @ExcelProperty("退款金额")
+ private BigDecimal refundPrice;
+
+ @ColumnWidth(20)
+ @ExcelProperty("退款积分")
+ private Long refundIntegral;
+
+ @ColumnWidth(20)
+ @ExcelProperty("创建时间")
+ private Date createTime;
+
+ @ColumnWidth(20)
+ @ExcelProperty("退款时间")
+ private Date refundTime;
+
+ @ColumnWidth(20)
+ @ExcelProperty("状态")
+ private String status;
+
+}
diff --git a/service/src/main/java/com/hfkj/service/SecConfigService.java b/service/src/main/java/com/hfkj/service/SecConfigService.java
index b3d0cc4..28661cd 100644
--- a/service/src/main/java/com/hfkj/service/SecConfigService.java
+++ b/service/src/main/java/com/hfkj/service/SecConfigService.java
@@ -49,4 +49,14 @@ public interface SecConfigService {
* @return com.hfkj.entity.GoodsBrand
*/
SecConfig queryDetail(Integer id);
+
+ /**
+ * @MethodName queryDetail
+ * @Description:
+ * @param codeType
+ * @return: com.hfkj.entity.SecConfig
+ * @Author: Sum1Dream
+ * @Date: 2024/9/14 下午3:08
+ */
+ SecConfig queryDetail(String codeType);
}
diff --git a/service/src/main/java/com/hfkj/service/goods/BsOrderGoodsService.java b/service/src/main/java/com/hfkj/service/goods/BsOrderGoodsService.java
index 0539f1f..6cda295 100644
--- a/service/src/main/java/com/hfkj/service/goods/BsOrderGoodsService.java
+++ b/service/src/main/java/com/hfkj/service/goods/BsOrderGoodsService.java
@@ -138,6 +138,7 @@ public interface BsOrderGoodsService {
* @Return com.alibaba.fastjson.JSONObject
*/
Object getLogisticsMsg(String logisticsNo , String mobile);
+ Object getLogisticsMsgSchedule(String logisticsNo , String mobile);
/**
* @Author Sum1Dream
diff --git a/service/src/main/java/com/hfkj/service/goods/BsOrderMeiTuanService.java b/service/src/main/java/com/hfkj/service/goods/BsOrderMeiTuanService.java
new file mode 100644
index 0000000..c91156f
--- /dev/null
+++ b/service/src/main/java/com/hfkj/service/goods/BsOrderMeiTuanService.java
@@ -0,0 +1,67 @@
+package com.hfkj.service.goods;
+
+import com.hfkj.entity.BsOrderMeituan;
+
+public interface BsOrderMeiTuanService {
+
+ /**
+ * @MethodName create
+ * @Description: 创建
+ * @param orderMeiTuan
+ * @Author: Sum1Dream
+ * @Date: 2024/9/5 下午4:18
+ */
+ void create(BsOrderMeituan orderMeiTuan);
+
+ /**
+ * @MethodName update
+ * @Description: 更新
+ * @param orderMeiTuan
+ * @Author: Sum1Dream
+ * @Date: 2024/9/5 下午4:19
+ */
+ void update(BsOrderMeituan orderMeiTuan);
+
+ /**
+ * @MethodName delete
+ * @Description: 删除
+ * @param id
+ * @param fullDelete
+ * @Author: Sum1Dream
+ * @Date: 2024/9/5 下午4:19
+ */
+ void delete(Long id , Boolean fullDelete);
+
+ /**
+ * @MethodName queryDetail
+ * @Description: 查询详情
+ * @param id
+ * @return: com.hfkj.entity.BsOrderMeituan
+ * @Author: Sum1Dream
+ * @Date: 2024/9/5 下午4:19
+ */
+ BsOrderMeituan queryDetail(Long id);
+
+ /**
+ * @MethodName findOrderMeiTuan
+ * @Description: 根据订单号查询
+ * @param childOrderNo
+ * @return: com.hfkj.entity.BsOrderMeituan
+ * @Author: Sum1Dream
+ * @Date: 2024/9/5 下午4:22
+ */
+ BsOrderMeituan findOrderMeiTuan(String childOrderNo);
+
+ /**
+ * @MethodName findOrderMeiTuanByTradeNo
+ * @Description: 通过渠道订单号查询
+ * @param tradeNo
+ * @return: com.hfkj.entity.BsOrderMeituan
+ * @Author: Sum1Dream
+ * @Date: 2024/9/18 下午5:54
+ */
+ BsOrderMeituan findOrderMeiTuanByTradeNo(String tradeNo);
+
+
+
+}
diff --git a/service/src/main/java/com/hfkj/service/goods/impl/BsOrderGoodsServiceImpl.java b/service/src/main/java/com/hfkj/service/goods/impl/BsOrderGoodsServiceImpl.java
index 865a088..7a892fd 100644
--- a/service/src/main/java/com/hfkj/service/goods/impl/BsOrderGoodsServiceImpl.java
+++ b/service/src/main/java/com/hfkj/service/goods/impl/BsOrderGoodsServiceImpl.java
@@ -174,12 +174,22 @@ public class BsOrderGoodsServiceImpl implements BsOrderGoodsService {
if (MapUtils.getLong(map, "createTimeE") != null) {
criteria.andCreateTimeLessThan(new Date(MapUtils.getLong(map, "createTimeE")));
}
+ if (MapUtils.getLong(map, "finishTimeS") != null) {
+ criteria.andFinishTimeGreaterThanOrEqualTo(new Date(MapUtils.getLong(map, "finishTimeS")));
+ }
+ if (MapUtils.getLong(map, "finishTimeE") != null) {
+ criteria.andFinishTimeLessThan(new Date(MapUtils.getLong(map, "finishTimeE")));
+ example.setOrderByClause("finish_time desc");
+ }
if (MapUtils.getInteger(map, "status") != null) {
criteria.andStatusEqualTo(MapUtils.getInteger(map, "status"));
} else {
criteria.andStatusNotEqualTo(0);
}
- example.setOrderByClause("create_time desc");
+ if (MapUtils.getString(map , "createTime") == null) {
+ example.setOrderByClause("create_time desc");
+ }
+
return bsOrderGoodsMapper.selectByExample(example);
}
@@ -269,7 +279,17 @@ public class BsOrderGoodsServiceImpl implements BsOrderGoodsService {
return editLogistics((JSONObject) jsonObjects.get("data"));
}
+ @Override
+ public Object getLogisticsMsgSchedule(String logisticsNo, String mobile) {
+ JSONObject jsonObjects = OrderUtil.getLogisticsMsg(logisticsNo , mobile);
+ if (jsonObjects != null) {
+ if (jsonObjects.getBoolean("success")) {
+ return editLogistics((JSONObject) jsonObjects.get("data"));
+ }
+ }
+ return null;
+ }
@Override
public void confirmReceipt(Long orderGoodsId) {
diff --git a/service/src/main/java/com/hfkj/service/goods/impl/BsOrderMeiTuanServiceImpl.java b/service/src/main/java/com/hfkj/service/goods/impl/BsOrderMeiTuanServiceImpl.java
new file mode 100644
index 0000000..80f5550
--- /dev/null
+++ b/service/src/main/java/com/hfkj/service/goods/impl/BsOrderMeiTuanServiceImpl.java
@@ -0,0 +1,67 @@
+package com.hfkj.service.goods.impl;
+
+import com.hfkj.dao.BsOrderMeituanMapper;
+import com.hfkj.entity.BsOrderMeituan;
+import com.hfkj.entity.BsOrderMeituanExample;
+import com.hfkj.service.goods.BsOrderMeiTuanService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service("bsOrderMeiTuanService")
+public class BsOrderMeiTuanServiceImpl implements BsOrderMeiTuanService {
+
+ @Resource
+ private BsOrderMeituanMapper bsOrderMeituanMapper;
+
+ @Override
+ public void create(BsOrderMeituan orderMeiTuan) {
+ bsOrderMeituanMapper.insert(orderMeiTuan);
+ }
+
+ @Override
+ public void update(BsOrderMeituan orderMeiTuan) {
+ bsOrderMeituanMapper.updateByPrimaryKeySelective(orderMeiTuan);
+ }
+
+ @Override
+ public void delete(Long id, Boolean fullDelete) {
+
+ }
+
+ @Override
+ public BsOrderMeituan queryDetail(Long id) {
+ return null;
+ }
+
+ @Override
+ public BsOrderMeituan findOrderMeiTuan(String childOrderNo) {
+ BsOrderMeituanExample example = new BsOrderMeituanExample();
+ BsOrderMeituanExample.Criteria criteria = example.createCriteria();
+ criteria.andChildOrderNoEqualTo(childOrderNo);
+
+ List list = bsOrderMeituanMapper.selectByExample(example);
+
+ if (!list.isEmpty()) {
+ return list.get(0);
+ }
+
+ return null;
+ }
+
+ @Override
+ public BsOrderMeituan findOrderMeiTuanByTradeNo(String tradeNo) {
+ BsOrderMeituanExample example = new BsOrderMeituanExample();
+ BsOrderMeituanExample.Criteria criteria = example.createCriteria();
+ criteria.andTradeNoEqualTo(tradeNo);
+
+ List list = bsOrderMeituanMapper.selectByExample(example);
+
+ if (!list.isEmpty()) {
+ return list.get(0);
+ }
+
+ return null;
+ }
+}
diff --git a/service/src/main/java/com/hfkj/service/impl/SecConfigServiceImpl.java b/service/src/main/java/com/hfkj/service/impl/SecConfigServiceImpl.java
index ecc0cb1..d5509f4 100644
--- a/service/src/main/java/com/hfkj/service/impl/SecConfigServiceImpl.java
+++ b/service/src/main/java/com/hfkj/service/impl/SecConfigServiceImpl.java
@@ -2,9 +2,11 @@ package com.hfkj.service.impl;
import com.hfkj.dao.SecConfigMapper;
import com.hfkj.entity.SecConfig;
+import com.hfkj.entity.SecConfigExample;
import com.hfkj.service.SecConfigService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.List;
@Service("secConfigService")
public class SecConfigServiceImpl implements SecConfigService {
@@ -31,4 +33,19 @@ public class SecConfigServiceImpl implements SecConfigService {
public SecConfig queryDetail(Integer id) {
return secConfigMapper.selectByPrimaryKey(id);
}
+
+ @Override
+ public SecConfig queryDetail(String codeType) {
+ SecConfigExample secConfigExample = new SecConfigExample();
+ secConfigExample.createCriteria().andCodeTypeEqualTo(codeType);
+ List list = secConfigMapper.selectByExample(secConfigExample);
+
+ if (!list.isEmpty()) {
+ return list.get(0);
+ }
+
+ return null;
+ }
+
+
}
diff --git a/service/src/main/java/com/hfkj/service/order/BsOrderRefundService.java b/service/src/main/java/com/hfkj/service/order/BsOrderRefundService.java
index 280e246..79b2a2a 100644
--- a/service/src/main/java/com/hfkj/service/order/BsOrderRefundService.java
+++ b/service/src/main/java/com/hfkj/service/order/BsOrderRefundService.java
@@ -3,6 +3,7 @@ package com.hfkj.service.order;
import com.hfkj.entity.BsOrderRefund;
import com.hfkj.model.order.OrderModel;
+import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@@ -40,6 +41,17 @@ public interface BsOrderRefundService {
*/
BsOrderRefund tradeOrderChildRefund(String childOrderNo, Integer productCount, String remark);
+ /**
+ * @MethodName meiTuanRefund
+ * @Description: 美团退款
+ * @param childOrderNo
+ * @param remark
+ * @return: com.hfkj.entity.BsOrderRefund
+ * @Author: Sum1Dream
+ * @Date: 2024/9/18 下午4:33
+ */
+ BsOrderRefund meiTuanRefund(String childOrderNo, String tradeNo , BigDecimal refundPrice, String remark);
+
/**
* 查询退款
* @param refundOrderNo 退款单号
diff --git a/service/src/main/java/com/hfkj/service/order/OrderCreateService.java b/service/src/main/java/com/hfkj/service/order/OrderCreateService.java
index d05f32a..b5a68ae 100644
--- a/service/src/main/java/com/hfkj/service/order/OrderCreateService.java
+++ b/service/src/main/java/com/hfkj/service/order/OrderCreateService.java
@@ -14,16 +14,19 @@ import com.hfkj.model.order.OrderModel;
import com.hfkj.qianzhu.CinemaService;
import com.hfkj.qianzhu.StarbucksService;
import com.hfkj.service.BsProductConfigService;
+import com.hfkj.service.SecConfigService;
import com.hfkj.service.coupon.BsOrderCouponNoService;
import com.hfkj.service.coupon.BsOrderCouponService;
import com.hfkj.service.coupon.channel.HuiLianTongCouponService;
import com.hfkj.service.goods.*;
import com.hfkj.service.hlt.HuiLianTongUnionCardService;
+import com.hfkj.service.impl.SecConfigServiceImpl;
import com.hfkj.sysenum.GoodsVpdSourceEnum;
import com.hfkj.sysenum.order.*;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -69,6 +72,10 @@ public class OrderCreateService {
private BsOrderStarbucksService orderStarbucksService;
@Resource
private BsOrderMemberService orderMemberService;
+ @Resource
+ private SecConfigService secConfigService;
+ @Resource
+ private BsOrderMeiTuanService bsOrderMeiTuanService;
/**
* 事务产品
@@ -81,7 +88,7 @@ public class OrderCreateService {
if (goodsMsg == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商品");
}
- if (goodsMsg.getStatus() != 1) {
+ if (goodsMsg.getStatus() == 0 || goodsMsg.getStatus() == 2 || goodsMsg.getStatus() == 3) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, goodsMsg.getTitle()+"暂无法就进行购买");
}
// 查询商品规格
@@ -212,7 +219,7 @@ public class OrderCreateService {
if (goodsMsg == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商品");
}
- if (goodsMsg.getStatus() != 1) {
+ if (goodsMsg.getStatus() == 0 || goodsMsg.getStatus() == 2 || goodsMsg.getStatus() == 3) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, goodsMsg.getTitle()+"暂无法就进行购买");
}
if (goodsMsg.getType() != 1) {
@@ -487,7 +494,7 @@ public class OrderCreateService {
// 星巴克创建订单
// 获取token
Map mapToken = new HashMap<>();
- mapToken.put("platformUniqueId" , order.getOrderNo());
+ mapToken.put("platformUniqueId" , order.getOrderNo() );
mapToken.put("nickname" , order.getUserName());
mapToken.put("mobile" , object.getString("phone"));
StarbucksService.getTokenV2(mapToken);
@@ -505,4 +512,41 @@ public class OrderCreateService {
return orderChild;
}
+ public OrderChildModel meituan(OrderModel order, OrderChildModel orderChild) throws Exception {
+ // 获取下单业务参数
+ JSONObject object = new JSONObject((Map) orderChild.getBusiness());
+ BsProductConfig productConfig = bsProductConfigService.queryDetail(OrderChildProductTypeEnum.type5.getCode());
+ // 查询配置的平台服务费
+ SecConfig config = secConfigService.queryDetail(object.getString("platformCode"));
+ BigDecimal servicePrice = new BigDecimal(0);
+ if (config != null) {
+ servicePrice = new BigDecimal(config.getCodeValue());
+ }
+
+ // 查询美团订单
+ BsOrderMeituan orderMeiTuan = bsOrderMeiTuanService.findOrderMeiTuanByTradeNo(object.getString("tradeNo"));
+
+ // 组装数据
+ orderMeiTuan.setOrderNo(orderChild.getOrderNo());
+ orderMeiTuan.setChildOrderNo(orderChild.getChildOrderNo());
+ orderMeiTuan.setMerId(productConfig.getMerId());
+ orderMeiTuan.setUserId(order.getUserId());
+ orderMeiTuan.setPlatformCode(object.getString("platformCode"));
+ orderMeiTuan.setUserPhone(order.getUserPhone());
+ orderMeiTuan.setServicePrice(orderMeiTuan.getTradeAmount().multiply(servicePrice));
+ orderMeiTuan.setTotalPrice(orderMeiTuan.getServicePrice().add(orderMeiTuan.getTradeAmount()));
+
+ bsOrderMeiTuanService.update(orderMeiTuan);
+
+ orderChild.setMerId(productConfig.getMerId());
+ orderChild.setProductName(orderMeiTuan.getGoodsName());
+ orderChild.setProductCount(1);
+ orderChild.setProductImg("202409/1726638258182.png");
+ orderChild.setProductSpecName(orderMeiTuan.getGoodsName());
+
+ orderChild.setProductPrice(orderMeiTuan.getTotalPrice());
+
+
+ return orderChild;
+ }
}
diff --git a/service/src/main/java/com/hfkj/service/order/OrderPaySuccessService.java b/service/src/main/java/com/hfkj/service/order/OrderPaySuccessService.java
index a348871..becbe55 100644
--- a/service/src/main/java/com/hfkj/service/order/OrderPaySuccessService.java
+++ b/service/src/main/java/com/hfkj/service/order/OrderPaySuccessService.java
@@ -8,6 +8,7 @@ import com.hfkj.common.exception.SysCode;
import com.hfkj.common.utils.DateUtil;
import com.hfkj.config.CommonSysConst;
import com.hfkj.entity.*;
+import com.hfkj.meituan.MeiTuanService;
import com.hfkj.model.order.OrderModel;
import com.hfkj.qianzhu.CinemaService;
import com.hfkj.qianzhu.StarbucksService;
@@ -58,8 +59,13 @@ public class OrderPaySuccessService {
private BsOrderStarbucksService orderStarbucksService;
@Resource
private BsOrderCinemaService bsOrderCinemaService;
- @Autowired
+ @Resource
private BsOrderStarbucksServiceImpl bsOrderStarbucksService;
+ @Resource
+ private BsOrderMeiTuanService bsOrderMeiTuanService;
+
+ @Resource
+ private BsOrderMemberService bsOrderMemberService;
/**
* 订单业务处理
@@ -77,6 +83,8 @@ public class OrderPaySuccessService {
cinema(order, childOrder);
} else if (childOrder.getProductType().equals(OrderChildProductTypeEnum.type4.getCode())) {
starbucks(order , childOrder);
+ } else if (childOrder.getProductType().equals(OrderChildProductTypeEnum.type5.getCode())) {
+ meiTuan(order , childOrder);
}
} catch (Exception e) {
@@ -106,97 +114,116 @@ public class OrderPaySuccessService {
public void productVpd(OrderModel order, BsOrderChild childOrder) throws Exception {
// 查询卡券订单
BsOrderCoupon orderCoupon = orderCouponService.getDetailByChildOrderNo(childOrder.getChildOrderNo());
- // 查询卡券订单的卡密
- List couponNoList = orderCouponNoService.getListByCouponOrderId(orderCoupon.getId());
- for (BsOrderCouponNo couponNo : couponNoList) {
- try {
- // 虚拟商品
- GoodsVpd vpd = goodsVpdService.queryDetailBySpecsId(childOrder.getProductSpecId());
- if (vpd.getSource() == GoodsVpdSourceEnum.type1.getCode()) {
-
- } else if (vpd.getSource() == GoodsVpdSourceEnum.type2.getCode()) {
-
-
- Map map = new HashMap<>();
- map.put("productCode" , vpd.getKey());
- map.put("AppKey" , CommonSysConst.getSysConfig().getYuShangAppKey());
- map.put("BuyCount" , childOrder.getProductCount());
- map.put("MOrderID" , childOrder.getChildOrderNo());
- map.put("ChargeAccount" , childOrder.getChildOrderNo());
- // 推送给娱尚
- YuShangService.insertV2(map);
-
- } else if (vpd.getSource() == GoodsVpdSourceEnum.type4.getCode()) {
- // 推送给汇联通
- JSONObject returnParam = HuiLianTongCouponService.costRechargeOrder(couponNo.getChannelOrderNo());
- if (returnParam.getString("respCode").equals("0000")) {
- // 解密
- JSONObject jsonObject = HuiLianTongUnionCardService.resolveResponse(returnParam.getString("data"));
- JSONArray dataArray = JSONObject.parseObject(jsonObject.getString("data"), JSONArray.class);
- for (Object data : dataArray) {
- JSONObject dataObject = (JSONObject) data;
- couponNo.setExpireTime(dataObject.getDate("validEndDate"));
- couponNo.setDeliverTime(new Date());
- couponNo.setGoodsVpdSourceCouNo(dataObject.getString("couNo"));
- couponNo.setStatus(OrderCouponNoStatusEnum.status2.getCode());
- orderCouponNoService.editData(couponNo);
+ // 虚拟商品
+ GoodsVpd vpd = goodsVpdService.queryDetailBySpecsId(childOrder.getProductSpecId());
+
+ if (vpd.getSource() == GoodsVpdSourceEnum.type2.getCode()) {
+
+
+ Map map = new HashMap<>();
+ map.put("productCode" , vpd.getKey());
+ map.put("AppKey" , CommonSysConst.getSysConfig().getYuShangAppKey());
+ map.put("BuyCount" , childOrder.getProductCount());
+ map.put("MOrderID" , childOrder.getChildOrderNo());
+ map.put("ChargeAccount" , childOrder.getChildOrderNo());
+ // 推送给娱尚
+ YuShangService.insertV2(map);
+
+ BsOrderMember orderMember = new BsOrderMember();
+
+ orderMember.setTotalPrice(childOrder.getProductTotalPrice());
+ orderMember.setTotalDeductionPrice(childOrder.getTotalDeductionPrice());
+ orderMember.setCouponDiscountPrice(childOrder.getCouponDiscountPrice());
+ orderMember.setIntegralDiscountPrice(childOrder.getIntegralDiscountPrice());
+ orderMember.setPayRealPrice(childOrder.getSurplusRefundPrice());
+ orderMember.setPayChannel(order.getPayChannel());
+ orderMember.setPayType(order.getPayType());
+ orderMember.setPaySerialNo(order.getPaySerialNo());
+ orderMember.setPayTime(order.getPayTime());
+ orderMember.setStatus(OrderChildStatusEnum.status3.getCode());
+ orderMember.setUpdateTime(new Date());
+ bsOrderMemberService.update(orderMember);
+
+ } else {
+ // 查询卡券订单的卡密
+ List couponNoList = orderCouponNoService.getListByCouponOrderId(orderCoupon.getId());
+ for (BsOrderCouponNo couponNo : couponNoList) {
+ try {
+
+ if (vpd.getSource() == GoodsVpdSourceEnum.type4.getCode()) {
+ // 推送给汇联通
+ JSONObject returnParam = HuiLianTongCouponService.costRechargeOrder(couponNo.getChannelOrderNo());
+ if (returnParam.getString("respCode").equals("0000")) {
+ // 解密
+ JSONObject jsonObject = HuiLianTongUnionCardService.resolveResponse(returnParam.getString("data"));
+ JSONArray dataArray = JSONObject.parseObject(jsonObject.getString("data"), JSONArray.class);
+ for (Object data : dataArray) {
+ JSONObject dataObject = (JSONObject) data;
+ couponNo.setExpireTime(dataObject.getDate("validEndDate"));
+ couponNo.setDeliverTime(new Date());
+ couponNo.setGoodsVpdSourceCouNo(dataObject.getString("couNo"));
+ couponNo.setStatus(OrderCouponNoStatusEnum.status2.getCode());
+ orderCouponNoService.editData(couponNo);
+ }
}
- }
- } else if (vpd.getSource() == GoodsVpdSourceEnum.type5.getCode()) {
- // 预发码
- JSONObject preSendCoupon = ChongQingCNPCCouponService.preSendCoupon(orderCoupon.getGoodsVpdKey(), couponNo.getOrderNo(), 1, orderCoupon.getUserPhone());
- if (preSendCoupon.getInteger("status").equals(1)) {
- // 给用户发码
- JSONObject response = ChongQingCNPCCouponService.sendCNPCTicket(orderCoupon.getGoodsVpdKey(), couponNo.getOrderNo(), 1, orderCoupon.getUserPhone());
- JSONObject couponDetail = response.getJSONObject("ticketDetail");
- JSONArray codeList = response.getJSONArray("codeList");
- for (Object data : codeList) {
- couponNo.setExpireTime(DateUtil.format(couponDetail.getString("expiredDate"), "yyyy-MM-dd"));
- couponNo.setDeliverTime(new Date());
- couponNo.setGoodsVpdSourceCouNo(ChongQingCNPCCouponService.decryptCouponCode(String.valueOf(data)));
- couponNo.setStatus(OrderCouponNoStatusEnum.status2.getCode());
- orderCouponNoService.editData(couponNo);
+ } else if (vpd.getSource() == GoodsVpdSourceEnum.type5.getCode()) {
+ // 预发码
+ JSONObject preSendCoupon = ChongQingCNPCCouponService.preSendCoupon(orderCoupon.getGoodsVpdKey(), couponNo.getOrderNo(), 1, orderCoupon.getUserPhone());
+ if (preSendCoupon.getInteger("status").equals(1)) {
+ // 给用户发码
+ JSONObject response = ChongQingCNPCCouponService.sendCNPCTicket(orderCoupon.getGoodsVpdKey(), couponNo.getOrderNo(), 1, orderCoupon.getUserPhone());
+ JSONObject couponDetail = response.getJSONObject("ticketDetail");
+ JSONArray codeList = response.getJSONArray("codeList");
+ for (Object data : codeList) {
+ couponNo.setExpireTime(DateUtil.format(couponDetail.getString("expiredDate"), "yyyy-MM-dd"));
+ couponNo.setDeliverTime(new Date());
+ couponNo.setGoodsVpdSourceCouNo(ChongQingCNPCCouponService.decryptCouponCode(String.valueOf(data)));
+ couponNo.setStatus(OrderCouponNoStatusEnum.status2.getCode());
+ orderCouponNoService.editData(couponNo);
+ }
}
- }
- } else if (vpd.getSource() == GoodsVpdSourceEnum.type6.getCode()) {
+ } else if (vpd.getSource() == GoodsVpdSourceEnum.type6.getCode()) {
- } else if (vpd.getSource() == GoodsVpdSourceEnum.type7.getCode()) {
- // 发放卡券
- JSONObject jsonObject = PetroConfig.getCoupon(orderCoupon.getGoodsVpdKey(), orderCoupon.getUserPhone());
- if (!jsonObject.getString("resultCode").equals("0000")) {
- throw ErrorHelp.genException(SysCode.System , ErrorCode.COMMON_ERROR , jsonObject.getString("errMsg"));
- }
- String data = PetroConfig.decrypt(jsonObject.getString("jsonResult"));
- JSONObject object = JSONObject.parseObject(data);
- couponNo.setExpireTime(vpd.getSalesEndTime());
- couponNo.setDeliverTime(new Date());
- couponNo.setGoodsVpdSourceCouNo(object.getString("voucher"));
- couponNo.setStatus(OrderCouponNoStatusEnum.status2.getCode());
- orderCouponService.editData(orderCoupon);
-
- } else if (vpd.getSource() == GoodsVpdSourceEnum.type10.getCode()) {
- // 发放卡券
- JSONObject jsonObject = PcytCNPCCouponConfig.getCoupon(couponNo.getOrderNo() , orderCoupon.getUserPhone() , orderCoupon.getGoodsVpdKey());
- if (!jsonObject.getString("code").equals("200")) {
- throw ErrorHelp.genException(SysCode.System , ErrorCode.COMMON_ERROR , jsonObject.getString("errMsg"));
+ } else if (vpd.getSource() == GoodsVpdSourceEnum.type7.getCode()) {
+ // 发放卡券
+ JSONObject jsonObject = PetroConfig.getCoupon(orderCoupon.getGoodsVpdKey(), orderCoupon.getUserPhone());
+ if (!jsonObject.getString("resultCode").equals("0000")) {
+ throw ErrorHelp.genException(SysCode.System , ErrorCode.COMMON_ERROR , jsonObject.getString("errMsg"));
+ }
+ String data = PetroConfig.decrypt(jsonObject.getString("jsonResult"));
+ JSONObject object = JSONObject.parseObject(data);
+ couponNo.setExpireTime(vpd.getSalesEndTime());
+ couponNo.setDeliverTime(new Date());
+ couponNo.setGoodsVpdSourceCouNo(object.getString("voucher"));
+ couponNo.setStatus(OrderCouponNoStatusEnum.status2.getCode());
+ orderCouponService.editData(orderCoupon);
+
+ } else if (vpd.getSource() == GoodsVpdSourceEnum.type10.getCode()) {
+ // 发放卡券
+ JSONObject jsonObject = PcytCNPCCouponConfig.getCoupon(couponNo.getOrderNo() , orderCoupon.getUserPhone() , orderCoupon.getGoodsVpdKey());
+ if (!jsonObject.getString("code").equals("200")) {
+ throw ErrorHelp.genException(SysCode.System , ErrorCode.COMMON_ERROR , jsonObject.getString("errMsg"));
+ }
+ JSONObject object = jsonObject.getJSONObject("data");
+ couponNo.setExpireTime(vpd.getSalesEndTime());
+ couponNo.setDeliverTime(new Date());
+ couponNo.setGoodsVpdSourceCouNo(object.getString("couponCode"));
+ couponNo.setStatus(OrderCouponNoStatusEnum.status2.getCode());
+ orderCouponNoService.editData(couponNo);
}
- JSONObject object = jsonObject.getJSONObject("data");
- couponNo.setExpireTime(vpd.getSalesEndTime());
- couponNo.setDeliverTime(new Date());
- couponNo.setGoodsVpdSourceCouNo(object.getString("couponCode"));
- couponNo.setStatus(OrderCouponNoStatusEnum.status2.getCode());
- orderCouponNoService.editData(couponNo);
- }
- } catch (Exception e) {
- couponNo.setExceptionStatus(true);
- orderCouponService.editData(orderCoupon);
+ } catch (Exception e) {
+ couponNo.setExceptionStatus(true);
+ orderCouponService.editData(orderCoupon);
+ }
}
}
+
+
orderCoupon.setTotalPrice(childOrder.getProductTotalPrice());
orderCoupon.setTotalDeductionPrice(childOrder.getTotalDeductionPrice());
orderCoupon.setCouponDiscountPrice(childOrder.getCouponDiscountPrice());
@@ -323,5 +350,36 @@ public class OrderPaySuccessService {
}
}
+ public void meiTuan(OrderModel order,BsOrderChild childOrder) throws Exception {
+ // 推送订单
+ // 查询美团订单
+ BsOrderMeituan orderMeiTuan = bsOrderMeiTuanService.findOrderMeiTuan(childOrder.getChildOrderNo());
+ if (orderMeiTuan != null) {
+ Map map = new HashMap<>();
+ map.put("ts" , new Date().getTime());
+ map.put("entId" , orderMeiTuan.getEntId());
+ map.put("tradeNo" , orderMeiTuan.getTradeNo());
+ map.put("thirdTradeNo" , orderMeiTuan.getThirdTradeNo());
+ map.put("tradeAmount" , orderMeiTuan.getTradeAmount());
+
+ orderMeiTuan.setTotalPrice(childOrder.getProductTotalPrice());
+ orderMeiTuan.setTotalDeductionPrice(childOrder.getTotalDeductionPrice());
+ orderMeiTuan.setCouponDiscountPrice(childOrder.getCouponDiscountPrice());
+ orderMeiTuan.setIntegralDiscountPrice(childOrder.getIntegralDiscountPrice());
+ orderMeiTuan.setPayRealPrice(childOrder.getSurplusRefundPrice());
+ orderMeiTuan.setPayChannel(order.getPayChannel());
+ orderMeiTuan.setPayType(order.getPayType());
+ orderMeiTuan.setPaySerialNo(order.getPaySerialNo());
+ orderMeiTuan.setPayTime(order.getPayTime());
+ orderMeiTuan.setUpdateTime(new Date());
+ orderMeiTuan.setStatus(OrderChildStatusEnum.status2.getCode());
+ bsOrderMeiTuanService.update(orderMeiTuan);
+
+ MeiTuanService.paySuccess(map , orderMeiTuan.getNotifyUrl());
+
+ }
+
+ }
+
}
diff --git a/service/src/main/java/com/hfkj/service/order/impl/BsOrderRefundServiceImpl.java b/service/src/main/java/com/hfkj/service/order/impl/BsOrderRefundServiceImpl.java
index acbe6b7..fc51ee7 100644
--- a/service/src/main/java/com/hfkj/service/order/impl/BsOrderRefundServiceImpl.java
+++ b/service/src/main/java/com/hfkj/service/order/impl/BsOrderRefundServiceImpl.java
@@ -93,10 +93,10 @@ public class BsOrderRefundServiceImpl implements BsOrderRefundService {
}
} else if (OrderPayChannelEnum.type3.getCode() == orderRefund.getRefundPayChannel()) {
- // 商户退款
+ /* // 商户退款
JSONObject refundObj = huiftTradeService.thirdPayRefund(orderRefund.getRefundOrderNo(), orderRefund.getRefundPrice(), orderRefund.getOrderNo());
orderRefund.setRefundSerialNo(refundObj.getString("refundTraceNo"));
- orderRefund.setRefundPayChannelOrderNo(refundObj.getString("refundOrderNo"));
+ orderRefund.setRefundPayChannelOrderNo(refundObj.getString("refundOrderNo"));*/
return true;
} else if (OrderPayChannelEnum.type4.getCode() == orderRefund.getRefundPayChannel()) {
@@ -246,6 +246,107 @@ public class BsOrderRefundServiceImpl implements BsOrderRefundService {
}
+ @Override
+ @Transactional(propagation= Propagation.REQUIRES_NEW,rollbackFor= {RuntimeException.class})
+ public BsOrderRefund meiTuanRefund(String childOrderNo, String tradeNo , BigDecimal refundPrice, String remark) {
+
+ // 查询子订单
+ OrderChildModel orderChild = orderChildService.getDetail(childOrderNo);
+ if (orderChild == null) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的子订单");
+ }
+// if (productCount > orderChild.getSurplusRefundCount()) {
+// throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "退款失败!退货数量超过子订单可退数量");
+// }
+ // 查询交易订单
+ BsOrder order = orderService.getOrder(orderChild.getOrderNo());
+ if (order == null) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的交易订单");
+ }
+
+ // 创建退款订单
+ BsOrderRefund orderRefund = new BsOrderRefund();
+ orderRefund.setMerId(orderChild.getMerId());
+ orderRefund.setOrderNo(orderChild.getOrderNo());
+ orderRefund.setOrderChildNo(orderChild.getChildOrderNo());
+ orderRefund.setUserId(order.getUserId());
+ orderRefund.setUserPhone(order.getUserPhone());
+ // 退款订单号 退款标识:R + 时间 + 随机3位数字
+ orderRefund.setRefundOrderNo("R"+DateUtil.date2String(new Date(), "yyMMddHHmmss") + RandomUtils.number(3, false));
+ orderRefund.setRefundPayChannel(order.getPayChannel());
+ orderRefund.setReufndPayType(order.getPayType());
+
+// if (orderChild.getSurplusRefundCount().equals(productCount)) {
+// // 全部退款
+// orderRefund.setRefundPrice(orderChild.getSurplusRefundPrice());
+// orderRefund.setRefundIntegral(orderChild.getSurplusRefundIntegral());
+// } else {
+// // 部分退款
+// // 计算单价
+// BigDecimal unitPrice = orderChild.getSurplusRefundPrice().divide(new BigDecimal(orderChild.getProductCount().toString()), 2, BigDecimal.ROUND_DOWN).setScale(2);
+// BigDecimal unitPriceIntegral = new BigDecimal(orderChild.getSurplusRefundIntegral().toString()).divide(new BigDecimal("100"))
+// .divide(new BigDecimal(orderChild.getProductCount().toString()), 2, BigDecimal.ROUND_DOWN).setScale(2);
+//
+// orderRefund.setRefundPrice(unitPrice.multiply(new BigDecimal(productCount.toString())));
+// orderRefund.setRefundIntegral(unitPriceIntegral.multiply(new BigDecimal("100")).longValue());
+// }
+
+
+ if (orderRefund.getRefundIntegral() > 0L) {
+ Map opUser = new HashMap<>();
+ opUser.put("opUserType", orderRefund.getOpUserType());
+ opUser.put("opUserId", orderRefund.getUserId());
+ opUser.put("opUserPhone", orderRefund.getUserPhone());
+
+ Map source = new HashMap<>();
+ source.put("sourceType", UserIntegralRecordSourceTypeEnum.type2.getCode());
+ source.put("sourceId", orderChild.getId());
+ source.put("sourceOrderNo", orderChild.getChildOrderNo());
+ source.put("sourceContent", "商品订单退款退回积分");
+
+ // 退款积分
+ userIntegralService.entry(orderRefund.getUserId(),orderRefund.getRefundIntegral(), opUser, source);
+ }
+
+ orderRefund.setRefundRemark(remark);
+ orderRefund.setRefundStatus(OrderRefundStatusEnum.status1.getCode());
+ orderRefund.setAccountMerchantNo(orderChild.getSettleAccount());
+ orderRefund.setAccountMerchantKey(orderChild.getSettleAccountKey());
+ editData(orderRefund);
+
+ // 资金退款
+ orderRefund.setRefundStatus(refundMoney(orderRefund)?OrderRefundStatusEnum.status2.getCode():OrderRefundStatusEnum.status3.getCode());
+ editData(orderRefund);
+
+ // 退款成功
+ if (orderRefund.getRefundStatus().equals(OrderRefundStatusEnum.status2.getCode())) {
+ // 修改子订单可退数量、金额、积分
+// orderChild.setSurplusRefundCount(orderChild.getSurplusRefundCount() - productCount);
+ orderChild.setSurplusRefundPrice(orderChild.getSurplusRefundPrice().subtract(orderRefund.getRefundPrice()));
+ orderChild.setSurplusRefundIntegral(orderChild.getSurplusRefundIntegral() - orderRefund.getRefundIntegral());
+ orderChild.setStatus(orderChild.getSurplusRefundCount()==0?OrderChildStatusEnum.status4.getCode():orderChild.getStatus());
+
+ // 退款业务处理
+ orderRefundSuccessService.orderRefundHandle(orderChild);
+ orderChildService.editData(orderChild);
+
+ // 查询子订单已全部退款
+ Map map = new HashMap<>();
+ map.put("orderNo", orderChild.getOrderNo());
+ List orderChildList = orderChildService.getList(map);
+ if (orderChildList.size() == orderChildList.stream().filter(o->o.getStatus().equals(OrderChildStatusEnum.status4.getCode())).collect(Collectors.toList()).size()) {
+ order.setOrderStatus(OrderStatusEnum.status4.getCode());
+ order.setRefundTime(new Date());
+ orderService.editData(order);
+ }
+ }
+
+ // 删除缓存
+ orderService.cacheDelete(order.getOrderNo());
+ return orderRefund;
+
+ }
+
@Override
public BsOrderRefund getRefund(String refundOrderNo) {
BsOrderRefundExample example = new BsOrderRefundExample();
diff --git a/service/src/main/java/com/hfkj/service/order/impl/BsOrderServiceImpl.java b/service/src/main/java/com/hfkj/service/order/impl/BsOrderServiceImpl.java
index 3b92d76..e180b77 100644
--- a/service/src/main/java/com/hfkj/service/order/impl/BsOrderServiceImpl.java
+++ b/service/src/main/java/com/hfkj/service/order/impl/BsOrderServiceImpl.java
@@ -27,6 +27,7 @@ import com.hfkj.sysenum.UserIntegralRecordOpUserTypeEnum;
import com.hfkj.sysenum.UserIntegralRecordSourceTypeEnum;
import com.hfkj.sysenum.order.OrderChildProductTypeEnum;
import com.hfkj.sysenum.order.OrderChildStatusEnum;
+import com.hfkj.sysenum.order.OrderPayChannelEnum;
import com.hfkj.sysenum.order.OrderStatusEnum;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
@@ -151,6 +152,8 @@ public class BsOrderServiceImpl implements BsOrderService {
child = orderCreateService.cinema(order, child);
}else if (child.getProductType().equals(OrderChildProductTypeEnum.type4.getCode())) {
child = orderCreateService.starbucks(order, child);
+ }else if (child.getProductType().equals(OrderChildProductTypeEnum.type5.getCode())) {
+ child = orderCreateService.meituan(order, child);
}
child.setProductTotalPrice(child.getProductPrice().multiply(new BigDecimal(child.getProductCount().toString())));
child.setStatus(OrderChildStatusEnum.status1.getCode());
@@ -291,7 +294,6 @@ public class BsOrderServiceImpl implements BsOrderService {
// 订单入库
editData(order);
-
if (order.getOrderStatus().equals(OrderStatusEnum.status1.getCode())) {
// 10分钟内未支付,自动取消订单
Message rocketMsg = MessageBuilder.withPayload(order).build();
@@ -485,14 +487,44 @@ public class BsOrderServiceImpl implements BsOrderService {
order.setOrderStatus(OrderStatusEnum.status2.getCode());
editData(order);
+
for (BsOrderChild childOrder : order.getOrderChildList()) {
childOrder.setStatus(OrderChildStatusEnum.status2.getCode());
orderChildService.editData(childOrder);
}
+
+ if (OrderPayChannelEnum.type3.getCode() == order.getPayType()) {
+ // 支付金额
+ BigDecimal totalPayment = order.getPayment();
+ for (int i = 0; i < order.getOrderChildList().size();i++) {
+ OrderChildModel childOrder = order.getOrderChildList().get(i);
+ // 计算 子订单 在交易订单金额中的占比
+ BigDecimal ratio = childOrder.getProductTotalPrice().divide(order.getTotalPrice(), 4, BigDecimal.ROUND_DOWN);
+
+ // 如果是循环的最后一笔商品订单
+ if ((i+1) == order.getOrderChildList().size()) {
+ // 剩余的可退金额
+ if (totalPayment.compareTo(BigDecimal.ZERO) > 0) {
+ // 大于0
+ childOrder.setSurplusRefundPrice(totalPayment);
+ } else {
+ // 小于0
+ childOrder.setSurplusRefundPrice(new BigDecimal("0"));
+ }
+ } else {
+ // 可退金额
+ childOrder.setSurplusRefundPrice(order.getPayment().multiply(ratio).setScale(2, BigDecimal.ROUND_DOWN));
+ totalPayment = totalPayment.subtract(childOrder.getSurplusRefundPrice());
+ }
+
+ orderChildService.editData(childOrder);
+ }
+ }
+
// 删除缓存
cacheDelete(order.getOrderNo());
// 处理业务
- orderPaySuccessService.orderBusHandle(order);
+ //orderPaySuccessService.orderBusHandle(order);
}
@Override
diff --git a/service/src/main/java/com/hfkj/sysenum/fileRecords/FileRecordsEnum.java b/service/src/main/java/com/hfkj/sysenum/fileRecords/FileRecordsEnum.java
index 7779f9b..b4da574 100644
--- a/service/src/main/java/com/hfkj/sysenum/fileRecords/FileRecordsEnum.java
+++ b/service/src/main/java/com/hfkj/sysenum/fileRecords/FileRecordsEnum.java
@@ -37,7 +37,20 @@ public enum FileRecordsEnum {
*/
status6(6, "物流订单上传订单"),
+ /**
+ * 物流订单下载订单
+ */
status7(7, "物流订单下载订单"),
+
+ /**
+ * 售后处理
+ */
+ status8(8, "售后处理"),
+
+ /**
+ * 退款记录
+ */
+ status9(9, "退款记录"),
;
private final int code;
diff --git a/service/src/main/java/com/hfkj/sysenum/order/OrderAfterSalesApplyStatusEnum.java b/service/src/main/java/com/hfkj/sysenum/order/OrderAfterSalesApplyStatusEnum.java
index 4cb56e6..46013b8 100644
--- a/service/src/main/java/com/hfkj/sysenum/order/OrderAfterSalesApplyStatusEnum.java
+++ b/service/src/main/java/com/hfkj/sysenum/order/OrderAfterSalesApplyStatusEnum.java
@@ -2,6 +2,8 @@ package com.hfkj.sysenum.order;
import lombok.Getter;
+import java.util.Objects;
+
/**
* 售后状态
* @className: OrderAfterSalesApplyStatusEnum
@@ -41,4 +43,11 @@ public enum OrderAfterSalesApplyStatusEnum {
this.code = code;
this.name = name;
}
+
+ public static OrderAfterSalesApplyStatusEnum getData(Integer type) {
+ for (OrderAfterSalesApplyStatusEnum ele : values()) {
+ if(Objects.equals(type,ele.getCode())) return ele;
+ }
+ return null;
+ }
}
diff --git a/service/src/main/java/com/hfkj/sysenum/order/OrderChildProductTypeEnum.java b/service/src/main/java/com/hfkj/sysenum/order/OrderChildProductTypeEnum.java
index 48e9aee..d68457e 100644
--- a/service/src/main/java/com/hfkj/sysenum/order/OrderChildProductTypeEnum.java
+++ b/service/src/main/java/com/hfkj/sysenum/order/OrderChildProductTypeEnum.java
@@ -15,6 +15,7 @@ public enum OrderChildProductTypeEnum {
type2(2, "虚拟产品"),
type3(3, "千猪电影票"),
type4(4, "千猪星巴克"),
+ type5(5, "美团"),
;
private int code;
diff --git a/service/src/main/java/com/hfkj/sysenum/order/OrderRefundStatusEnum.java b/service/src/main/java/com/hfkj/sysenum/order/OrderRefundStatusEnum.java
index daeb5bf..8da937e 100644
--- a/service/src/main/java/com/hfkj/sysenum/order/OrderRefundStatusEnum.java
+++ b/service/src/main/java/com/hfkj/sysenum/order/OrderRefundStatusEnum.java
@@ -2,6 +2,8 @@ package com.hfkj.sysenum.order;
import lombok.Getter;
+import java.util.Objects;
+
/**
* @className: OrderRefundStatusEnum
* @author: HuRui
@@ -31,4 +33,11 @@ public enum OrderRefundStatusEnum {
this.code = code;
this.name = name;
}
+
+ public static OrderRefundStatusEnum getData(Integer type) {
+ for (OrderRefundStatusEnum ele : values()) {
+ if (Objects.equals(type,ele.getCode())) return ele;
+ }
+ return null;
+ }
}