master
袁野 2 months ago
commit 7ed2fa80f5
  1. BIN
      cweb/lib/open-platform-sdk-1.0.21.jar
  2. 20
      cweb/pom.xml
  3. 2
      cweb/src/main/java/com/cweb/config/AuthConfig.java
  4. 1
      cweb/src/main/java/com/cweb/controller/cms/CmsContentController.java
  5. 57
      cweb/src/main/java/com/cweb/controller/meituan/MeiTuanController.java
  6. 807
      hs_err_pid3479.log
  7. 14
      order/pom.xml
  8. 1
      order/src/main/java/com/order/config/AuthConfig.java
  9. 118
      order/src/main/java/com/order/controller/OrderAfterSalesApplyController.java
  10. 3
      order/src/main/java/com/order/controller/OrderPayNotifyController.java
  11. 117
      order/src/main/java/com/order/controller/OrderRefundController.java
  12. 14
      order/src/main/java/com/order/controller/business/BsOrderGoodsController.java
  13. 58
      order/src/main/java/com/order/controller/business/BsOrderMeiTuanController.java
  14. 106
      order/src/main/java/com/order/controller/notify/MeiTuanController.java
  15. 24
      schedule/src/main/java/com/hfkj/schedule/OrderGoodsSchedule.java
  16. 39
      service/src/main/java/com/hfkj/common/utils/HttpsUtils.java
  17. 10
      service/src/main/java/com/hfkj/common/utils/OrderUtil.java
  18. 2
      service/src/main/java/com/hfkj/config/WeChatQrcodeUtils.java
  19. 31
      service/src/main/java/com/hfkj/dao/BsOrderMapper.java
  20. 14
      service/src/main/java/com/hfkj/dao/BsOrderSqlProvider.java
  21. 22
      service/src/main/java/com/hfkj/entity/BsOrder.java
  22. 60
      service/src/main/java/com/hfkj/entity/BsOrderExample.java
  23. 88
      service/src/main/java/com/hfkj/meituan/MeiTuanService.java
  24. 64
      service/src/main/java/com/hfkj/model/excel/OrderAfterSalesApplyModel.java
  25. 63
      service/src/main/java/com/hfkj/model/excel/OrderRefundModel.java
  26. 10
      service/src/main/java/com/hfkj/service/SecConfigService.java
  27. 1
      service/src/main/java/com/hfkj/service/goods/BsOrderGoodsService.java
  28. 67
      service/src/main/java/com/hfkj/service/goods/BsOrderMeiTuanService.java
  29. 22
      service/src/main/java/com/hfkj/service/goods/impl/BsOrderGoodsServiceImpl.java
  30. 67
      service/src/main/java/com/hfkj/service/goods/impl/BsOrderMeiTuanServiceImpl.java
  31. 17
      service/src/main/java/com/hfkj/service/impl/SecConfigServiceImpl.java
  32. 12
      service/src/main/java/com/hfkj/service/order/BsOrderRefundService.java
  33. 50
      service/src/main/java/com/hfkj/service/order/OrderCreateService.java
  34. 220
      service/src/main/java/com/hfkj/service/order/OrderPaySuccessService.java
  35. 105
      service/src/main/java/com/hfkj/service/order/impl/BsOrderRefundServiceImpl.java
  36. 36
      service/src/main/java/com/hfkj/service/order/impl/BsOrderServiceImpl.java
  37. 13
      service/src/main/java/com/hfkj/sysenum/fileRecords/FileRecordsEnum.java
  38. 9
      service/src/main/java/com/hfkj/sysenum/order/OrderAfterSalesApplyStatusEnum.java
  39. 1
      service/src/main/java/com/hfkj/sysenum/order/OrderChildProductTypeEnum.java
  40. 9
      service/src/main/java/com/hfkj/sysenum/order/OrderRefundStatusEnum.java

@ -18,6 +18,19 @@
<artifactId>service</artifactId>
<version>PACKT-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>meituan.skd</groupId>
<artifactId>meituan-open-sdk</artifactId>
<scope>system</scope>
<version>1.0.21</version>
<systemPath>${basedir}/lib/open-platform-sdk-1.0.21.jar</systemPath>
</dependency>
</dependencies>
<build>
@ -26,6 +39,13 @@
<directory>src/main/resources/${env}</directory>
<filtering>false</filtering>
</resource>
<resource>
<directory>${basedir}/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>

@ -93,7 +93,7 @@ public class AuthConfig implements WebMvcConfigurer {
.excludePathPatterns("/wxMsg/*")
.excludePathPatterns("/cinema/*")
.excludePathPatterns("/starbucks/*")
.excludePathPatterns("/c/*")
.excludePathPatterns("/meiTuan/*")
;
}

@ -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));

@ -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<String , Object> map = new HashMap<>();
Map<String , Object> 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);
}
}
}

