From 88c562607acc3f6387da2298e870a4e5529f8bcd Mon Sep 17 00:00:00 2001 From: DanielDeng Date: Tue, 26 Mar 2024 02:23:19 +0800 Subject: [PATCH] =?UTF-8?q?=E7=83=BD=E7=81=AB=E4=BA=91=E9=95=BF=E6=A4=BF?= =?UTF-8?q?=E8=A1=973.26=202:23?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/compiler.xml | 10 +- .idea/encodings.xml | 3 + beacon-api/target/classes/bootstrap.yml | 16 +- .../classes/com/mashibing/ApiStarterApp.class | Bin 794 -> 987 bytes .../api/controller/ApiTestController.class | Bin 1031 -> 1108 bytes .../api/controller/SmsController.class | Bin 3816 -> 5542 bytes .../com/mashibing/api/enums/SmsCodeEnum.class | Bin 1570 -> 0 bytes .../mashibing/api/filter/CheckFilter.class | Bin 204 -> 232 bytes .../api/filter/CheckFilterContext.class | Bin 1516 -> 1613 bytes .../api/filter/impl/ApiKeyCheckFilter.class | Bin 973 -> 2527 bytes .../api/filter/impl/FeeCheckFilter.class | Bin 967 -> 2837 bytes .../api/filter/impl/IPCheckFilter.class | Bin 953 -> 2360 bytes .../api/filter/impl/MobileCheckFilter.class | Bin 976 -> 1905 bytes .../api/filter/impl/SignCheckFilter.class | Bin 965 -> 3709 bytes .../api/filter/impl/TemplateCheckFilter.class | Bin 981 -> 3896 bytes .../classes/com/mashibing/api/util/R.class | Bin 938 -> 1326 bytes .../api/filter/CheckFilterContextTest.class | Bin 939 -> 1052 bytes beacon-common/pom.xml | 10 ++ .../common/enums/ExceptionEnums.java | 1 + .../common/exception/SearchException.java | 26 ++++ .../common/model/StandardReport.java | 14 +- .../common/model/StandardSubmit.java | 8 + .../com/mashibing/common/util/JsonUtil.java | 21 +++ beacon-push/pom.xml | 49 ++++++ .../com/mashibing/push/PushStarterApp.java | 19 +++ .../mashibing/push/config/RabbitMQConfig.java | 47 ++++++ .../push/config/RestTemplateConfig.java | 25 +++ .../mashibing/push/mq/PushReportListener.java | 146 ++++++++++++++++++ beacon-push/src/main/resources/bootstrap.yml | 17 ++ beacon-search/pom.xml | 65 ++++++++ .../mashibing/search/SearchStarterApp.java | 18 +++ .../config/RestHighLevelClientConfig.java | 57 +++++++ .../search/mq/SmsWriteLogListener.java | 46 ++++++ .../search/service/SearchService.java | 18 +++ .../impl/ElasticsearchServiceImpl.java | 55 +++++++ .../src/main/resources/bootstrap.yml | 17 ++ .../search/service/SearchServiceTest.java | 28 ++++ beacon-smsgateway/pom.xml | 50 ++++++ .../smsgateway/SmsGatewayStarterApp.java | 17 ++ .../smsgateway/mq/SmsGatewayListener.java | 29 ++++ .../src/main/resources/bootstrap.yml | 16 ++ .../strategy/config/RabbitTemplateConfig.java | 4 +- pom.xml | 3 + 43 files changed, 816 insertions(+), 19 deletions(-) delete mode 100644 beacon-api/target/classes/com/mashibing/api/enums/SmsCodeEnum.class create mode 100644 beacon-common/src/main/java/com/mashibing/common/exception/SearchException.java create mode 100644 beacon-common/src/main/java/com/mashibing/common/util/JsonUtil.java create mode 100644 beacon-push/pom.xml create mode 100644 beacon-push/src/main/java/com/mashibing/push/PushStarterApp.java create mode 100644 beacon-push/src/main/java/com/mashibing/push/config/RabbitMQConfig.java create mode 100644 beacon-push/src/main/java/com/mashibing/push/config/RestTemplateConfig.java create mode 100644 beacon-push/src/main/java/com/mashibing/push/mq/PushReportListener.java create mode 100644 beacon-push/src/main/resources/bootstrap.yml create mode 100644 beacon-search/pom.xml create mode 100644 beacon-search/src/main/java/com/mashibing/search/SearchStarterApp.java create mode 100644 beacon-search/src/main/java/com/mashibing/search/config/RestHighLevelClientConfig.java create mode 100644 beacon-search/src/main/java/com/mashibing/search/mq/SmsWriteLogListener.java create mode 100644 beacon-search/src/main/java/com/mashibing/search/service/SearchService.java create mode 100644 beacon-search/src/main/java/com/mashibing/search/service/impl/ElasticsearchServiceImpl.java create mode 100644 beacon-search/src/main/resources/bootstrap.yml create mode 100644 beacon-search/src/test/java/com/mashibing/search/service/SearchServiceTest.java create mode 100644 beacon-smsgateway/pom.xml create mode 100644 beacon-smsgateway/src/main/java/com/mashibing/smsgateway/SmsGatewayStarterApp.java create mode 100644 beacon-smsgateway/src/main/java/com/mashibing/smsgateway/mq/SmsGatewayListener.java create mode 100644 beacon-smsgateway/src/main/resources/bootstrap.yml diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 083be38..0baa873 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -10,11 +10,14 @@ - - + + + + + @@ -23,6 +26,9 @@ + + + diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 2014ea6..046d5bc 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -5,6 +5,9 @@ + + + diff --git a/beacon-api/target/classes/bootstrap.yml b/beacon-api/target/classes/bootstrap.yml index 5ac5b35..66a912a 100644 --- a/beacon-api/target/classes/bootstrap.yml +++ b/beacon-api/target/classes/bootstrap.yml @@ -1,7 +1,3 @@ -## 端口号 -#server: -# port: 8080 - # 服务名称 spring: application: @@ -13,17 +9,9 @@ spring: cloud: nacos: discovery: - server-addr: 192.168.1.113:8848 + server-addr: 192.168.43.132:8848 # nacos配置中心地址: config: - server-addr: 192.168.1.113:8848 + server-addr: 192.168.43.132:8848 file-extension: yml # beacon-api-dev.yml - -# # rabbitMQ连接信息 -# rabbitmq: -# host: 192.168.1.113 -# port: 5672 -# username: root -# password: 19970213Dch. -# virtual-host: / diff --git a/beacon-api/target/classes/com/mashibing/ApiStarterApp.class b/beacon-api/target/classes/com/mashibing/ApiStarterApp.class index f2f367e0e4dfacdcf65e6611207c6f24a4c41ad6..866e7925dd56b97e1956a90db5182611c6a9f60c 100644 GIT binary patch delta 233 zcmbQmcAH)5)W2Q(7#J8#7?imfSQw<)8DzK^WEtex8RR!gRWLF$GFVIwV3bzKFG$Tx zOU+Er(|65FOv*`h1F@ZRGE?(Pime$L%z%o-qVn@fQY%XI6Z7)&OA<>m^Yiqb^K%RG z^MHzilN0lR>Ufe8i&FyP!7GcuDh^V0Pa3o;oQL{PL LRLme*%pe5-#E(9* delta 78 zcmcc3K8sE2)W2Q(7#J8#805GZSQy0E8N|65Bp4*w8KgE!RWMF=U{Yn1=3$Uwke!^( h^pKHvvM;kes{jK#gW%+e%sSj$3``6nK<%Oo3;=yp4MG3_ diff --git a/beacon-api/target/classes/com/mashibing/api/controller/ApiTestController.class b/beacon-api/target/classes/com/mashibing/api/controller/ApiTestController.class index c550456c618417ff76029a80c99e8053e841743e..8431c2b70b23de5d8ee3880b79204727f092c1d3 100644 GIT binary patch delta 414 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 Q!)@SO9nUDnNajJ}55pu`()- IlXF??0g2*DwEzGB delta 123 zcmX@h^M;%2)W2Q(7#J8#7#ufp{bOVloxG7nWU?8Pvp92pQWhhFkWW@(S)zVUVqUtw ze^ORz^5iv4){It@Uoh<#w&r25VX)<4;AY@qXRza8uxD_Xyo))1awyANMuExBtYxAK b3|tIK3HAP9fR8BbFB3MtZyGt diff --git a/beacon-api/target/classes/com/mashibing/api/filter/impl/ApiKeyCheckFilter.class b/beacon-api/target/classes/com/mashibing/api/filter/impl/ApiKeyCheckFilter.class index cfcdf743d3b112420d9bb2a3724dd0b552ba05fb..7ddab60558151c9ff88d963a80d8d97219ec53f6 100644 GIT binary patch literal 2527 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 O#^scszyvGT#pEZ^8aN~X diff --git a/beacon-api/target/classes/com/mashibing/api/filter/impl/IPCheckFilter.class b/beacon-api/target/classes/com/mashibing/api/filter/impl/IPCheckFilter.class index 0b5b7ab19055d7b96108a6041c290c3cbf613b9f..34371660af3e8d823a2aab3a7002948cb3a84af5 100644 GIT binary patch literal 2360 zcmb7GYjYD-7=BKA*)&})Mz8{23WD|$SP>Lx5iOxev@NwM<>IBDY)+HYZg!X5O_6Wt zsKWJsOfx>{HYJ81~}@H9Mdo)ruGK zlG+)FVGu)Vb})uvyd1?y6lo2kEjWa+7}{_+h9fwt;h2V37#b`m#}FTIyqw`%6Wb?^ z0VkIeUN1wd$<4e-T2j~nLt?;m3PyqZd6|)R&fu;z%#6qlTMa) zR}4s73>6C*;f->NFQmZa))@DsT30q3gS@1GH`l>FA+11ohAg<2ks40sg*ml9+@cto zh&OYJVN1s%MWV3a*hYb3uqb41XStV67c&JJ^s4BZ{cz6E{XY~LBGM(`WY3%$X?G1qkt?O zgbo`P!;X96FMa#@-09id-(3Fl^6cD|w^PHVv!~~-o%{R8w-|cvsaaOIec>JH{&D?G z>61&h&;L|9d!}^eT`I!g(}T*h0@mIRzpQ8?Folrbw_PMhgHE{SJ-qSo9hYG=u~oolCrZp z$O`m&)kis-69G{%B~CJ|>gcSoO6H=0a|c9MwPgi=sb)w`D^IrXXzr|oq1IVl|4qIK zQdH@ob8g8D&v0_<6thMdn!m6Y9txyI1+PiJzu*RhYTZK5$vpSc;&@TmRKA_Z%J@eF zw^G9dlJNy}o}2tIlJ&GO;=|aYaoZ2&XsEcJwM9oW+`7$V~%OcpK3Oc! qhww=$~ifmvNnRA%az*8czy`m{3u delta 413 zcmZWk%PvDv6kX@sSMQ@Om)5IAJ==O*H!+Z4!c@|knZa!%q7fv7iG*Kh&d|Wf2VkHz z@Bu!-FBqGObxM#J?7jADt+P%$>^RkzkEdq<%UJZ_VAO?$u@uIAlrZ67(!&&{9n3hG zZCw>rLtMnU@>VlBOQM71a4)LWo4bwE)ylSjaa3;#g#VXnM{cxU3+hJ3Spm6!9Kc5q zz=fyY7G)O{9kL#qw@0a8ngKkm}h8{|x4h@aDX0wavV35uTu(J}o1 diff --git a/beacon-api/target/classes/com/mashibing/api/filter/impl/MobileCheckFilter.class b/beacon-api/target/classes/com/mashibing/api/filter/impl/MobileCheckFilter.class index 894991d61772bc437a7029a2660292ea7c5a746c..730e032652958022d2b7b8895d638416775df47f 100644 GIT binary patch literal 1905 zcmbVNTW=dh6#gbovW~NDLfWP+h1P+V+DV#iA>5j@B{dEN>?Xu*BzQsN&BUH$FJ^Zg zs1Q;fL0nQEDg*+lQPc_{fz(zaX{q3ypFxQc{{bP+?7G3ZiHl^C%Plc<TBIRklUq~VlWJX8HV0+tGn~qqu5H-dFUz8IN(Qe;V@6tm@C<2JEF^aI)$I(iT(Fmz1>;$8iH5NY^2-R8)r|&OZseN*NZE?Bw_0rl`pPi^(Tl)Q*k7^%$So`ws+TzOn zg-?^oWTYhgUlwkx|1_M}k->`^vN}fbl7^RcjNugxujAOZiD*47ftG9}H#}pNnRb!+gvkw*; z#&t~KHI=qW24kb?Kenibf{u&0M2+xwzl;}Wg&8m$-4U#z$v0R=okpt7SCFopbY@(J zeW|UDsro&=k*gl_cGrWUtt5h|7a8`Z(pv!;dKDbEWRVxSVOnl=T4jcAoZomQE(Ow} z9@V6uwJX78hC_|sWy;(uh_|Z3q4rF_v8665xm7|iCd#fOMqSV5L6{f?%b-g?Q>(38!lN#(Fma&E zi7G{78b|2smJHoVMwE4Th@AEhlUp4)NvD$JS`T5w!Tvy6!((`yRxOMUDdo}izX);t{uI6JUs)bW5tDyNe3pTa+vl|!iO~E(SF=$rmek`wd$^b(P^dv!T(EjAyg<}9d?=r?UoM@z7Gek zz^dxXvf7lPRq;_pq;`zDwdi9B%j(itS8qm5y_$`4ld%MHT%&rBSq;|YaL@A;Qw7zG z?jdeiNEEnRS+js%*4jz~`p{2hP7Khchc~E_>fJ&H#v^(pei5#|I-}RcV8#i*yx$y7 wv0o%F)O5iEm~-eSSt)xKa02rI)*Ylqi$Ce|H__%S9v0fRy@fB*mh diff --git a/beacon-api/target/classes/com/mashibing/api/filter/impl/SignCheckFilter.class b/beacon-api/target/classes/com/mashibing/api/filter/impl/SignCheckFilter.class index 6726798f7605dbec6554a1a1daf391f4342e6303..12de050b914b8f5965ffd5405cf16aca1ad9e7f7 100644 GIT binary patch literal 3709 zcmb7G`*&2;75+{#$(>9tUBckWD*NtkrewPwye zkG=QVdw=_JKKReu7XYloUqe`nhpSM7F9k8EzK;Z9s_&2*;z1;;Au$}n2u3wnLF@=& z49Or;>T3t#sPnXjN2`#58$uYKhO9c=sfJx4?8Y7?>oE0@TD6wBv zv%P9~vKn8**Q@aqo>s#*s_{)cqlRZSe5)F(@SKvkPciKe;`tB`;Gh}~sht;s_;v^{ z;yW6?tKqOfdD0mX2zNV~5yMRmuiIgCJ0l}9vtFP&ZpKGtN79nEC(zs-cTz^mbVscr z%N{Yzv}MHoGh?GPVC@9@&ua%D%&jE@;1;b zk;VamK!=l%0!z9rTlQpALo(BE(iY!caWgq!W-PTXYzDkhi^drx{4{JOJ()4AR61$I ztP#6oRK~};{7v3pK`+P01lC06vC`ow$2L;bf_yYDVP+Ds>`=<`)+_zWQ)XJJ=i8L^ ztfaBUOjBT`>(dCV{yzlLTu<&M&;gekQn)L*C>9=*9);I-JH@u|Nl)8fU!(^~+lrP- ztqtT|L?hy3T=_23@I4LV8jcXEEz%ox68D=b8t5weG1$iF%A*mAIoV8H(qZ)dvUv_% zqpTN*l#D5tvZUitNh2mRJFU1>{@$sAM91gRuH!DW@-Ag^)E;(p+zrBCW+ild4jXiQ z2I~aw_;ByROV7VNb>PIM)5oWd9&WjG?D$8o?z{Zjg{g!4Kiqq$zP>)c!+84V-cvI_ z4KL~VK8|YmfsP;Im_Xy)94Y|JoXir4(T|7lLG6nL7l_L zrVhM*`Nh+D9qSdc^>^1l{)E!!Wd=q`J>>4VOsgDKigZpdG@R1$3QjAB{aB!7E~_d7 z|0BG0yo#Ub_$gk~@G~8+i#OHmEgk1@OhZn`c}y_WbWGxH9q-`h3_2aZzy%%e;yuRYoD9WkYs$1{ znGR&%nrnM-&>A--RfiV1Wnm-y9+_`r>~fE>o3PQ-xj}0tF>0rc@M)(LhPG;>rrYDk zGT=VzTQ7?oC-I4Lww>_yvsii_%ie7c_yn~%EbnQV!1dz`5jMSrx_5BH_Vc(g{K*_{;w_)b zp+1L(N!(n9)<9k0eJrXAOyU-S1+P=*D+F3A>MAC2tH3z6so6?__pqw9vZbyvTt10N z8FFYG$6c#ia%fszxRz%m_0Q_Vy#6NMJ%Q#4kZ6sv&S>$iJM+rNCrcYk-vyxj{2*#M zHY0>J^szy2-^SHiBEF92w_`K$-^$e^#QRCK;ULj|iTIu(q8I7+zme+iMCN03iV(U) zHSQIQai6Fo(h9E)jGK$ZDoRO}3Y`LSYIYxK_?i_p*h0E8O8N(SI4kE(C(w)gspA(Y zLt&oZ>Elj}J2xYE1q~YdYpx)|&lMONwsH~FFz|0Y^e;+#fOHjtmjFR*n+d=MKY)O$ maLoj6dlQ<9IpO<4ML2LhdAIXhM&GEoujcMU{D09!&wl}-PbYT( delta 439 zcmYk1%TB^T7=_QYw51nN5m2gHNFG6pgx=Isg1~{%_8FxG%=u>*v!mfI2oT7$}<1Fq_1jjS}V!lr1b^(ZG^{ zWdXGp`U06|IPkrwcT^9&X6XCfK|{WaD;Zfi_kgCb6U3&Veb)AR?Y{4|IzjjFv>}hx zUAZM(d9Bv60*UCv?>n&JI51%eY|5fumeoYwTye09iom+O&3$tDe~IjFMX>)Y~8 zuSv&lU1|(0kmQ<*3H*i1nn3O;o;<3cYL$D48x{)E-1T8IjS<$dl?IGrjLO&;rz;-b zp(<4S7D`5aL_)zI!iulX>9vp@a`NBa9}cJ3&ykmp>4FC^=frQa((qZp%xDkL@1VqJ X@h@G9yh-*H6!^KACos+BMws~mm&7#T diff --git a/beacon-api/target/classes/com/mashibing/api/filter/impl/TemplateCheckFilter.class b/beacon-api/target/classes/com/mashibing/api/filter/impl/TemplateCheckFilter.class index 9a795740e9f280246c04bad2de1f084e811e9e12..aacefb038911ebecb1251e20f589fd4c929b499e 100644 GIT binary patch literal 3896 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 G&i?_(9x(y{ delta 364 zcmYLDO)mpc6g~H~I&Yqb>X*SxwJ2J&3pRFEmKK`WH_`=>G?B2k6N@5aZ)Ia4>4wC@ z5AZvfpCQg05pQwNdFP&U?|n8;UgzWc?H#~2+6F$V9u^D~ss=UG9b42`a=7fF;bCR8 zvoE3P4$jYx`g_NxeL?P^ebT$=Ss089qBxX@-c^e=G%Z?K7uaO@nB2c4SGQl+4;CBP z6a;sdL42czUDTnu*}V+JO<}eCb%;V7YrR57BnlI(xm5HqNp61)m_nXEAJZsMvGHf7 zx#heCWK)-BGS5VX&cB?dQbZ}umDy3u?PeQ?|G6R$D=}H-oJyLj@kCIYK|pkD7IWOF Ud5N2)Fi+K2G=MFz6|yQsKbNQ_w*UYD diff --git a/beacon-api/target/test-classes/com/mashibing/api/filter/CheckFilterContextTest.class b/beacon-api/target/test-classes/com/mashibing/api/filter/CheckFilterContextTest.class index eb444b165e142f37aa48a706a7847ba28a3d2a1d..cb0b7345c5045ac85637d6400d7d7bfdebbd4fb9 100644 GIT binary patch delta 475 zcma)1-AV#c7@TuVk8Yc;Y4+n^_OC)q;GI2!QD6jJu0NRK?m}+eO3&bJZ_t$x2?aes zZ_vv`vujb8-pugL`DV_1PwFvx`0@4n4xoku4GMXMf(D6v3=tGHY@?*Gqp&+I7DPQh z@+_xg-FBLHExYdtR2yyAHf?Kk({J^ip2^8}9n*F@-J#k1zdX4VpQk!j1j>tAJRMQQ z6!vtaus^wwHNzNK_m(-d_|XyF!Ky?lidPg6Wu@J@a});LAT%VbGr zPhy;tNfzXAWd<<~o)biW8CZou9P9H9Bq{i*DY|9gJ|jzN$v4RB8A6T9GnT3^2>&I; t5#quYi)5LW3lcMP(@&sZF^x3_|JKaVA+a9d2GYKqps*PP31r*IeFIy$RI>m8 delta 374 zcmZ9G&q@MO6vn@EC%xl%^Ixg?CnpoKoW*R~wdnzjHW9QOMT9|W(cmhmSBSQ~K`S8) z40?dxpqGh0uSMYI`|fw{IlptB-52eDelI=%9HZkwp`p>tAcb8IE%+LHvu;bO&dnee zl=^WrjlxNEJr2(Y@o4z;AYTU_vVy|ePhyaU)@U0Pu`dW8PXm21x=jQDpZ9|D;W{lj zIl4rfyA{t7DhYI#DNWDN6`lL2hAE^AJ=J@I%hCuwpy{(Jag4@ I1hpaRKc$r|2><{9 diff --git a/beacon-common/pom.xml b/beacon-common/pom.xml index 88d1e36..40c9404 100644 --- a/beacon-common/pom.xml +++ b/beacon-common/pom.xml @@ -26,6 +26,16 @@ spring-context 5.3.12 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.12.5 + \ No newline at end of file diff --git a/beacon-common/src/main/java/com/mashibing/common/enums/ExceptionEnums.java b/beacon-common/src/main/java/com/mashibing/common/enums/ExceptionEnums.java index f04cac3..88204e0 100644 --- a/beacon-common/src/main/java/com/mashibing/common/enums/ExceptionEnums.java +++ b/beacon-common/src/main/java/com/mashibing/common/enums/ExceptionEnums.java @@ -25,6 +25,7 @@ public enum ExceptionEnums { ONE_MINUTE_LIMIT(-16,"1分钟限流规则生效,无法发送短信"), ONE_HOUR_LIMIT(-17,"1小时限流规则生效,无法发送短信"), NO_CHANNEL(-18,"没有选择到合适的通道"), + SEARCH_INDEX_ERROR(-19,"添加ES文档信息失败") ; private Integer code; diff --git a/beacon-common/src/main/java/com/mashibing/common/exception/SearchException.java b/beacon-common/src/main/java/com/mashibing/common/exception/SearchException.java new file mode 100644 index 0000000..b313ccd --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/exception/SearchException.java @@ -0,0 +1,26 @@ +package com.mashibing.common.exception; + +import com.mashibing.common.enums.ExceptionEnums; +import lombok.Getter; + +/** + * @author dch + * @create 2024-03-20 12:15 + */ +@Getter +public class SearchException extends RuntimeException { + + private Integer code; + + public SearchException(String message, Integer code) { + super(message); + this.code = code; + } + + + public SearchException(ExceptionEnums enums) { + super(enums.getMsg()); + this.code = enums.getCode(); + } + +} diff --git a/beacon-common/src/main/java/com/mashibing/common/model/StandardReport.java b/beacon-common/src/main/java/com/mashibing/common/model/StandardReport.java index bead5df..6445b00 100644 --- a/beacon-common/src/main/java/com/mashibing/common/model/StandardReport.java +++ b/beacon-common/src/main/java/com/mashibing/common/model/StandardReport.java @@ -5,6 +5,11 @@ package com.mashibing.common.model; * @create 2024-03-24 17:05 */ +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -47,6 +52,9 @@ public class StandardReport implements Serializable { /** * 短信的发送时间,当前系统时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonSerialize(using = LocalDateTimeSerializer.class) + @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime sendTime; /** @@ -61,10 +69,14 @@ public class StandardReport implements Serializable { /** * 回调的信息 - * */ private Integer isCallback; private String callbackUrl; + /** + * 推送报告重试的次数 + */ + private Integer resendCount = 0; + } \ No newline at end of file diff --git a/beacon-common/src/main/java/com/mashibing/common/model/StandardSubmit.java b/beacon-common/src/main/java/com/mashibing/common/model/StandardSubmit.java index b32bada..de50ea0 100644 --- a/beacon-common/src/main/java/com/mashibing/common/model/StandardSubmit.java +++ b/beacon-common/src/main/java/com/mashibing/common/model/StandardSubmit.java @@ -1,5 +1,10 @@ package com.mashibing.common.model; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -56,6 +61,9 @@ public class StandardSubmit implements Serializable { /** * 短信的发送时间,当前系统时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonSerialize(using = LocalDateTimeSerializer.class) + @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime sendTime; /** diff --git a/beacon-common/src/main/java/com/mashibing/common/util/JsonUtil.java b/beacon-common/src/main/java/com/mashibing/common/util/JsonUtil.java new file mode 100644 index 0000000..da8f51f --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/util/JsonUtil.java @@ -0,0 +1,21 @@ +package com.mashibing.common.util; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +/** + * @author dch + * @create 2024-03-25 22:20 + */ +public class JsonUtil { + private static ObjectMapper objectMapper = new ObjectMapper(); + + public static String obj2JSON(Object obj){ + try { + return objectMapper.writeValueAsString(obj); + } catch (JsonProcessingException e) { + e.printStackTrace(); + throw new RuntimeException("转换JSON失败!"); + } + } +} diff --git a/beacon-push/pom.xml b/beacon-push/pom.xml new file mode 100644 index 0000000..b81fba9 --- /dev/null +++ b/beacon-push/pom.xml @@ -0,0 +1,49 @@ + + + 4.0.0 + + com.mashibing + beacon-cloud + 1.0-SNAPSHOT + + + beacon-push + + + 8 + 8 + UTF-8 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + com.mashibing + beacon-common + 1.0-SNAPSHOT + + + + org.springframework.boot + spring-boot-starter-amqp + + + + \ No newline at end of file diff --git a/beacon-push/src/main/java/com/mashibing/push/PushStarterApp.java b/beacon-push/src/main/java/com/mashibing/push/PushStarterApp.java new file mode 100644 index 0000000..c00c9b2 --- /dev/null +++ b/beacon-push/src/main/java/com/mashibing/push/PushStarterApp.java @@ -0,0 +1,19 @@ +package com.mashibing.push; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +/** + * @author dch + * @create 2024-03-25 23:59 + */ +@SpringBootApplication +@EnableDiscoveryClient +public class PushStarterApp { + + public static void main(String[] args) { + SpringApplication.run(PushStarterApp.class,args); + } + +} \ No newline at end of file diff --git a/beacon-push/src/main/java/com/mashibing/push/config/RabbitMQConfig.java b/beacon-push/src/main/java/com/mashibing/push/config/RabbitMQConfig.java new file mode 100644 index 0000000..e11af5e --- /dev/null +++ b/beacon-push/src/main/java/com/mashibing/push/config/RabbitMQConfig.java @@ -0,0 +1,47 @@ +package com.mashibing.push.config; + +import org.springframework.amqp.core.*; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author dch + * @create 2024-03-26 1:00 + */ +@Configuration +public class RabbitMQConfig { + + public static final String DELAYED_EXCHANGE = "push_delayed_exchange"; + + public static final String DELAYED_QUEUE = "push_delayed_queue"; + + private static final String DELAYED_EXCHANGE_TYPE = "x-delayed-message"; + + private static final String DELAYED_ROUTING_TYPE_KEY = "x-delayed-type"; + + private static final String DELAYED_ROUTING_TYPE_FANOUT = "fanout"; + + @Bean + public Exchange delayedExchange(){ + Map args = new HashMap<>(); + //延迟交换机的路由类型----fanout + args.put(DELAYED_ROUTING_TYPE_KEY,DELAYED_ROUTING_TYPE_FANOUT); + Exchange delayedExchange = new CustomExchange(DELAYED_EXCHANGE,DELAYED_EXCHANGE_TYPE,false,false,args); + return delayedExchange; + } + + @Bean + public Queue delayedQueue(){ + return QueueBuilder.durable(DELAYED_QUEUE).build(); + } + + @Bean + public Binding delayedBinding(Exchange delayedExchange, Queue delayedQueue){ + return BindingBuilder.bind(delayedQueue).to(delayedExchange).with("").noargs(); + } + + +} \ No newline at end of file diff --git a/beacon-push/src/main/java/com/mashibing/push/config/RestTemplateConfig.java b/beacon-push/src/main/java/com/mashibing/push/config/RestTemplateConfig.java new file mode 100644 index 0000000..0a40621 --- /dev/null +++ b/beacon-push/src/main/java/com/mashibing/push/config/RestTemplateConfig.java @@ -0,0 +1,25 @@ +package com.mashibing.push.config; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.connection.ConnectionFactory; +import org.springframework.amqp.rabbit.connection.CorrelationData; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.client.RestTemplate; + +/** + * @author dch + * @create 2024-03-26 0:07 + */ +@Configuration +@Slf4j +public class RestTemplateConfig { + + @Bean + public RestTemplate restTemplate() { + return new RestTemplate(); + } + +} \ No newline at end of file diff --git a/beacon-push/src/main/java/com/mashibing/push/mq/PushReportListener.java b/beacon-push/src/main/java/com/mashibing/push/mq/PushReportListener.java new file mode 100644 index 0000000..f5a6807 --- /dev/null +++ b/beacon-push/src/main/java/com/mashibing/push/mq/PushReportListener.java @@ -0,0 +1,146 @@ +package com.mashibing.push.mq; + +import com.alibaba.cloud.commons.lang.StringUtils; +import com.mashibing.common.constant.RabbitMQConstants; +import com.mashibing.common.model.StandardReport; +import com.mashibing.common.util.JsonUtil; +import com.mashibing.push.config.RabbitMQConfig; +import com.rabbitmq.client.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.AmqpException; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.core.MessagePostProcessor; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Component; +import org.springframework.web.client.RestClientException; +import org.springframework.web.client.RestTemplate; + + +import java.io.IOException; + +/** + * @author dch + * @create 2024-03-26 0:05 + */ +@Component +@Slf4j +public class PushReportListener { + + // 重试的时间间隔。 + private int[] delayTime = {0, 15000, 30000, 60000, 300000}; + + private final String SUCCESS = "SUCCESS"; + + @Autowired + private RestTemplate restTemplate; + + @Autowired + private RabbitTemplate rabbitTemplate; + + + /** + * 监控策略模块推送过来的消息(暂时是策略) + * + * @param report + * @param channel + * @param message + * @throws IOException + */ + @RabbitListener(queues = RabbitMQConstants.SMS_PUSH_REPORT) + public void consume(StandardReport report, Channel channel, Message message) throws IOException { + //1、获取客户的回调地址 + String callbackUrl = report.getCallbackUrl(); + if (StringUtils.isEmpty(callbackUrl)) { + log.info("【推送模块-推送状态报告】 客户方没有设置回调的地址信息!callbackUrl = {} ", callbackUrl); + channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); + return; + } + + //2、发送状态报告 + boolean flag = pushReport(report); + + //3、如果发送失败,重试 + isResend(report, flag); + + //4、直接手动ack + channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); + } + + + /** + * 监听延迟交换机路由过来的消息 + * + * @param report + * @param channel + * @param message + * @throws IOException + */ + @RabbitListener(queues = RabbitMQConfig.DELAYED_QUEUE) + public void delayedConsume(StandardReport report, Channel channel, Message message) throws IOException { + // 1、发送状态报告 + boolean flag = pushReport(report); + + // 2、判断状态报告发送情况 + isResend(report, flag); + + // 手动ack + channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); + } + + + /** + * 发送请求,给callbackUrl + * + * @param report + * @return + */ + private boolean pushReport(StandardReport report) { + // 声明返回结果,你默认为false + boolean flag = false; + + //1、声明发送的参数 + String body = JsonUtil.obj2JSON(report); + + //2、声明RestTemplate的模板代码 + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setContentType(MediaType.APPLICATION_JSON); + try { + log.info("【推送模块-推送状态报告】 第{}次推送状态报告开始!report = {}", report.getResendCount() + 1, report); + String result = restTemplate.postForObject("http://" + report.getCallbackUrl(), new HttpEntity<>(body, httpHeaders), String.class); + flag = SUCCESS.equals(result); + } catch (RestClientException e) { + } + //3、得到响应后,确认是否为SUCCESS + return flag; + } + + /** + * 判断状态报告是否推送成功,失败的话需要发送重试消息 + * + * @param report + * @param flag + */ + private void isResend(StandardReport report, boolean flag) { + if (!flag) { + log.info("【推送模块-推送状态报告】 第{}次推送状态报告失败!report = {}", report.getResendCount() + 1, report); + report.setResendCount(report.getResendCount() + 1); + rabbitTemplate.convertAndSend(RabbitMQConfig.DELAYED_EXCHANGE, "", report, new MessagePostProcessor() { + @Override + public Message postProcessMessage(Message message) throws AmqpException { + // 设置延迟时间 + message.getMessageProperties().setDelay(delayTime[report.getResendCount()]); + return message; + } + }); + } else { + log.info("【推送模块-推送状态报告】 第一次推送状态报告成功!report = {}", report); + } + } + + +} \ No newline at end of file diff --git a/beacon-push/src/main/resources/bootstrap.yml b/beacon-push/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..3ddf537 --- /dev/null +++ b/beacon-push/src/main/resources/bootstrap.yml @@ -0,0 +1,17 @@ +# 服务名称 +spring: + application: + name: beacon-push + # 多环境 + profiles: + active: dev + # nacos注册中心地址 + cloud: + nacos: + discovery: + server-addr: 192.168.43.132:8848 + # nacos配置中心地址: + config: + server-addr: 192.168.43.132:8848 + file-extension: yml + # beacon-push-dev.yml \ No newline at end of file diff --git a/beacon-search/pom.xml b/beacon-search/pom.xml new file mode 100644 index 0000000..1e57913 --- /dev/null +++ b/beacon-search/pom.xml @@ -0,0 +1,65 @@ + + + 4.0.0 + + com.mashibing + beacon-cloud + 1.0-SNAPSHOT + + + beacon-search + + + 8 + 8 + UTF-8 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + com.mashibing + beacon-common + 1.0-SNAPSHOT + + + + org.springframework.boot + spring-boot-starter-amqp + + + + org.elasticsearch.client + elasticsearch-rest-high-level-client + 7.6.2 + + + org.elasticsearch + elasticsearch + 7.6.2 + + + + org.springframework.boot + spring-boot-starter-test + + + + \ No newline at end of file diff --git a/beacon-search/src/main/java/com/mashibing/search/SearchStarterApp.java b/beacon-search/src/main/java/com/mashibing/search/SearchStarterApp.java new file mode 100644 index 0000000..92af7ec --- /dev/null +++ b/beacon-search/src/main/java/com/mashibing/search/SearchStarterApp.java @@ -0,0 +1,18 @@ +package com.mashibing.search; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +/** + * @author dch + * @create 2024-03-25 20:43 + */ +@SpringBootApplication +@EnableDiscoveryClient +public class SearchStarterApp { + + public static void main(String[] args) { + SpringApplication.run(SearchStarterApp.class,args); + } +} \ No newline at end of file diff --git a/beacon-search/src/main/java/com/mashibing/search/config/RestHighLevelClientConfig.java b/beacon-search/src/main/java/com/mashibing/search/config/RestHighLevelClientConfig.java new file mode 100644 index 0000000..ad2163a --- /dev/null +++ b/beacon-search/src/main/java/com/mashibing/search/config/RestHighLevelClientConfig.java @@ -0,0 +1,57 @@ +package com.mashibing.search.config; + +import org.apache.http.HttpHost; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.CredentialsProvider; +import org.apache.http.impl.client.BasicCredentialsProvider; +import org.elasticsearch.client.RestClient; +import org.elasticsearch.client.RestClientBuilder; +import org.elasticsearch.client.RestHighLevelClient; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.List; + +/** + * @author dch + * @create 2024-03-25 21:02 + */ +@Configuration +public class RestHighLevelClientConfig { + + @Value("#{'${elasticsearch.hostAndPorts}'.split(',')}") + private List hostAndPorts; + + @Value("${elasticsearch.username:elastic}") + private String username; + + + @Value("${elasticsearch.password}") + private String password; + + @Bean + public RestHighLevelClient restHighLevelClient(){ + // 初始化连接ES的HttpHost信息 + HttpHost[] httpHosts = new HttpHost[hostAndPorts.size()]; + for (int i = 0; i < hostAndPorts.size(); i++) { + String[] hostAndPort = hostAndPorts.get(i).split(":"); + httpHosts[i] = new HttpHost(hostAndPort[0],Integer.parseInt(hostAndPort[1])); + } + + // 设置认证信息 + CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); + credentialsProvider.setCredentials(AuthScope.ANY,new UsernamePasswordCredentials(username,password)); + + // 构建时设置连接信息,基于set设置认证信息 + RestClientBuilder restClientBuilder = RestClient.builder(httpHosts); + restClientBuilder.setHttpClientConfigCallback(f -> f.setDefaultCredentialsProvider(credentialsProvider)); + + // 构建连接ES的client对象 + RestHighLevelClient restHighLevelClient = new RestHighLevelClient(restClientBuilder); + + // 返回 + return restHighLevelClient; + } +} \ No newline at end of file diff --git a/beacon-search/src/main/java/com/mashibing/search/mq/SmsWriteLogListener.java b/beacon-search/src/main/java/com/mashibing/search/mq/SmsWriteLogListener.java new file mode 100644 index 0000000..d482c66 --- /dev/null +++ b/beacon-search/src/main/java/com/mashibing/search/mq/SmsWriteLogListener.java @@ -0,0 +1,46 @@ +package com.mashibing.search.mq; + +import com.mashibing.common.constant.RabbitMQConstants; +import com.mashibing.common.model.StandardSubmit; +import com.mashibing.common.util.JsonUtil; +import com.mashibing.search.service.SearchService; +import com.rabbitmq.client.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.time.LocalDateTime; + +/** + * @author dch + * @create 2024-03-25 21:16 + */ +@Component +@Slf4j +public class SmsWriteLogListener { + + @Autowired + private SearchService searchService; + + private final String INDEX = "sms_submit_log_"; + + + @RabbitListener(queues = RabbitMQConstants.SMS_WRITE_LOG) + public void consume(StandardSubmit submit, Channel channel, Message message) throws IOException { + //1、调用搜索模块的添加方法,完成添加操作 + log.info("接收到存储日志的信息 submit = {}",submit); + searchService.index(INDEX + getYear(),submit.getSequenceId().toString(), JsonUtil.obj2JSON(submit)); + + //2、手动ack + channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); + } + + + public String getYear(){ + return LocalDateTime.now().getYear() + ""; + } + +} \ No newline at end of file diff --git a/beacon-search/src/main/java/com/mashibing/search/service/SearchService.java b/beacon-search/src/main/java/com/mashibing/search/service/SearchService.java new file mode 100644 index 0000000..f3a63da --- /dev/null +++ b/beacon-search/src/main/java/com/mashibing/search/service/SearchService.java @@ -0,0 +1,18 @@ +package com.mashibing.search.service; + +import java.io.IOException; + +/** + * @author dch + * @create 2024-03-25 21:34 + */ +public interface SearchService { + /** + * 向ES中添加一行文档 + * + * @param index 索引信息 + * @param id 文档id + * @param json 具体的文档内容 + */ + void index(String index, String id, String json) throws IOException; +} diff --git a/beacon-search/src/main/java/com/mashibing/search/service/impl/ElasticsearchServiceImpl.java b/beacon-search/src/main/java/com/mashibing/search/service/impl/ElasticsearchServiceImpl.java new file mode 100644 index 0000000..66e3aab --- /dev/null +++ b/beacon-search/src/main/java/com/mashibing/search/service/impl/ElasticsearchServiceImpl.java @@ -0,0 +1,55 @@ +package com.mashibing.search.service.impl; + + +import com.mashibing.common.enums.ExceptionEnums; +import com.mashibing.common.exception.SearchException; +import com.mashibing.search.service.SearchService; +import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.index.IndexRequest; +import org.elasticsearch.action.index.IndexResponse; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; +import org.elasticsearch.common.xcontent.XContentType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.IOException; + +/** + * @author dch + * @create 2024-03-25 21:34 + */ +@Service +@Slf4j +public class ElasticsearchServiceImpl implements SearchService { + /** + * 添加成功的result + */ + private final String CREATED = "created"; + + @Autowired + private RestHighLevelClient restHighLevelClient; + + @Override + public void index(String index, String id, String json) throws IOException { + //1、构建插入数据的Request + IndexRequest request = new IndexRequest(); + + //2、给request对象封装索引信息,文档id,以及文档内容 + request.index(index); + request.id(id); + request.source(json, XContentType.JSON); + + //3、将request信息发送给ES服务 + IndexResponse response = restHighLevelClient.index(request, RequestOptions.DEFAULT); + + //4、校验添加是否成功 + String result = response.getResult().getLowercase(); + if(!CREATED.equals(result)){ + // 添加失败!! + log.error("【搜索模块-写入数据失败】 index = {},id = {},json = {},result = {}",index,id,json,result); + throw new SearchException(ExceptionEnums.SEARCH_INDEX_ERROR); + } + log.info("【搜索模块-写入数据成功】 索引添加成功index = {},id = {},json = {},result = {}",index,id,json,result); + } +} \ No newline at end of file diff --git a/beacon-search/src/main/resources/bootstrap.yml b/beacon-search/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..74d12b7 --- /dev/null +++ b/beacon-search/src/main/resources/bootstrap.yml @@ -0,0 +1,17 @@ +# 服务名称 +spring: + application: + name: beacon-search + # 多环境 + profiles: + active: dev + # nacos注册中心地址 + cloud: + nacos: + discovery: + server-addr: 192.168.43.132:8848 + # nacos配置中心地址: + config: + server-addr: 192.168.43.132:8848 + file-extension: yml + # beacon-search-dev.yml \ No newline at end of file diff --git a/beacon-search/src/test/java/com/mashibing/search/service/SearchServiceTest.java b/beacon-search/src/test/java/com/mashibing/search/service/SearchServiceTest.java new file mode 100644 index 0000000..2f6deb0 --- /dev/null +++ b/beacon-search/src/test/java/com/mashibing/search/service/SearchServiceTest.java @@ -0,0 +1,28 @@ +package com.mashibing.search.service; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import java.io.IOException; + +import static org.junit.Assert.*; + +/** + * @author dch + * @create 2024-03-25 21:49 + */ +@SpringBootTest +@RunWith(SpringRunner.class) +public class SearchServiceTest { + + @Autowired + private SearchService searchService; + + @Test + public void index() throws IOException { + searchService.index("sms_submit_log_2024","1","{\"clientId\":1}"); + } +} \ No newline at end of file diff --git a/beacon-smsgateway/pom.xml b/beacon-smsgateway/pom.xml new file mode 100644 index 0000000..a47bbc1 --- /dev/null +++ b/beacon-smsgateway/pom.xml @@ -0,0 +1,50 @@ + + + 4.0.0 + + com.mashibing + beacon-cloud + 1.0-SNAPSHOT + + + beacon-smsgateway + 短信网关模块的模板 + + + 8 + 8 + UTF-8 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + com.mashibing + beacon-common + 1.0-SNAPSHOT + + + + org.springframework.boot + spring-boot-starter-amqp + + + + \ No newline at end of file diff --git a/beacon-smsgateway/src/main/java/com/mashibing/smsgateway/SmsGatewayStarterApp.java b/beacon-smsgateway/src/main/java/com/mashibing/smsgateway/SmsGatewayStarterApp.java new file mode 100644 index 0000000..7a40373 --- /dev/null +++ b/beacon-smsgateway/src/main/java/com/mashibing/smsgateway/SmsGatewayStarterApp.java @@ -0,0 +1,17 @@ +package com.mashibing.smsgateway; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +/** + * @author dch + * @create 2024-03-26 2:01 + */ +@EnableDiscoveryClient +@SpringBootApplication +public class SmsGatewayStarterApp { + public static void main(String[] args) { + SpringApplication.run(SmsGatewayStarterApp.class, args); + } +} diff --git a/beacon-smsgateway/src/main/java/com/mashibing/smsgateway/mq/SmsGatewayListener.java b/beacon-smsgateway/src/main/java/com/mashibing/smsgateway/mq/SmsGatewayListener.java new file mode 100644 index 0000000..cbf665a --- /dev/null +++ b/beacon-smsgateway/src/main/java/com/mashibing/smsgateway/mq/SmsGatewayListener.java @@ -0,0 +1,29 @@ +package com.mashibing.smsgateway.mq; + +import com.mashibing.common.model.StandardSubmit; +import com.rabbitmq.client.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Component; + +import java.io.IOException; + +/** + * @author dch + * @create 2024-03-26 2:12 + */ +@Component +@Slf4j +public class SmsGatewayListener { + + @RabbitListener(queues = "${gateway.sendtopic}") + public void consume(StandardSubmit submit, Channel channel, Message message) throws IOException, InterruptedException { + log.info("【短信网关模块】 接收到消息 submit = {}", submit); + // =====================完成运营商交互,发送一次请求,接收两次响应========================== + + channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); + } + + +} \ No newline at end of file diff --git a/beacon-smsgateway/src/main/resources/bootstrap.yml b/beacon-smsgateway/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..07b78bb --- /dev/null +++ b/beacon-smsgateway/src/main/resources/bootstrap.yml @@ -0,0 +1,16 @@ +# 服务名称 +spring: + application: + name: beacon-smsgateway + # 多环境 + profiles: + active: dev + # nacos注册中心地址 + cloud: + nacos: + discovery: + server-addr: 192.168.43.132:8848 + # nacos配置中心地址: + config: + server-addr: 192.168.43.132:8848 + file-extension: yml \ No newline at end of file diff --git a/beacon-strategy/src/main/java/com/mashibing/strategy/config/RabbitTemplateConfig.java b/beacon-strategy/src/main/java/com/mashibing/strategy/config/RabbitTemplateConfig.java index 12b9060..ad57ea0 100644 --- a/beacon-strategy/src/main/java/com/mashibing/strategy/config/RabbitTemplateConfig.java +++ b/beacon-strategy/src/main/java/com/mashibing/strategy/config/RabbitTemplateConfig.java @@ -37,7 +37,7 @@ public class RabbitTemplateConfig { public void confirm(CorrelationData correlationData, boolean ack, String cause) { // ack为false,代表消息没有发送到exchange。 if(!ack){ - log.error("【接口模块-发送消息】 消息没有发送到交换机,correlationData = {},cause = {}",correlationData,cause); + log.error("【策略模块-发送消息】 消息没有发送到交换机,correlationData = {},cause = {}",correlationData,cause); } } }); @@ -48,7 +48,7 @@ public class RabbitTemplateConfig { // 触发这个回调,说明交换机没有把消息路由到指定的队列中 @Override public void returnedMessage(Message message, int replyCode, String replyText, String exchange, String routingKey) { - log.error("【接口模块-发送消息】 消息没有路由到指定的Queue。 message = {},exchange = {},routingKey = {}", + log.error("【策略模块-发送消息】 消息没有路由到指定的Queue。 message = {},exchange = {},routingKey = {}", new String(message.getBody()),exchange,routingKey); } }); diff --git a/pom.xml b/pom.xml index 50d13e5..a5dddbe 100644 --- a/pom.xml +++ b/pom.xml @@ -20,6 +20,9 @@ beacon-cache beacon-test beacon-strategy + beacon-search + beacon-push + beacon-smsgateway