From 2a9fa1fad803a863632183acb81dec9a0cb02b1b Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 18 Aug 2025 11:27:15 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E8=B0=83=E6=95=B4=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E4=BD=BF=E7=94=A8BD=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=EF=BC=9B=E5=8E=BB=E6=8E=89=E7=A7=92=E7=BB=93=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/RetailOrderServiceImpl.java | 4 ++-- .../order/service/impl/SaOrderServiceImpl.java | 16 ++++++++-------- bd-third/src/main/resources/jd/bak.txt | 6 ++++++ .../src/main/resources/jd/merchantCert004.pfx | Bin 0 -> 3042 bytes .../src/main/resources/jd/merchantCert005.pfx | Bin 0 -> 3042 bytes .../src/main/resources/jd/merchantCert006.pfx | Bin 0 -> 3034 bytes .../src/main/resources/jd/merchantCert011.pfx | Bin 3042 -> 0 bytes 7 files changed, 16 insertions(+), 10 deletions(-) create mode 100644 bd-third/src/main/resources/jd/bak.txt create mode 100644 bd-third/src/main/resources/jd/merchantCert004.pfx create mode 100644 bd-third/src/main/resources/jd/merchantCert005.pfx create mode 100644 bd-third/src/main/resources/jd/merchantCert006.pfx delete mode 100644 bd-third/src/main/resources/jd/merchantCert011.pfx diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java index 56c36fa5..5a06e8a1 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java @@ -725,8 +725,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService { ) { // 计算奖金,通过mq分发消息,异步处理 saOrderExt.setCancelBool(Boolean.FALSE); - log.info("新零售秒结消息,order.second.exchange:{}", saOrderExt.getOrderCode()); - rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); +// log.info("新零售秒结消息,order.second.exchange:{}", saOrderExt.getOrderCode()); +// rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); } } catch (Exception e) { log.error("新零售 pushOrderMq 推送MQ失败. order: {}", saOrderExt, e); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index 98f77dd8..a61166b8 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -782,8 +782,8 @@ public class SaOrderServiceImpl extends ServiceImpl impl try { rabbitTemplate.convertAndSend(RabbitMqConstants.ACTIVITY_EXCHANGE, RabbitMqConstants.ACTIVITY_KEY, saOrderExt); - // 推送秒结数据 - rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); +// // 推送秒结数据 +// rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()) { // 2024.06.07 进行修改,首购统一推送消息,后面根据业务不同进行分队列消费 @@ -879,8 +879,8 @@ public class SaOrderServiceImpl extends ServiceImpl impl throw new ServiceException("保存会员失败!!!"); } try { - // 推送秒结数据 - rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); +// // 推送秒结数据 +// rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); rabbitTemplate.convertAndSend(RabbitMqConstants.ACTIVITY_EXCHANGE, RabbitMqConstants.ACTIVITY_KEY, saOrderExt); if (EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) { @@ -992,8 +992,8 @@ public class SaOrderServiceImpl extends ServiceImpl impl } try { - // 推送秒结数据 - rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); +// // 推送秒结数据 +// rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); } catch (Exception e) { e.printStackTrace(); } @@ -2349,8 +2349,8 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 撤单标记为 true saOrderExt.setCancelBool(Boolean.TRUE); // 计算奖金,通过mq分发消息,异步处理 - log.info("新零售秒结消息,order.second.exchange:{}", saOrderExt.getOrderCode()); - rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); +// log.info("新零售秒结消息,order.second.exchange:{}", saOrderExt.getOrderCode()); +// rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); } } catch (Exception e) { log.error("新零售 pushOrderMq 推送MQ失败. order: {}", saOrderExt, e); diff --git a/bd-third/src/main/resources/jd/bak.txt b/bd-third/src/main/resources/jd/bak.txt new file mode 100644 index 00000000..d930d8ab --- /dev/null +++ b/bd-third/src/main/resources/jd/bak.txt @@ -0,0 +1,6 @@ + +根据文档浏览器导出证书: +merchantCert.pfx + +DEMO中的公钥证书: +npp_11_API2_pro.cer diff --git a/bd-third/src/main/resources/jd/merchantCert004.pfx b/bd-third/src/main/resources/jd/merchantCert004.pfx new file mode 100644 index 0000000000000000000000000000000000000000..a0dd491340d9c67cda5b4c5f82499593c231e2bc GIT binary patch literal 3042 zcmcImc|25m8$UC1?E6{?O}R$a&Y68s8hf%8S(D4yD5^b(Z ztEHq!by1CpNGVB#-lKcpZtv&w{`3Cve$MCleV*t0tiRuR&htAEM`{R-!ay9U0#OOQ zWZUFf8I%}`$C1haIZ`PId>G=0%>Rc>Cq)1wgLLf&W7j%H zo?a#EKFTPwDGkc690>~Esns>~HqoG;5G-+G_RDzWysm-hjgzx65lQ5OvA$C_XqAgn z`P}C5X!`DV5(YagdZmSG<(slawSUFuRQG*2_+ZNoWjC^Q#Cq_Sa-fp{D4K` z>O$L{ExBf&uJ~bY-%M)iwH8%r72l@gw9W7Skn8+XMrbL6|`5~f^_P}67jzQ^VGyYb*hl#3tN@ylYZ_=%^+KWVR;xEtwE zr|M~U+4D}R>z+Lwhs)m)zGBzdYQb%d~gt z4$Zw31(=FlAA1-P%9WdwQ{;7!iyy8g54>J*YhCC2&M#-A-Br(iNpo_H z^qNV~jE}mf?~WXPk4*V0(9|gg9-v*n#wp`cntcKUCvtCGFcnk*V{DUZM{ z_Bmedbi&7dJMB9x<;lg(uvx$oMLXnbu?uL3!;P;zFJsew@Qi^L?{OdKs9UKm*Lp%H z&}rlvcla^dgrGOxlTsri{t@-Q$#>RF`_9nFnHO)rjMG2!9}M`hJytS)D@BC zZl@bFI#wHBUrqJd@7loy@YE9LzVm6@jPQQFr*z3aQyEsR7 z?m8z%%ZroyR2bVGSRJ&U_To`hwo&4Im+EkdUBRvD#*?ic@f`tE+grN#73n3fy!BY> zYI^*t8@KT4ockK?o)P68`Ldl03nlu_WNg_9Kk-z4sEt}}f^s%Hp&-eY0%Q~vUJCnt z&mb{ZaC3OCScB6Gi_2dhZKsnp@1DeB@7}z>m*6%*rD^r}&*U|44wU7~4w!2D z_L{BwR^XmR_Ae#IrDo1I{Ys|5^0p1P{b~KR>A9AZ5THRmq7wR| zC=kV=D4<|xO-H~12t`6h0TIA{go1!*01LPv>oO7!1S66K!ZU$L1dBlAD8LWlL%w@q z0q5^_v4|9agpWc-Jo`uG%NK)46f*t85jYH?pr5Bd22pN8K;s{?UqW@+K@V}jA^1Av zW{~7z&?q!o*+G4%{Mlkn!P*|uA4@kJ?Ndh#oIz2MPLJkZ5Y}W1PbLe~ProiY_I*uz!_5{ZRSUB& z!s{UHva6KzDm%+aKc*2QVlUPukP#CV8qLI71cpZkM!_Z!ZP^ARjsIW6ThJlR6*71d zM1cqpi9{k$ybzK6lL)bsVI@f6uNox7qOeE-k$&M!SQ?W2Yfl(EOH0@f^8Kp>kH1Se zn)mwDCE@QCZ@9^$xuv6Nd|^xZXl2IhqJQ?bo)HuXlL$mS6-fv)0s;bH5`_v80~icH zM52*MegQO?NC^zW6Ue#{2et0!b4G~(7!FDfKyXPk2ZaLezNIkz(p}g1Gy1ivR$2^q z%ow>?xdh|NYi&)g&ko(}cAS!Mn_OE{!4gt(U!I$jTEQr3o4{J5j>{3%4uzLbb$H&Z zq5N5zu{e37IL30U@|EF|nlkHn>&b2D2CqVFxQ-59TCX2YIDhR5!+-jG>{(;srWS7P zZ;^fmTDMQL!l+eZPE~1whVZ!~(1ExJ;{8b zsrkG_^W+iNH*Oh4c%ySii5i03iaX&(ZNkTsBcF|;E3I**-_%s%q}$cEb=ywR3!VSzLc1-6C=bc#6)!4$d`jf$sP z(9KC!L>j@8Or=>_z;vW~Xw7nQTHs1Zm8JYXa~}90&ZT}aVm(PaGbCa1>hL_Iv1}j< zs)EX?#RI&^N1qdTwF)TTLweJ^U=zyEZHRpCNE@O6!wSVsH;UzzcO1p`KO!h_1@%R8 z=QAze-$M@%wxp<#9e1Vs98cVF_d`zT(o^=HDY?@5Mb5sn1)UwiYK73fM0g{9TUoNPUOgPAoO-kLfL5!091d64u$gnB?O}Y&+~vG|qaC7F-v&#o6ek8i z%c{^GR?f4n-Z$^J)UAEyy?ZRtoxQO4B6uz}0PBWHw literal 0 HcmV?d00001 diff --git a/bd-third/src/main/resources/jd/merchantCert005.pfx b/bd-third/src/main/resources/jd/merchantCert005.pfx new file mode 100644 index 0000000000000000000000000000000000000000..084c88bac37ea0e749fa953ce60f12e52646d3e8 GIT binary patch literal 3042 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 literal 0 HcmV?d00001 diff --git a/bd-third/src/main/resources/jd/merchantCert006.pfx b/bd-third/src/main/resources/jd/merchantCert006.pfx new file mode 100644 index 0000000000000000000000000000000000000000..7b30c6af65a087533cea1ca80aa2757f1adac661 GIT binary patch literal 3034 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 literal 0 HcmV?d00001 diff --git a/bd-third/src/main/resources/jd/merchantCert011.pfx b/bd-third/src/main/resources/jd/merchantCert011.pfx deleted file mode 100644 index 76e35682e9c8c1682d5a25a776f2f8b3ae2f3e8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3042 zcmcImc~}$I7N1Fmu!N-SDj3WYLBIktAt4EBDuy7N6j2coga8R(*%|_Zh>);V7NG*7 z1~m#=P(ct#-2ep_5Y(cASQHBqP~6x=W$ncFS>N})f8HPOyWhRv`Tfp4%bhuM?!aPv zF9yWIV*Fv8s(HF&`Ue823`)iLEJ%#cKDy3JDSZN5QpQG~`4*$26x*CX) zilI4J3{Am{accjjQRhTR<(c{ZA4axS-@{;(e}lwO_s>o@OzNv$iR?3it5``&O?lUy z+@x&Xxzm-w)wvblK3puU7YJze-l_OpZp^+(|ir z1Kr4@t^xlF*~QSdF1(BGs4~FPWxK*Gcs+f*>XzQwOgd4A9v#DDb*6rWxOHz()OLc@7wh% zG*5Dj0~TL4@*$;;WtNM1)vPtFZx-&qaxMRaX+5VEhtn~xvY(VBH(8Dyjh7`~aV>nG zmD=Xr$KqcNAXUo4Z7xPo7~1r>yBwb(_->21Y~ov9nvhF-BUqhbPWlCQ_`%PZ#L?Xh>zS5a&l_>3ytO=)#Njm$8_VjY2KG<73`|t z>*@38HtE;+&e?kZPm4JZ=*3NCt~w*Um2bHIv)vJ9C&%$s$NaK%8gkm}IyI&p1y6#{ zowK>*Vi;DT(aIx4SADfNt+qpuVfrjgYxcE<_CTb0O_f!fH9(6yO-mTNwZEzA;g|=( z|J}18{U9D@w7;T%^(Twr_E4hA6^i?4e$MSf$&H_cJ>k^h*RNZuf9)Ai?=iv08f<@% z>!7DaxlXnTZng0H6nq|D)RbbNjQmj)<{djEDolg><|rd8Fi^je=>UPC?r=`r_Bio8>k0J+bkYM?ss&taZ}~ zMve{Lg*mq#tSDXM08azsHK)zz|zw$vG$_{H9s{yv%WNdJzMxP2#Fs`QBk zyxP1aiwc|rJHOvLwJ~H$T~DKjAUOsZ9V22-HE_~jEnU`D7=BK)InHC*CZ^6p6O5#?2Sa1Rn-GQ~gv`bZ81P4JN008io ze@Gp~+0YT-0(`&*U6}w3(11X|0+khmhDuZbK^cXl&@w(tFc5%RP|?9h2N&R>IvzlW zeQ~NQa3BPV>6#$oZs-QA2SQO}0T2m9qmvH^0Wz==T@_3O5R4)=D#rs+C>M!h0qQIY z2>EP92HZdIi$zfo>Ry1hc+r>46&Hh&0PX$}D7^!n{I9z|7FDuP()LU5SJhJ(n4<qGgH@;eukP7)u;Bs% zg$C1MDom#!)^u+a+I$6JQ97axYyOpk+71C3O(2RJ5s#?DYJZ&x>uhh2aACi{Qtn?5{02aIHH;Vpfxc6u`x<#kQKr_bB5IC} zxJhkU3rsc?5p8`vR;6=YBAqXcrL{yocC-1BTGdPPa4pM?LZAW97~t{!!qgUaC0 z!@51g^s7-1E8D_cs#6>>Ha(IFZg_1-Mq_IIMTdzEPYA(j?zum`=$~wrIfqLVp0PV5 zOoAWnx?RWeO>|4$z&ggQcwz0uD+N39NV@z|Q%(9{04x!MT=a?fey%=}HiUrz z7>~Xg(l-!<#XwasPXR2U?XVB*E%lOmrf&)n3ZrbTta!13T+2|QASPN-W0rvtR#7nl zVWELmpSeIm*mrEZ)pQQWnhCFEGMLsJ2Rf6*!K)qZ*le_T=!gSsZAV{=zzE%r!(>pHY`e8I z4wY$bZ^K}6*oYmPJ-kGboDsAT)=SoTw{Hp{kBBf9&X7A@2HeLkTh=j$>=KXaRgJ< zgPPoo37Un0rGME$y~3MMZGKDgZ(EmSr}nPv3g(mM@_6^H%Z4RTeBl>F?8kHn#d9Yve9=FWI4={V`A&>~Jycg)4eiq-C2nwi87Z0;HEOiKt4 zA*IF&vdwPdhP};a2U&Hu*Ow~aPW0nyzBP<`R2$iIs>|8{`_qzOpUa&^KtNvp;YfE; ztop=0*OsS)Ckn1mknHY)55@Jdvp%|s9f4ja3<8yMR{I>#GQtX(cP<(wb&rro=HwlRL>iGkv8`%kUs;$r{+