@ -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.<init>(Lorg/jetbrains/capture/org/objectweb/asm/ClassWriter;Lorg/jetbrains/capture/org/objectweb/asm/ClassReader;)V+46
j org.jetbrains.capture.org.objectweb.asm.ClassWriter.<init>(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<Handle>*, 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<Handle>*, 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.<init>(Lorg/jetbrains/capture/org/objectweb/asm/ClassWriter;Lorg/jetbrains/capture/org/objectweb/asm/ClassReader;)V+46
j org.jetbrains.capture.org.objectweb.asm.ClassWriter.<init>(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 <a 'java/lang/NoSuchMethodError': java.lang.Object.lambda$static$1(CI)C> (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 <a 'java/lang/NoSuchMethodError': java.lang.Object.lambda$chars$0()Ljava/util/Spliterator$OfInt;> (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 <a 'java/lang/ClassNotFoundException': java/lang/ObjectCustomizer> (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 <a 'java/lang/ClassNotFoundException': org/springframework/context/annotation/ConfigurationClassPostProcessorCustomizer> (0x000000076c4a0420) thrown at [/System/Volumes/Data/jenkins/workspace/8-2-build-macosx-aarch64-Xcode12.4-sans-NAS/jdk8u411/
Event: 361.627 Thread 0x000000013c808800 Exception <a 'java/lang/ClassNotFoundException': org/springframework/beans/factory/support/BeanDefinitionRegistryPostProcessorCustomizer> (0x000000076c56d4f0) thrown at [/System/Volumes/Data/jenkins/workspace/8-2-build-macosx-aarch64-Xcode12.4-sans-NAS/jd
Event: 361.628 Thread 0x000000013c808800 Exception <a 'java/lang/ClassNotFoundException': org/springframework/core/PriorityOrderedCustomizer> (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 <a 'java/lang/ClassNotFoundException': org/springframework/context/ResourceLoaderAwareCustomizer> (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 <a 'java/lang/ClassNotFoundException': org/springframework/beans/factory/BeanClassLoaderAwareCustomizer> (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 <a 'java/lang/ClassNotFoundException': org/springframework/context/EnvironmentAwareCustomizer> (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 <a 'java/lang/IncompatibleClassChangeError': Found class java.lang.Object, but interface was expected> (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)

@ -18,6 +18,13 @@
<artifactId>service</artifactId>
<version>PACKT-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>meituan.skd</groupId>
<artifactId>meituan-open-sdk</artifactId>
@ -33,6 +40,13 @@
<directory>src/main/resources/${env}</directory>
<filtering>false</filtering>
</resource>
<resource>
<directory>${basedir}/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>

@ -88,6 +88,7 @@ public class AuthConfig implements WebMvcConfigurer {
.excludePathPatterns("/**/swagger-ui.html")
.excludePathPatterns("/notify/*")
.excludePathPatterns("/cqNotify/*")
.excludePathPatterns("/meiTuan/*")
.excludePathPatterns("/orderCinema/queryOrder")
;
}

@ -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<String,Object> 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<BsOrderAfterSalesApply> applyList = orderAfterSalesApplyService.getApplyList(param);
List<OrderAfterSalesApplyModel> 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 = "查询用户申请列表")

@ -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("处理业务完成");

@ -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<String,Object> 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<BsOrderRefund> refundList = orderRefundService.getRefundList(param);
List<OrderRefundModel> 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);
}
}
}

@ -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() + "/" ;

@ -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);
}
}
}

@ -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;
}
}
}

@ -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<String , Object> objectMap = new HashMap<>();
objectMap.put("status" , 2);
objectMap.put("createTime" , "createTime");
List<BsOrderGoods> 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);
}
}

@ -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<String,Object> header) {
CloseableHttpClient httpClient = null;

@ -54,6 +54,16 @@ public class OrderUtil {
return IDGenerator.nextId(16);
}
/**
* 生成美团订单号
* @return
* @throws Exception
*/
public static String generateMeiTuanOrderNo() {
// 生成子订单号
return IDGenerator.nextId(11);
}
/**
* 生成退款订单号
* @return

@ -27,8 +27,6 @@ import java.util.Map;
public class WeChatQrcodeUtils {
private static final Logger log = LoggerFactory.getLogger(WeChatQrcodeUtils.class);
@Resource
private RedisUtil redisUtil;

@ -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},",

@ -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}");
}

@ -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);

@ -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<BigDecimal> values) {
addCriterion("payment in", values, "payment");
return (Criteria) this;
}
public Criteria andPaymentNotIn(List<BigDecimal> 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;

@ -34,9 +34,29 @@ public class MeiTuanService {
*/
public static JSONObject loginFree(Map<String , Object> 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<String , Object> 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<String,Object> 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<String,Object> 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;
}
}

@ -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;
}

@ -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;
}

@ -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);
}

@ -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

@ -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);
}

@ -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) {

@ -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<BsOrderMeituan> 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<BsOrderMeituan> list = bsOrderMeituanMapper.selectByExample(example);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
}

@ -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<SecConfig> list = secConfigMapper.selectByExample(secConfigExample);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
}

@ -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 退款单号

@ -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<String , Object> 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<String, Object>) 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;
}
}

@ -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<BsOrderCouponNo> 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<String , Object> 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<String , Object> 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<BsOrderCouponNo> 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<String , Object> 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());
}
}
}

@ -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<String,Object> opUser = new HashMap<>();
opUser.put("opUserType", orderRefund.getOpUserType());
opUser.put("opUserId", orderRefund.getUserId());
opUser.put("opUserPhone", orderRefund.getUserPhone());
Map<String,Object> 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<String,Object> map = new HashMap<>();
map.put("orderNo", orderChild.getOrderNo());
List<BsOrderChild> 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();

@ -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<OrderModel> 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

@ -37,7 +37,20 @@ public enum FileRecordsEnum {
*/
status6(6, "物流订单上传订单"),
/**
* 物流订单下载订单
*/
status7(7, "物流订单下载订单"),
/**
* 售后处理
*/
status8(8, "售后处理"),
/**
* 退款记录
*/
status9(9, "退款记录"),
;
private final int code;

@ -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;
}
}

@ -15,6 +15,7 @@ public enum OrderChildProductTypeEnum {
type2(2, "虚拟产品"),
type3(3, "千猪电影票"),
type4(4, "千猪星巴克"),
type5(5, "美团"),
;
private int code;

@ -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;
}
}

Loading…
Cancel
Save