From d96f3a792ba721da0bd9791dc9ddc904ffbaf6b6 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 23 Sep 2022 15:24:04 +0800 Subject: [PATCH 001/109] =?UTF-8?q?=E6=94=B9=E4=BA=86=E4=B8=80=E4=B8=8BBIZ?= =?UTF-8?q?=5FTYPE=20=E5=A4=87=E6=B3=A8=E9=95=BF=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.14__add_ding_table.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.14__add_ding_table.sql b/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.14__add_ding_table.sql index 9d13ecb53c..2e9c8301c8 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.14__add_ding_table.sql +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.14__add_ding_table.sql @@ -39,7 +39,7 @@ CREATE TABLE `open_sync_biz_data` `CORP_ID` varchar(255) NOT NULL COMMENT '第三方企业应用的corpid', `BIZ_ID` varchar(255) NOT NULL COMMENT '第三方企业应用的suiteid', `BIZ_DATA` json NOT NULL COMMENT '数据为Json格式', - `BIZ_TYPE` varchar(10) NOT NULL COMMENT '2:第三方企业应用票据;\n4:企业授权变更,包含授权、解除授权、授权变更;\n7:第三方企业应用变更,包含停用、启用、删除(删除保留授权);\n13:企业用户变更,包含用户添加、修改、删除;\n14:企业部门变更,包含部门添加、修改、删除;\n15:企业角色变更,包含角色添加、修改、删除;\n16:企业变更,包含企业修改、删除;\n17:市场订单;\n20:企业外部联系人变更,包含添加、修改、删除;\n22:ISV自定义审批;\n25:家校通讯录1.0(Deprecated)信息变更。家校通讯录升级,请查看家校通讯录2.0数据推送;\n32:智能硬件绑定类型;\n37:因订单到期或者用户退款等导致的服务关闭,目前仅推送因退款等导致的服务关闭;\n50:家校通讯录2.0,部门信息变更;\n51:家校通讯录2.0,人员信息变更;\n63:应用试用记录回调信息;\n66:工作台组件变更回调事件;\n67:钉钉假期相关回调事件;\n133:CRM客户动态相关数据回调事件;\n137:人事平台员工异动V2相关数据回调事件;\n139:异步转译通讯录id任务完成通知;\n165:人事平台员工档案变动事件相关数据的回调事件;\n175:人事解决方案变更事件;', + `BIZ_TYPE` varchar(10) NOT NULL COMMENT '2:第三方企业应用票据;', `DEL_FLAG` int(1) NOT NULL, `REVISION` int(1) NOT NULL, `CREATED_TIME` datetime NOT NULL, From 63f7d716617f6423148bdf043e3b9e58edbcc306 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 23 Sep 2022 15:30:16 +0800 Subject: [PATCH 002/109] =?UTF-8?q?=E4=B8=BB=E9=94=AE64?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.14__add_ding_table.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.14__add_ding_table.sql b/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.14__add_ding_table.sql index 2e9c8301c8..aa666499cc 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.14__add_ding_table.sql +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.14__add_ding_table.sql @@ -33,7 +33,7 @@ INSERT INTO `epmet_third`.`ding_mini_info` (`ID`, `SUITE_ID`, `APP_ID`, `MINI_AP CREATE TABLE `open_sync_biz_data` ( - `ID` varchar(255) NOT NULL, + `ID` varchar(64) NOT NULL, `SUITE_KEY` varchar(255) DEFAULT NULL, `SUBSCRIBE_ID` varchar(255) NOT NULL COMMENT '第三方企业应用的suiteid加下划线0', `CORP_ID` varchar(255) NOT NULL COMMENT '第三方企业应用的corpid', From 6695515e87b2286cb78c973d4127086b31553d0a Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 26 Sep 2022 15:11:30 +0800 Subject: [PATCH 003/109] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dexcel=E5=AE=B6?= =?UTF-8?q?=E5=BA=AD=E4=BF=A1=E6=81=AF=E8=A1=A8=E5=A4=B4=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/ic_resi_import_template.xls | Bin 74240 -> 74752 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_import_template.xls b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_import_template.xls index f93667a3bd3c379e37d4ba18c1b1b80b4562736e..cbcb2294dce20b116b5a8255d246bc30b35359de 100644 GIT binary patch delta 6959 zcmd6sdvH|M9mmhP_ii5h%43u4CTt!=k`M?afFQ&`9!tt<(mZ%HA(4<6u%w7V1Ocli zsfa<#qx{6RQz>@rOlU=fSuB(a_=iPoN2N?LR0o6+ORJ4!Pzq%V>G#~bImtB{|FdM7 zlXE}!cOJj1|ko3r~QlqbjdTegj(2?_KtKCf#?P0nOx13>A zZud}*Gd6sbK58UAVRt9S4$)|WE_KsukYYV@RmW0~r7|s2mqyW9j6KHTkyePIMb1Q; zQxUGq)dlGve3hBRy8ABT~$FAVAZO~Xm2e@VZ>Jc})Kti+>G1pN)v zZKG=?<#X04QH=GjR7C%6g5;Vp*kFO|3}C~H&JU;S2`+Qf9e;9B;)CV z&*kVJN7OCEXOE)N(rD^g>ftJ-%udDMS+m{xv%5{Sx%(TVxI?2kQEMoZL)?s7=ox|1 z{}KHcqlh{gMYI>sqLiTYe*{PN18TvThd%YiB#Y-Kz9EYVwOJnE@q9cMkVpUWMTmts zgc*csL=4hsRcS_ede|nwM*3xGgZ8`n*BXLXOOIJ1HnMkpjM*7gpUJcey)w}2i@DTs zrXrYMK3jF%WLCV*hn`pwJyTiOCNvapIsUciQiBwbIP?aoAiE?Da z5QT%pAva_ZAhAk=BH3~ld%r|0gd)lrLK`Sfk{uK;$$^dulAMr}{K3KE-d%$f#Dku(~VDk&Y5)+X@|;Alx>KGO4;3T zhiQ@uAiGP_Owe@DRAY)+z!_3l2+EgK1QKDvXju$OpuV}yZ3Urs3S9RgHd9h8XqF@w zs8CWIs7O*gs8~`0s6>(*gd?lZsxS{|Hs~m;Md(X}4lVTAye#USr;&Yr-h$FlOBILp zN9=o&6wn+=Do6y_ClxD#js{{?ZAD^TDzkv@kuAeO_tMYir^c1xT{n*SZbZ8R*2q_> z8mB!UdQ{cR>75TJCwV#gG8}EKw;c6$yR}yYMIm-|XO9twT=={=-f1X!>J@(%LCbg+ zi?ggUYV7v$Fv{DL?M&690!J4-MF;tUd_@y6kqT?p@fzx=iKkt4rMy&sYF#*mPS$SX z`*o_W-$iPjZ+mT-6o=DaYjWsfT@3`u)LfUzJM^YawXMP4`j0uiys(KLZknS^ZA2*i zZSZKrSkBAo(&7wL_$xDozcN$!D>H?^GWLBaYj}!ioN+J|tTtr8nZM;j`Fu@78P;3}4u)Z4A}fQg50Vy!f| z*u;gB#3t5B5}Q~rNo?YM!D}rYR_h0kGgk8yW5G_W`$q8bH7ixVh}+wmH&|P4rH{I>3O2D9**^h9L*pFG&l?UPQp;z zpuB6S2QQP#h}~?FBz6<0GNh>3&E=BBZayeU?B)tdVmEP;L;b{VMzu;5ySXxW{P}-G zT7U5hW3O~E7XK>Dbv?Lm*D0m#VKn55NXYFtONNOUx(rTYzeDqtU}rco=OJNS>Oa(c ztE5br?-8tR3J*T|>zxtG$-Qvby_`Cm!g}QpzBIhWSm$xw zbu0IuSNLkUt~m_(O^)j~Ij-MyfBH@Lr{8pc`c3zz-*kWaP4}mtxdsw)D^ecw{kev& z9LT^=0iHJ|G(Q^J1qEuZ|O${pu?tY`n zWleq`m((f70;hGaz430k+9tl}_4{ho|I1egTy>nBUQanB4fWM04ez}E{#)TuX)Hod z@D#KU^B6gxXZRdYh+W-fIG4!qc8aR6yIm>&DA;i(b_7P_E@i`6g>r%9f*i=8K*ydQGPY;bm>lIuIc6>GxvjF(r=dd0UZT0gLBhhki_KZl&ZTqsz zdh*|l)!xL9Uuv-U@}E@RM)t4FdH)EzeA?;wSA{b=LcvyCJLT*rk{lpp^`Yy-3EChj z3iNbv*4O`xipm=lgTtfs7#vupaknY}-?{^@YCK&D&q3H-5h$?m7cJrV#fDQ+O*$pl zT4~pb=s|=3(3lV(3Qg0Lb9X#pac0K|X^aobhd5f~kIkL5MX6hLb$1j6;iVGZz;>Ce& zUf%seH1}vnE*Jjhpf{SIw#00>wza3~6fc6$v1Lc69sbKfC4sNfcxPZu5`Rh=6?O1N f5>K%tKLfe=FRx9gpGA2t#NyqSgOk$upZWg)G6IfG delta 6834 zcmd6sdu&w46^Cc;-d(S+_u(hIe!norV6efMfHB5Tved*Fu))~oWfzDI0qO+WK#8G1 z0)as23EfH!anna=sernRaD)_~QG*DHiW4OT0^yNV5j42a2o!{%^fz~R$G#Z#zXV@t zJome2=FXWpXU>_sUVl!x5XT7rgBFr#n_#6NQcCUN^uHPptO^@%7KmJ5tqG7RP4)gHGcu9p|VA)tL(vR+^wV zFH=@&LgVZ&MZZwKZRycf59=1kc7ElTX3lx<5z;f){L-d{kCHlj=uM0>R;6R5ZlyJZ z&VdeS^lj{@5>L%hX;jp ztt`wgdYDi|-9o%PUKMxVzsB;xT%n}$Wc)2Ecj@=8b|IU961)VvP(>r@yJd?wLyLG& ztdu1fWQm|SDN6#yOG*YMNJ;?-gZp(z1tm#J10}ahOb4b&8VpL6lmSYUGz63`DHAkU z(oj%_q%6=7Ny9*yl7@qZGK}xnEgP66g(E=2B#i|1u3ZjDY$kudT(*K`OBw~)2uY(2 z{qjH~rECl+hhcpGYx04)QaBbgO41V`vAg^&$AR)BjR*CrRsb3!WfR~I`H~7D8!Krd z=m}81|D{F1aZ)%5G+t6Ms6bK)D2B$)Y;G3;LG)Iz4VSY*Ns*w5lA=IGlA=MAB*lP= zB@F_VNOFNnCAmS^z3eEf!+5dKp@rNv4a3U=Elk*?t*kQGHz%9Vr7LwY^rv}K=y-hvy<4A1_QoM}xvqiF z)FlTSN_eM!mtNoDd%N*Gr*9VJ)9I#2#Wo*dX&?10uA=+}pYcixUzlNtNR@_&RB4Dv zm4=8^$)*M-&5=_o4H2o*5Robk5vh_rCHsY%^5a&xcR~9baJF1*VZb^`!hmxm2?N$k5(aGWr7Yc`X>YA% zY~;@vd-)~ZJilGtX5x)BXiethp7Z~6+PQKjV$Sm>$k9DoL1gsU%^}Ws-zBv5f=$ggKWR&AGyNWB1ii zt?f6At$B;F>wolJ={RL-Ux_~cqofU6$8UXx-hB_0-(mPJ)z7R}4ERv|mQ(4!`+p>5 zV(Hp2uRQMS`28NMvUh(UUtLVs57rDcf8B6tH|<=d(Xvjf_I?+>369}g<2~JPSO4V; zg+B|w&1kPREWgK)Jw1l(=`mzak0E<{4B69T$etcU_VgH5-;>nm1g|mAL)r5=ia(se zW2ofth~`xRQz$r*%x0@4*+D;+XV#ly zZz(7(7Z}|FE9!l=O1} zPoF`zK07(^ynL_Ha6#_Hf{Oz#Z)~`^d4t~ei^q-Fv{sQIS zGJY|9?@5bA_WqF5KWVkoja!q(uSazC{|I11rraRO4#M|9K;{5#l;i|$@-4Z2&FM_( z6T8=T>#^Ir%gkLS0flF?yq}nPnzA-J5Uz)L7g_i(!QKZJzD4=BMJ(7|??x-XYuL(V zhWuV;$nRx_{9XoKf;rEOpBQjn4`e_KsP}9f0_yvFU6~=jm$As+rW%??d8_Q)71ua!&0BYE&thNtWihnt6L7S~8FQW(+<(01d LH2wkKwNm{bGvu6# From 2006161f63d1d6e4361f55506b85a2b6638dca52 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 27 Sep 2022 17:42:18 +0800 Subject: [PATCH 004/109] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/test/java/com/epmet/ThirdPlatformTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/test/java/com/epmet/ThirdPlatformTest.java b/epmet-module/epmet-third/epmet-third-server/src/main/test/java/com/epmet/ThirdPlatformTest.java index 02c064c0de..bdf6b6edff 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/test/java/com/epmet/ThirdPlatformTest.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/test/java/com/epmet/ThirdPlatformTest.java @@ -24,7 +24,7 @@ public class ThirdPlatformTest { @Test public void sendText(){ - DingTalkResult appAccessTokenToken = dingTalkClientToken.getAppAccessTokenToken(); + DingTalkResult appAccessTokenToken = dingTalkClientToken.getAppAccessTokenToken("123123123","234234234"); System.out.println("=======:"+JSON.toJSONString(appAccessTokenToken)); } } From 6f90dc4fa666505f945beec104e252a0fea123bc Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 29 Sep 2022 08:41:20 +0800 Subject: [PATCH 005/109] =?UTF-8?q?ding=E8=A1=A8=E7=9A=84=E4=B8=BB?= =?UTF-8?q?=E9=94=AE=E9=95=BF=E5=BA=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/db/migration/V0.0.14__add_ding_table.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.14__add_ding_table.sql b/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.14__add_ding_table.sql index 9d13ecb53c..8187e01d08 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.14__add_ding_table.sql +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.14__add_ding_table.sql @@ -33,7 +33,7 @@ INSERT INTO `epmet_third`.`ding_mini_info` (`ID`, `SUITE_ID`, `APP_ID`, `MINI_AP CREATE TABLE `open_sync_biz_data` ( - `ID` varchar(255) NOT NULL, + `ID` varchar(64) NOT NULL, `SUITE_KEY` varchar(255) DEFAULT NULL, `SUBSCRIBE_ID` varchar(255) NOT NULL COMMENT '第三方企业应用的suiteid加下划线0', `CORP_ID` varchar(255) NOT NULL COMMENT '第三方企业应用的corpid', @@ -48,4 +48,4 @@ CREATE TABLE `open_sync_biz_data` `UPDATED_BY` varchar(255) NOT NULL, PRIMARY KEY (`ID`) USING BTREE ) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4; \ No newline at end of file + DEFAULT CHARSET = utf8mb4; From 6200a48f6484497a8af6475600548cc52e2ed3a8 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 29 Sep 2022 15:14:43 +0800 Subject: [PATCH 006/109] pp --- .../controller/DingdingLoginController.java | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 epmet-auth/src/main/java/com/epmet/controller/DingdingLoginController.java diff --git a/epmet-auth/src/main/java/com/epmet/controller/DingdingLoginController.java b/epmet-auth/src/main/java/com/epmet/controller/DingdingLoginController.java new file mode 100644 index 0000000000..d09e80467c --- /dev/null +++ b/epmet-auth/src/main/java/com/epmet/controller/DingdingLoginController.java @@ -0,0 +1,78 @@ +package com.epmet.controller; + +import com.dingtalk.api.DefaultDingTalkClient; +import com.dingtalk.api.DingTalkClient; +import com.dingtalk.api.request.OapiGettokenRequest; +import com.dingtalk.api.request.OapiSnsGetuserinfoBycodeRequest; +import com.dingtalk.api.request.OapiUserGetbyunionidRequest; +import com.dingtalk.api.request.OapiV2UserGetRequest; +import com.dingtalk.api.response.OapiGettokenResponse; +import com.dingtalk.api.response.OapiSnsGetuserinfoBycodeResponse; +import com.dingtalk.api.response.OapiUserGetbyunionidResponse; +import com.dingtalk.api.response.OapiV2UserGetResponse; +import com.taobao.api.ApiException; +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.RestController; + +/** + * 免登第三方网站 + * + * @author openapi@dingtalk + */ +@RestController("dingtalk") +public class DingdingLoginController { + + /** + * 获取授权用户的个人信息 openapi@dingtalk + * + * @return + * @throws Exception ServiceResult> 2020-11-4 + */ + @RequestMapping(value = "/getUserInfo", method = RequestMethod.GET) + public String getDdScan(@RequestParam("code") String code) throws Exception { + // 获取access_token,注意正式代码要有异常流处理 + String access_token = this.getToken(); + + // 通过临时授权码获取授权用户的个人信息 + DefaultDingTalkClient client2 = new DefaultDingTalkClient("https://oapi.dingtalk.com/sns/getuserinfo_bycode"); + OapiSnsGetuserinfoBycodeRequest reqBycodeRequest = new OapiSnsGetuserinfoBycodeRequest(); + + reqBycodeRequest.setTmpAuthCode(code); + OapiSnsGetuserinfoBycodeResponse bycodeResponse = client2.execute(reqBycodeRequest, "yourAppId", "yourAppSecret"); + + // 根据unionid获取userid + String unionid = bycodeResponse.getUserInfo().getUnionid(); + DingTalkClient clientDingTalkClient = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/user/getbyunionid"); + OapiUserGetbyunionidRequest reqGetbyunionidRequest = new OapiUserGetbyunionidRequest(); + reqGetbyunionidRequest.setUnionid(unionid); + OapiUserGetbyunionidResponse oapiUserGetbyunionidResponse = clientDingTalkClient.execute(reqGetbyunionidRequest, access_token); + + // 根据userId获取用户信息 + String userid = oapiUserGetbyunionidResponse.getResult().getUserid(); + DingTalkClient clientDingTalkClient2 = new DefaultDingTalkClient( + "https://oapi.dingtalk.com/topapi/v2/user/get"); + OapiV2UserGetRequest reqGetRequest = new OapiV2UserGetRequest(); + reqGetRequest.setUserid(userid); + reqGetRequest.setLang("zh_CN"); + OapiV2UserGetResponse rspGetResponse = clientDingTalkClient2.execute(reqGetRequest, access_token); + System.out.println(rspGetResponse.getBody()); + return rspGetResponse.getBody(); + } + private String getToken() throws RuntimeException { + try { + DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken"); + OapiGettokenRequest request = new OapiGettokenRequest(); + + request.setAppkey("dingiopfbtn8mktfoaf0"); + request.setAppsecret("RcmHIoP5KFLZSM5wzpYhvCKMMKEzLoWPtqu3OqOEBD6myg4IT8oVw4AwvRkKYKJz"); + request.setHttpMethod("GET"); + OapiGettokenResponse response = client.execute(request); + return response.getAccessToken(); + } catch (ApiException e) { + throw new RuntimeException(); + } + + } +} From 1e13ca23b4e38555ebac4d42b6ac63b27e15264c Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 29 Sep 2022 15:37:08 +0800 Subject: [PATCH 007/109] pp2 --- .../src/main/test/java/com/epmet/ThirdPlatformTest.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/test/java/com/epmet/ThirdPlatformTest.java b/epmet-module/epmet-third/epmet-third-server/src/main/test/java/com/epmet/ThirdPlatformTest.java index 02c064c0de..bd5671a8cf 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/test/java/com/epmet/ThirdPlatformTest.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/test/java/com/epmet/ThirdPlatformTest.java @@ -1,7 +1,5 @@ package com.epmet; -import com.alibaba.fastjson.JSON; -import com.aliyun.dingtalk.module.DingTalkResult; import com.taobao.dingtalk.client.DingTalkClientToken; import lombok.extern.slf4j.Slf4j; import org.junit.Test; @@ -24,7 +22,7 @@ public class ThirdPlatformTest { @Test public void sendText(){ - DingTalkResult appAccessTokenToken = dingTalkClientToken.getAppAccessTokenToken(); - System.out.println("=======:"+JSON.toJSONString(appAccessTokenToken)); + /* DingTalkResult appAccessTokenToken = dingTalkClientToken.getAppAccessTokenToken(); + System.out.println("=======:"+JSON.toJSONString(appAccessTokenToken));*/ } } From c590dc0e7efaad606cbafb36de96170b2c386f08 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 29 Sep 2022 16:23:28 +0800 Subject: [PATCH 008/109] pp3 --- .../main/java/com/epmet/controller/DingdingLoginController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-auth/src/main/java/com/epmet/controller/DingdingLoginController.java b/epmet-auth/src/main/java/com/epmet/controller/DingdingLoginController.java index d09e80467c..50380e5cdf 100644 --- a/epmet-auth/src/main/java/com/epmet/controller/DingdingLoginController.java +++ b/epmet-auth/src/main/java/com/epmet/controller/DingdingLoginController.java @@ -55,7 +55,7 @@ public class DingdingLoginController { "https://oapi.dingtalk.com/topapi/v2/user/get"); OapiV2UserGetRequest reqGetRequest = new OapiV2UserGetRequest(); reqGetRequest.setUserid(userid); - reqGetRequest.setLang("zh_CN"); + //reqGetRequest.setLang("zh_CN"); OapiV2UserGetResponse rspGetResponse = clientDingTalkClient2.execute(reqGetRequest, access_token); System.out.println(rspGetResponse.getBody()); return rspGetResponse.getBody(); From 74d3a598c11b7d33a5bc749a04277c9712db69d0 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 29 Sep 2022 16:57:51 +0800 Subject: [PATCH 009/109] pp4 --- .../java/com/epmet/controller/DingdingLoginController.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/epmet-auth/src/main/java/com/epmet/controller/DingdingLoginController.java b/epmet-auth/src/main/java/com/epmet/controller/DingdingLoginController.java index 50380e5cdf..538060a391 100644 --- a/epmet-auth/src/main/java/com/epmet/controller/DingdingLoginController.java +++ b/epmet-auth/src/main/java/com/epmet/controller/DingdingLoginController.java @@ -10,6 +10,7 @@ import com.dingtalk.api.response.OapiGettokenResponse; import com.dingtalk.api.response.OapiSnsGetuserinfoBycodeResponse; import com.dingtalk.api.response.OapiUserGetbyunionidResponse; import com.dingtalk.api.response.OapiV2UserGetResponse; +import com.epmet.commons.tools.utils.Result; import com.taobao.api.ApiException; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -30,8 +31,8 @@ public class DingdingLoginController { * @return * @throws Exception ServiceResult> 2020-11-4 */ - @RequestMapping(value = "/getUserInfo", method = RequestMethod.GET) - public String getDdScan(@RequestParam("code") String code) throws Exception { + @RequestMapping(value = "/auth", method = RequestMethod.GET) + public Result getDdScan(@RequestParam("code") String code) throws Exception { // 获取access_token,注意正式代码要有异常流处理 String access_token = this.getToken(); @@ -58,7 +59,7 @@ public class DingdingLoginController { //reqGetRequest.setLang("zh_CN"); OapiV2UserGetResponse rspGetResponse = clientDingTalkClient2.execute(reqGetRequest, access_token); System.out.println(rspGetResponse.getBody()); - return rspGetResponse.getBody(); + return new Result().ok(rspGetResponse.getBody()); } private String getToken() throws RuntimeException { try { From b69ea120e5a191ab8dff67c34cc5faee99f51d30 Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Thu, 29 Sep 2022 17:36:32 +0800 Subject: [PATCH 010/109] =?UTF-8?q?=E6=96=B0=E5=86=A0=E7=97=85=E6=AF=92?= =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=E4=BA=BA=E5=91=98=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=8F=B0=E8=B4=A6----=E9=80=BB=E8=BE=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IcVaccinePrarmeterServiceImpl.java | 29 ++++++++----------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccinePrarmeterServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccinePrarmeterServiceImpl.java index 1f3e85df9e..e56c8d5a0a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccinePrarmeterServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccinePrarmeterServiceImpl.java @@ -324,23 +324,7 @@ public class IcVaccinePrarmeterServiceImpl extends BaseServiceImpl Date: Mon, 3 Oct 2022 09:50:19 +0800 Subject: [PATCH 011/109] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=8A=A0=E5=88=A0=E9=99=A4=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gov-project-server/src/main/resources/mapper/IcEventDao.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml index dd94828eb2..b0d42f5b0e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml @@ -57,6 +57,7 @@ e.CUSTOMER_ID = #{customerId} + AND e.DEL_FLAG = '0' and e.HAPPEN_TIME >= #{queryStartTime} and e.HAPPEN_TIME #{queryEndTime} From 7e86fdd11398e5937c553e227210dac28d20168d Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 3 Oct 2022 10:14:14 +0800 Subject: [PATCH 012/109] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E7=BB=99=E7=83=9F?= =?UTF-8?q?=E5=8F=B0=E4=BF=AE=E6=94=B9=E6=8C=87=E6=8C=A5=E8=B0=83=E5=BA=A6?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E5=AD=97=E7=9C=BC=EF=BC=8C=E7=9C=9F=E6=9C=8D?= =?UTF-8?q?=E4=BA=86nnd=E3=80=82=E3=80=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/enums/CoverageEnums.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoverageEnums.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoverageEnums.java index 02f5504d6a..35b60a3fb1 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoverageEnums.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoverageEnums.java @@ -6,10 +6,10 @@ package com.epmet.commons.tools.enums; public enum CoverageEnums { ZHZL("zhzl", "综合治理图层", 1), - YJCL("yjcl", "应急处置资源", 1), - AQSC("aqsc", "安全生产资源", 1), - CSGL("csgl", "城市管理资源", 1), - GGFW("ggfw", "公共服务资源", 1), + YJCL("yjcl", "应急处置图层", 1), + AQSC("aqsc", "安全生产图层", 1), + CSGL("csgl", "城市管理图层", 1), + GGFW("ggfw", "公共服务图层", 1), DATA_TYPE_GOVERNED_TARGET("governedTarget", "被管理对象", 2), DATA_TYPE_RESOURCES("resources", "资源", 2); From 67d0cecd3930f0b0c8f447c12bbdfc39304245ce Mon Sep 17 00:00:00 2001 From: jianjun Date: Sat, 8 Oct 2022 10:51:06 +0800 Subject: [PATCH 013/109] =?UTF-8?q?=E9=92=89=E9=92=89=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=AFweb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ThirdLoginController.java | 21 +++++++++++-- ...ormDTO.java => DingAppLoginMdFormDTO.java} | 2 +- .../java/com/epmet/service/GovWebService.java | 8 +++++ .../com/epmet/service/ThirdLoginService.java | 11 +++++-- .../epmet/service/impl/GovWebServiceImpl.java | 27 +++++++++++++++++ .../service/impl/ThirdLoginServiceImpl.java | 30 +++++++++++++++++-- 6 files changed, 91 insertions(+), 8 deletions(-) rename epmet-auth/src/main/java/com/epmet/dto/form/{ResiDingAppLoginMdFormDTO.java => DingAppLoginMdFormDTO.java} (90%) diff --git a/epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java b/epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java index 0bb11c468a..44ca89df30 100644 --- a/epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java +++ b/epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java @@ -9,7 +9,10 @@ import com.epmet.dto.result.UserTokenResultDTO; import com.epmet.service.ThirdLoginService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -174,7 +177,7 @@ public class ThirdLoginController { * @return */ @PostMapping("resilogin-ding-md") - public Result resiLoginDingMd(@RequestBody ResiDingAppLoginMdFormDTO formDTO) { + public Result resiLoginDingMd(@RequestBody DingAppLoginMdFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); return new Result().ok(thirdLoginService.resiLoginDingMd(formDTO)); } @@ -200,8 +203,20 @@ public class ThirdLoginController { * @return */ @PostMapping("resilogin-internalding") - public Result resiLoginInternalDing(@RequestBody ResiDingAppLoginMdFormDTO formDTO) { + public Result resiLoginInternalDing(@RequestBody DingAppLoginMdFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); return new Result().ok(thirdLoginService.resiLoginInternalDing(formDTO)); } + + /** + * 根据免登授权码, 获取登录用户身份 + * + * @param formDTO 免登授权码 + * @return + */ + @PostMapping("govlogin-internalding") + public Result login(@RequestBody DingAppLoginMdFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(thirdLoginService.govLoginInternalDing(formDTO)); + } } diff --git a/epmet-auth/src/main/java/com/epmet/dto/form/ResiDingAppLoginMdFormDTO.java b/epmet-auth/src/main/java/com/epmet/dto/form/DingAppLoginMdFormDTO.java similarity index 90% rename from epmet-auth/src/main/java/com/epmet/dto/form/ResiDingAppLoginMdFormDTO.java rename to epmet-auth/src/main/java/com/epmet/dto/form/DingAppLoginMdFormDTO.java index 0b3b9ae0f8..1a8840e949 100644 --- a/epmet-auth/src/main/java/com/epmet/dto/form/ResiDingAppLoginMdFormDTO.java +++ b/epmet-auth/src/main/java/com/epmet/dto/form/DingAppLoginMdFormDTO.java @@ -10,7 +10,7 @@ import javax.validation.constraints.NotBlank; * @Date 2022/9/22 10:42 */ @Data -public class ResiDingAppLoginMdFormDTO { +public class DingAppLoginMdFormDTO { @NotBlank(message = "authCode不能为空") private String authCode; /** diff --git a/epmet-auth/src/main/java/com/epmet/service/GovWebService.java b/epmet-auth/src/main/java/com/epmet/service/GovWebService.java index 10d86c20b4..6bee4b24b3 100644 --- a/epmet-auth/src/main/java/com/epmet/service/GovWebService.java +++ b/epmet-auth/src/main/java/com/epmet/service/GovWebService.java @@ -18,6 +18,14 @@ public interface GovWebService { **/ UserTokenResultDTO login(GovWebLoginFormDTO formDTO); + /** + * @param formDTO + * @return + * @Author sun + * @Description PC工作端-工作人员 通过第三方系统登录 + **/ + UserTokenResultDTO loginByThirdPlatform(GovWebLoginFormDTO formDTO); + /** * 区块链系统通过用户密码认证身份 * @param mobile diff --git a/epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java b/epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java index 70bcc92338..dff5e129e5 100644 --- a/epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java +++ b/epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java @@ -102,12 +102,19 @@ public interface ThirdLoginService { * @param formDTO * @return */ - ResiDingAppLoginResDTO resiLoginDingMd(ResiDingAppLoginMdFormDTO formDTO); + ResiDingAppLoginResDTO resiLoginDingMd(DingAppLoginMdFormDTO formDTO); /** * 企业内部应用免登 文档地址:https://open.dingtalk.com/document/orgapp-server/enterprise-internal-application-logon-free * @param formDTO * @return */ - ResiDingAppLoginResDTO resiLoginInternalDing(ResiDingAppLoginMdFormDTO formDTO); + ResiDingAppLoginResDTO resiLoginInternalDing(DingAppLoginMdFormDTO formDTO); + + /** + * desc:企业内部应用 工作端登录 + * @param formDTO + * @return + */ + UserTokenResultDTO govLoginInternalDing(DingAppLoginMdFormDTO formDTO); } diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/GovWebServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/GovWebServiceImpl.java index eab142e6a5..92e1de27a5 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/GovWebServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/GovWebServiceImpl.java @@ -100,6 +100,33 @@ public class GovWebServiceImpl implements GovWebService, ResultDataResolver { } + @Override + public UserTokenResultDTO loginByThirdPlatform(GovWebLoginFormDTO formDTO) { + formDTO.setApp(LoginConstant.APP_GOV); + formDTO.setClient(LoginConstant.CLIENT_WEB); +// //1.参数校验 +// if (!(LoginConstant.APP_GOV.equals(formDTO.getApp()) && LoginConstant.CLIENT_WEB.equals(formDTO.getClient()))) { +// logger.error("当前接口只适用于PC工作端运营管理后台"); +// throw new RenException("当前接口只适用于PC工作端运营管理后台"); +// } + //3.校验登陆账号是否存在 + //根据客户Id和手机号查询登陆用户信息(此处不需要判断登陆人是否是有效客户以及是否是客户的根管理员,前一接口获取登陆手机号对应客户列表已经判断了) + GovWebOperLoginFormDTO form = new GovWebOperLoginFormDTO(); + form.setCustomerId(formDTO.getCustomerId()); + form.setMobile(formDTO.getPhone()); + Result result = epmetUserFeignClient.getStaffIdAndPwd(form); + if (!result.success() || null == result.getData() || null == result.getData().getUserId()) { + logger.warn("根据手机号查询PC工作端登陆人员信息失败,返回10003账号不存在"); + throw new RenException(EpmetErrorCode.ERR10003.getCode()); + } + GovWebOperLoginResultDTO resultDTO = result.getData(); + + //5.生成token存到redis并返回 + UserTokenResultDTO userTokenResultDTO = new UserTokenResultDTO(); + userTokenResultDTO.setToken(this.packagingUserToken(formDTO, resultDTO.getUserId())); + return userTokenResultDTO; + } + /** * 生成PC工作端token * @author sun diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java index 91812aaeda..cd3b36a5ee 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java @@ -34,11 +34,13 @@ import com.epmet.dto.dingres.V2UserGetuserinfoResDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.jwt.JwtTokenProperties; import com.epmet.jwt.JwtTokenUtils; import com.epmet.redis.CaptchaRedis; +import com.epmet.service.GovWebService; import com.epmet.service.ThirdLoginService; import com.taobao.api.ApiException; import com.taobao.dingtalk.client.DingTalkClientToken; @@ -90,6 +92,10 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol private DingTalkClientToken dingTalkClientToken; @Autowired private DingTalkClientUser dingTalkClientUser; + @Autowired + private EpmetUserFeignClient epmetUserFeignClient; + @Autowired + private GovWebService govWebService; /** * @param formDTO @@ -920,7 +926,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol } @Override - public ResiDingAppLoginResDTO resiLoginDingMd(ResiDingAppLoginMdFormDTO formDTO) { + public ResiDingAppLoginResDTO resiLoginDingMd(DingAppLoginMdFormDTO formDTO) { // 获取用户手机号 log.info("1、钉钉居民端应用登录入参:" + JSON.toJSONString(formDTO)); ResiDingAppLoginResDTO resDTO = null; @@ -1020,7 +1026,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol * @return */ @Override - public ResiDingAppLoginResDTO resiLoginInternalDing(ResiDingAppLoginMdFormDTO formDTO) { + public ResiDingAppLoginResDTO resiLoginInternalDing(DingAppLoginMdFormDTO formDTO) { // 获取用户手机号 log.info("1、钉钉居民端应用登录入参:" + JSON.toJSONString(formDTO)); ResiDingAppLoginResDTO resDTO = null; @@ -1052,6 +1058,26 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol return resDTO; } + @Override + public UserTokenResultDTO govLoginInternalDing(DingAppLoginMdFormDTO formDTO) { + // 获取用户手机号 + log.info("1、钉钉居民端应用登录入参:" + JSON.toJSONString(formDTO)); + ResiDingAppLoginResDTO resDTO = null; + resDTO = new ResiDingAppLoginResDTO(); + resDTO.setCustomerId(getCurrentCustomerId()); + + // 1、获取用户手机号 + DingLoginResiFormDTO dingLoginResiFormDTO = getDingLoginResiFormDTOInternal(formDTO.getMiniAppId(), formDTO.getAuthCode()); + dingLoginResiFormDTO.setCustomerId(resDTO.getCustomerId()); + + + GovWebLoginFormDTO loginGovParam = new GovWebLoginFormDTO(); + loginGovParam.setCustomerId(dingLoginResiFormDTO.getCustomerId()); + loginGovParam.setPhone(dingLoginResiFormDTO.getMobile()); + + return govWebService.loginByThirdPlatform(loginGovParam); + } + /** * 最原始的企业内部应用开发,不授权给产品服务商 * @param miniAppId From c85690b38ae775c868e439d86026704b8ccd44ad Mon Sep 17 00:00:00 2001 From: jianjun Date: Sat, 8 Oct 2022 14:44:37 +0800 Subject: [PATCH 014/109] =?UTF-8?q?=E9=92=89=E9=92=89=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=AFweb2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/ThirdLoginServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java index cd3b36a5ee..e1ab790e0f 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java @@ -1086,12 +1086,14 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol */ private DingLoginResiFormDTO getDingLoginResiFormDTOInternal(String miniAppId, String authCode) { DingMiniInfoCache dingMiniInfo = CustomerDingDingRedis.getDingMiniInfo(miniAppId); - + if (dingMiniInfo == null){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取钉钉应用配置异常", "获取钉钉应用配置异常"); + } // 1、获取企业内部应用的accessToken文档地址:https://open.dingtalk.com/document/orgapp-server/obtain-the-access_token-of-an-internal-app String accessToken = ""; DingTalkResult dingTalkResult = dingTalkClientToken.getAppAccessTokenToken(dingMiniInfo.getSuiteKey(), dingMiniInfo.getSuiteSecret()); if (!dingTalkResult.success() || StringUtils.isBlank(dingTalkResult.getData())) { - log.error(String.format("获取企业内部应用的accessToken失败,customKey:%s,customSecret:%s", dingMiniInfo.getSuiteSecret(), dingMiniInfo.getSuiteSecret())); + log.error(String.format("获取企业内部应用的accessToken失败,customKey:%s,customSecret:%s", dingMiniInfo.getSuiteKey(), dingMiniInfo.getSuiteSecret())); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取企业内部应用的accessToken异常", "获取企业内部应用的accessToken"); } accessToken = dingTalkResult.getData(); From e15ded2585eb8ad298dc81b031327f21eace8b6c Mon Sep 17 00:00:00 2001 From: jianjun Date: Sat, 8 Oct 2022 16:26:18 +0800 Subject: [PATCH 015/109] =?UTF-8?q?=E8=BF=90=E8=90=A5=E7=AB=AF=E7=BB=B4?= =?UTF-8?q?=E6=8A=A4=20miniapp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DingMiniInfoController.java | 71 ++++++++++++++++ .../java/com/epmet/dao/DingMiniInfoDao.java | 16 ++++ .../com/epmet/entity/DingMiniInfoEntity.java | 51 ++++++++++++ .../epmet/service/DingMiniInfoService.java | 78 ++++++++++++++++++ .../service/impl/DingMiniInfoServiceImpl.java | 82 +++++++++++++++++++ .../main/resources/mapper/DingMiniInfoDao.xml | 23 ++++++ 6 files changed, 321 insertions(+) create mode 100644 epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/DingMiniInfoController.java create mode 100644 epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/DingMiniInfoDao.java create mode 100644 epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/DingMiniInfoEntity.java create mode 100644 epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DingMiniInfoService.java create mode 100644 epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DingMiniInfoServiceImpl.java create mode 100644 epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/DingMiniInfoDao.xml diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/DingMiniInfoController.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/DingMiniInfoController.java new file mode 100644 index 0000000000..be5a853dab --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/DingMiniInfoController.java @@ -0,0 +1,71 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.dto.DingMiniInfoDTO; +import com.epmet.service.DingMiniInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 钉钉小程序信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-09-14 + */ +@RestController +@RequestMapping("dingMiniInfo") +public class DingMiniInfoController { + + @Autowired + private DingMiniInfoService dingMiniInfoService; + + @RequestMapping("page") + public Result> page(@RequestBody Map params){ + PageData page = dingMiniInfoService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + DingMiniInfoDTO data = dingMiniInfoService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody DingMiniInfoDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + dingMiniInfoService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody DingMiniInfoDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + dingMiniInfoService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + dingMiniInfoService.delete(ids); + return new Result(); + } + + +} diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/DingMiniInfoDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/DingMiniInfoDao.java new file mode 100644 index 0000000000..3e3d84793b --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/DingMiniInfoDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.DingMiniInfoEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 钉钉小程序信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-09-14 + */ +@Mapper +public interface DingMiniInfoDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/DingMiniInfoEntity.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/DingMiniInfoEntity.java new file mode 100644 index 0000000000..f649cef4a1 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/DingMiniInfoEntity.java @@ -0,0 +1,51 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 钉钉小程序信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-09-14 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ding_mini_info") +public class DingMiniInfoEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String suiteId; + + /** + * + */ + private String appId; + + /** + * + */ + private String miniAppId; + + /** + * + */ + private String suiteName; + + /** + * + */ + private String suiteKey; + + /** + * + */ + private String suiteSecret; + +} diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DingMiniInfoService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DingMiniInfoService.java new file mode 100644 index 0000000000..a57b3b3cfa --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DingMiniInfoService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.DingMiniInfoDTO; +import com.epmet.entity.DingMiniInfoEntity; + +import java.util.List; +import java.util.Map; + +/** + * 钉钉小程序信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-09-14 + */ +public interface DingMiniInfoService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-09-14 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-09-14 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return DingMiniInfoDTO + * @author generator + * @date 2022-09-14 + */ + DingMiniInfoDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-09-14 + */ + void save(DingMiniInfoDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-09-14 + */ + void update(DingMiniInfoDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-09-14 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DingMiniInfoServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DingMiniInfoServiceImpl.java new file mode 100644 index 0000000000..7e8579d139 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DingMiniInfoServiceImpl.java @@ -0,0 +1,82 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.DingMiniInfoDao; +import com.epmet.dto.DingMiniInfoDTO; +import com.epmet.entity.DingMiniInfoEntity; +import com.epmet.service.DingMiniInfoService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 钉钉小程序信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-09-14 + */ +@Service +public class DingMiniInfoServiceImpl extends BaseServiceImpl implements DingMiniInfoService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, DingMiniInfoDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, DingMiniInfoDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public DingMiniInfoDTO get(String id) { + DingMiniInfoEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, DingMiniInfoDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(DingMiniInfoDTO dto) { + DingMiniInfoEntity entity = ConvertUtils.sourceToTarget(dto, DingMiniInfoEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(DingMiniInfoDTO dto) { + DingMiniInfoEntity entity = ConvertUtils.sourceToTarget(dto, DingMiniInfoEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/DingMiniInfoDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/DingMiniInfoDao.xml new file mode 100644 index 0000000000..e812ece013 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/DingMiniInfoDao.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From ed516f482e4c3e808c006c1fc5ede57c32e739df Mon Sep 17 00:00:00 2001 From: jianjun Date: Sun, 9 Oct 2022 10:00:45 +0800 Subject: [PATCH 016/109] =?UTF-8?q?=E8=BF=90=E8=90=A5=E7=AB=AF=E7=BB=B4?= =?UTF-8?q?=E6=8A=A4=20miniapp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/controller/DingMiniInfoController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/DingMiniInfoController.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/DingMiniInfoController.java index be5a853dab..ada1f1d0ff 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/DingMiniInfoController.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/DingMiniInfoController.java @@ -30,7 +30,7 @@ public class DingMiniInfoController { private DingMiniInfoService dingMiniInfoService; @RequestMapping("page") - public Result> page(@RequestBody Map params){ + public Result> page(@RequestParam Map params){ PageData page = dingMiniInfoService.page(params); return new Result>().ok(page); } From db7ae95b0180b18d731f6cff8588c140ec7e3ae7 Mon Sep 17 00:00:00 2001 From: jianjun Date: Sun, 9 Oct 2022 10:42:19 +0800 Subject: [PATCH 017/109] =?UTF-8?q?=E8=BF=90=E8=90=A5=E7=AB=AF=E7=BB=B4?= =?UTF-8?q?=E6=8A=A4=20miniapp3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/entity/DingMiniInfoEntity.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/DingMiniInfoEntity.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/DingMiniInfoEntity.java index f649cef4a1..e2be67a8a4 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/DingMiniInfoEntity.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/DingMiniInfoEntity.java @@ -48,4 +48,8 @@ public class DingMiniInfoEntity extends BaseEpmetEntity { */ private String suiteSecret; + private String token; + + private String aesKey; + } From d3ad20f18e50550ac22f8a576904f938239d9b8d Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Sun, 9 Oct 2022 17:34:56 +0800 Subject: [PATCH 018/109] =?UTF-8?q?=E5=BD=A2=E6=88=90=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/IcTripReportRecordDao.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml index 15a413748b..83fc7aa431 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml @@ -65,8 +65,7 @@ update ic_trip_report_record set del_flag='1',UPDATED_BY=#{userId},UPDATED_TIME=NOW() - WHERE USER_TYPE !='resi' - AND AGENCY_ID=#{agencyId} + WHERE AGENCY_ID=#{agencyId} AND ( id=#{id} From fc468a71f9fb987c903b5ab2120ff9440c01812c Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Sun, 9 Oct 2022 17:50:55 +0800 Subject: [PATCH 019/109] =?UTF-8?q?=E6=88=91=E4=B8=8D=E4=BF=A1=E4=BA=86?= =?UTF-8?q?=EF=BC=8C=E6=8F=90=E7=A4=BA=E4=B8=80=E4=B8=8B=E7=9C=8B=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/IcTripReportRecordServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index 97f5ed43e0..8b178718e3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -263,7 +263,10 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl Date: Mon, 10 Oct 2022 10:39:34 +0800 Subject: [PATCH 020/109] =?UTF-8?q?-=E4=BF=AE=E6=94=B9=EF=BC=9A=E5=8F=AF?= =?UTF-8?q?=E8=A7=86=E5=8C=96-=E4=BA=BA=E6=88=BF=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=EF=BC=9A=E5=A2=9E=E5=8A=A0=E8=BE=83=E4=B8=8A?= =?UTF-8?q?=E6=9C=88=E7=9A=84=E5=AD=97=E6=AE=B5=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constant/DataSourceConstant.java | 1 + .../stats/UserHouseStatsQueryFormDTO.java | 23 ++++ .../feign/DataReportOpenFeignClient.java | 12 ++ .../DataReportOpenFeignClientFallBack.java | 7 ++ .../epmet/stats/UserHouseStatsResultDTO.java | 18 +++ .../controller/stats/UserHouseController.java | 37 ++++++ .../stats/FactAgencyUserHouseDailyDao.java | 17 +++ .../dao/stats/FactGridUserHouseDailyDao.java | 17 +++ .../stats/FactAgencyUserHouseDailyEntity.java | 115 ++++++++++++++++++ .../stats/FactGridUserHouseDailyEntity.java | 106 ++++++++++++++++ .../service/stats/UserHouseStatsService.java | 19 +++ .../stats/impl/UserHouseStatsServiceImpl.java | 87 +++++++++++++ .../stats/FactAgencyUserHouseDailyDao.xml | 33 +++++ .../stats/FactGridUserHouseDailyDao.xml | 32 +++++ .../epmet/dto/result/HouseChartResultDTO.java | 20 +++ .../epmet/service/impl/HouseServiceImpl.java | 23 +++- 16 files changed, 563 insertions(+), 4 deletions(-) create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/stats/UserHouseStatsQueryFormDTO.java create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/stats/UserHouseStatsResultDTO.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/stats/UserHouseController.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactAgencyUserHouseDailyDao.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactGridUserHouseDailyDao.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactAgencyUserHouseDailyEntity.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactGridUserHouseDailyEntity.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/UserHouseStatsService.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/impl/UserHouseStatsServiceImpl.java create mode 100644 epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml create mode 100644 epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/constant/DataSourceConstant.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/constant/DataSourceConstant.java index d1e438d81a..d73da4247f 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/constant/DataSourceConstant.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/constant/DataSourceConstant.java @@ -7,5 +7,6 @@ public interface DataSourceConstant { */ String EVALUATION_INDEX = "evaluationIndex"; String STATS_DISPLAY = "statsDisplay"; + String STATS = "stats"; } diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/stats/UserHouseStatsQueryFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/stats/UserHouseStatsQueryFormDTO.java new file mode 100644 index 0000000000..ca6ea589fb --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/stats/UserHouseStatsQueryFormDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.form.stats; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotBlank; + +/** + * 人房信息查询dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UserHouseStatsQueryFormDTO { + + private String orgId; + private String orgType; + + @NotBlank(message = "dateId不能为空") + private String dateId; + +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/DataReportOpenFeignClient.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/DataReportOpenFeignClient.java index 862013f1a6..97771d20f0 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/DataReportOpenFeignClient.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/DataReportOpenFeignClient.java @@ -2,11 +2,15 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.stats.UserHouseStatsQueryFormDTO; import com.epmet.dto.result.plugins.AgencyNodeDTO; import com.epmet.feign.impl.DataReportOpenFeignClientFallBackFactory; +import com.epmet.stats.UserHouseStatsResultDTO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -24,4 +28,12 @@ public interface DataReportOpenFeignClient { **/ @GetMapping("/data/report/screen/agency/querystaffagencytree/{agencyId}") Result queryStaffAgencyTree(@PathVariable("agencyId") String agencyId); + + /** + * 通过dateId查询人房统计信息 + * @param input 3个参数,就不用dto了,类太多: + * @return + */ + @PostMapping("/data/report/userHouse/getUserHouseDailyStatsByDateId") + Result getUserHouseDailyStatsByDateId(@RequestBody UserHouseStatsQueryFormDTO input); } diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/impl/DataReportOpenFeignClientFallBack.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/impl/DataReportOpenFeignClientFallBack.java index 247fe4499b..efc784a8b3 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/impl/DataReportOpenFeignClientFallBack.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/impl/DataReportOpenFeignClientFallBack.java @@ -3,8 +3,10 @@ package com.epmet.feign.impl; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.stats.UserHouseStatsQueryFormDTO; import com.epmet.dto.result.plugins.AgencyNodeDTO; import com.epmet.feign.DataReportOpenFeignClient; +import com.epmet.stats.UserHouseStatsResultDTO; //@Component public class DataReportOpenFeignClientFallBack implements DataReportOpenFeignClient { @@ -17,4 +19,9 @@ public class DataReportOpenFeignClientFallBack implements DataReportOpenFeignCli public Result queryStaffAgencyTree(String agencyId) { return ModuleUtils.feignConError(ServiceConstant.DATA_REPORT_SERVER, "queryStaffAgencyTree",agencyId); } + + @Override + public Result getUserHouseDailyStatsByDateId(UserHouseStatsQueryFormDTO input) { + return ModuleUtils.feignConError(ServiceConstant.DATA_REPORT_SERVER, "getUserHouseDailyStatsByDateId",input); + } } diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/stats/UserHouseStatsResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/stats/UserHouseStatsResultDTO.java new file mode 100644 index 0000000000..654bfed4cf --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/stats/UserHouseStatsResultDTO.java @@ -0,0 +1,18 @@ +package com.epmet.stats; + +import lombok.Data; + +/** + * 人房信息统计 + */ +@Data +public class UserHouseStatsResultDTO { + private Integer houseTotal = 0; + private Integer zzHouseTotal = 0; + private Integer czHouseTotal = 0; + private Integer xzHouseTotal = 0; + private Integer userTotal = 0; + private Integer czUserTotal = 0; + private Integer ldUserTotal = 0; + private Integer usingCommunityNum = 0; +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/stats/UserHouseController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/stats/UserHouseController.java new file mode 100644 index 0000000000..9556299271 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/stats/UserHouseController.java @@ -0,0 +1,37 @@ +package com.epmet.datareport.controller.stats; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.datareport.service.stats.UserHouseStatsService; +import com.epmet.dto.form.stats.UserHouseStatsQueryFormDTO; +import com.epmet.stats.UserHouseStatsResultDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("userHouse") +public class UserHouseController { + + @Autowired + private UserHouseStatsService userHouseStatsService; + + /** + * 通过dateId查询人房统计信息 + * @param input + * @return + */ + @PostMapping("getUserHouseDailyStatsByDateId") + public Result getUserHouseDailyStatsByDateId(@RequestBody UserHouseStatsQueryFormDTO input) { + ValidatorUtils.validateEntity(input); + String orgId = input.getOrgId(); + String orgType = input.getOrgType(); + String dateId = input.getDateId(); + + UserHouseStatsResultDTO r = userHouseStatsService.getUserHouseDailyStats(orgId, orgType, dateId); + return new Result().ok(r); + } + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactAgencyUserHouseDailyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactAgencyUserHouseDailyDao.java new file mode 100644 index 0000000000..bb2c98b36c --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactAgencyUserHouseDailyDao.java @@ -0,0 +1,17 @@ +package com.epmet.datareport.dao.stats; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.datareport.entity.stats.FactAgencyUserHouseDailyEntity; +import org.apache.ibatis.annotations.Mapper; + + +/** + * 人房信息统计数,按天统计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-27 + */ +@Mapper +public interface FactAgencyUserHouseDailyDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactGridUserHouseDailyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactGridUserHouseDailyDao.java new file mode 100644 index 0000000000..da22c4a27b --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactGridUserHouseDailyDao.java @@ -0,0 +1,17 @@ +package com.epmet.datareport.dao.stats; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.datareport.entity.stats.FactGridUserHouseDailyEntity; +import org.apache.ibatis.annotations.Mapper; + + +/** + * 网格的人房信息统计数,按天统计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-27 + */ +@Mapper +public interface FactGridUserHouseDailyDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactAgencyUserHouseDailyEntity.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactAgencyUserHouseDailyEntity.java new file mode 100644 index 0000000000..8bae60daeb --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactAgencyUserHouseDailyEntity.java @@ -0,0 +1,115 @@ +package com.epmet.datareport.entity.stats; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 人房信息统计数,按天统计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-27 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("fact_agency_user_house_daily") +public class FactAgencyUserHouseDailyEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 数据更新至:yyyyMMdd; + */ + private String dateId; + + /** + * 组织id + */ + private String agencyId; + + /** + * agency_id所属的机关级别(社区级:community, +乡(镇、街道)级:street, +区县级: district, +市级: city +省级:province) + */ + private String level; + + /** + * 组织i所属的组织id + */ + private String pid; + + /** + * 组织i所有上级id + */ + private String pids; + + /** + * 小区总数 + */ + private Integer neighbourhoodsCount; + + /** + * 房屋总数 + */ + private Integer houseCount; + + /** + * 自住房屋总数 + */ + private Integer houseSelfCount; + + /** + * 出租房屋总数 + */ + private Integer houseLeaseCount; + + /** + * 闲置房屋总数 + */ + private Integer houseIdleCount; + + /** + * 居民总数 + */ + private Integer userCount; + + /** + * 常住居民总数 + */ + private Integer userResiCount; + + /** + * 流动居民总数 + */ + private Integer userFloatCount; + + /** + * 当日新增房屋数 + */ + private Integer houseIncr; + + /** + * 当日修改房屋数 + */ + private Integer houseModify; + + /** + * 当日新增居民数 + */ + private Integer userIncr; + + /** + * 当日修改居民数 + */ + private Integer userModify; + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactGridUserHouseDailyEntity.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactGridUserHouseDailyEntity.java new file mode 100644 index 0000000000..f2aded5df4 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactGridUserHouseDailyEntity.java @@ -0,0 +1,106 @@ +package com.epmet.datareport.entity.stats; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 网格的人房信息统计数,按天统计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-27 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("fact_grid_user_house_daily") +public class FactGridUserHouseDailyEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 数据更新至:yyyyMMdd; + */ + private String dateId; + + /** + * 网格id + */ + private String gridId; + + /** + * 网格所属的组织id + */ + private String pid; + + /** + * 网格所有上级id + */ + private String pids; + + /** + * 小区总数 + */ + private Integer neighbourhoodsCount; + + /** + * 房屋总数 + */ + private Integer houseCount; + + /** + * 自住房屋总数 + */ + private Integer houseSelfCount; + + /** + * 出租房屋总数 + */ + private Integer houseLeaseCount; + + /** + * 闲置房屋总数 + */ + private Integer houseIdleCount; + + /** + * 居民总数 + */ + private Integer userCount; + + /** + * 常住居民总数 + */ + private Integer userResiCount; + + /** + * 流动居民总数 + */ + private Integer userFloatCount; + + /** + * 当日新增房屋数 + */ + private Integer houseIncr; + + /** + * 当日修改房屋数 + */ + private Integer houseModify; + + /** + * 当日新增居民数 + */ + private Integer userIncr; + + /** + * 当日修改居民数 + */ + private Integer userModify; + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/UserHouseStatsService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/UserHouseStatsService.java new file mode 100644 index 0000000000..c898ed5ced --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/UserHouseStatsService.java @@ -0,0 +1,19 @@ +package com.epmet.datareport.service.stats; + +import com.epmet.stats.UserHouseStatsResultDTO; +import lombok.extern.slf4j.Slf4j; + +/** + * 人房统计service + */ +public interface UserHouseStatsService { + + /** + * 查询指定dateId的人房统计信息 + * @param orgId + * @param orgType + * @param dateId + * @return + */ + UserHouseStatsResultDTO getUserHouseDailyStats(String orgId, String orgType, String dateId); +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/impl/UserHouseStatsServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/impl/UserHouseStatsServiceImpl.java new file mode 100644 index 0000000000..e03c81ac8a --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/impl/UserHouseStatsServiceImpl.java @@ -0,0 +1,87 @@ +package com.epmet.datareport.service.stats.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.constant.DataSourceConstant; +import com.epmet.datareport.dao.stats.FactAgencyUserHouseDailyDao; +import com.epmet.datareport.dao.stats.FactGridUserHouseDailyDao; +import com.epmet.datareport.entity.stats.FactAgencyUserHouseDailyEntity; +import com.epmet.datareport.entity.stats.FactGridUserHouseDailyEntity; +import com.epmet.datareport.service.stats.UserHouseStatsService; +import com.epmet.stats.UserHouseStatsResultDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Slf4j +@Service +@DataSource(DataSourceConstant.STATS) +public class UserHouseStatsServiceImpl implements UserHouseStatsService { + + @Autowired + private FactGridUserHouseDailyDao factGridUserHouseDailyDao; + + @Autowired + private FactAgencyUserHouseDailyDao factAgencyUserHouseDailyDao; + + @Override + public UserHouseStatsResultDTO getUserHouseDailyStats(String orgId, String orgType, String dateId) { + // 没有传参,使用当前登录人的 + if (StringUtils.isEmpty(orgId) || StringUtils.isEmpty(orgType)) { + String userId = EpmetRequestHolder.getLoginUserId(); + String customerId = EpmetRequestHolder.getLoginUserCustomerId(); + + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败:%s", userId)); + } + + orgId = staffInfo.getAgencyId(); + orgType = "agency"; + } + + // 结果对象初始化 + UserHouseStatsResultDTO result = new UserHouseStatsResultDTO(); + + if ("agency".equals(orgType)) { + // 查询的目标是组织 + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(FactAgencyUserHouseDailyEntity::getDateId, dateId); + query.eq(FactAgencyUserHouseDailyEntity::getAgencyId, orgId); + FactAgencyUserHouseDailyEntity agencyDailyStats = factAgencyUserHouseDailyDao.selectOne(query); + if (agencyDailyStats != null) { + result.setHouseTotal(agencyDailyStats.getHouseCount()); + result.setCzHouseTotal(agencyDailyStats.getHouseLeaseCount()); + result.setXzHouseTotal(agencyDailyStats.getHouseIdleCount()); + result.setZzHouseTotal(agencyDailyStats.getHouseSelfCount()); + result.setUserTotal(agencyDailyStats.getUserCount()); + result.setCzUserTotal(agencyDailyStats.getUserResiCount()); + result.setLdUserTotal(agencyDailyStats.getUserFloatCount()); + } + } else { + // 查询的目标是网格 + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(FactGridUserHouseDailyEntity::getDateId, dateId); + query.eq(FactGridUserHouseDailyEntity::getGridId, orgId); + FactGridUserHouseDailyEntity gridDailyStats = factGridUserHouseDailyDao.selectOne(query); + if (gridDailyStats != null) { + result.setHouseTotal(gridDailyStats.getHouseCount()); + result.setCzHouseTotal(gridDailyStats.getHouseLeaseCount()); + result.setXzHouseTotal(gridDailyStats.getHouseIdleCount()); + result.setZzHouseTotal(gridDailyStats.getHouseSelfCount()); + result.setUserTotal(gridDailyStats.getUserCount()); + result.setCzUserTotal(gridDailyStats.getUserResiCount()); + result.setLdUserTotal(gridDailyStats.getUserFloatCount()); + } + } + + return result; + } +} diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml new file mode 100644 index 0000000000..8168105c8b --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml new file mode 100644 index 0000000000..37ae699771 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChartResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChartResultDTO.java index 61bee2a9cc..eb7ee86152 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChartResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChartResultDTO.java @@ -56,6 +56,26 @@ public class HouseChartResultDTO implements Serializable { */ private Double wscHouseRatio = 0.0; + /** + * 房屋总数-较上月 + */ + private Integer houseTotalJSY; + + /** + * 自住房屋树-较上月 + */ + private Integer zzHouseTotalJSY; + + /** + * 出租房屋总数-较上月 + */ + private Integer czHouseTotalJSY; + + /** + * 闲置房屋总数-较上月 + */ + private Integer xzHouseTotalJSY; + @JsonIgnore private Integer num; //1:出租 0:自住 2:闲置 3:未出售 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index de8806a781..d5daa597e8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -8,6 +8,7 @@ import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.enums.HouseQrcodeEnum; @@ -34,17 +35,16 @@ import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.*; import com.epmet.dto.*; import com.epmet.dto.form.*; +import com.epmet.dto.form.stats.UserHouseStatsQueryFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.*; import com.epmet.enums.*; -import com.epmet.feign.EpmetAdminOpenFeignClient; -import com.epmet.feign.EpmetCommonServiceOpenFeignClient; -import com.epmet.feign.EpmetUserOpenFeignClient; -import com.epmet.feign.OssFeignClient; +import com.epmet.feign.*; import com.epmet.model.HouseInfoModel; import com.epmet.model.ImportHouseInfoListener; import com.epmet.redis.IcHouseRedis; import com.epmet.service.*; +import com.epmet.stats.UserHouseStatsResultDTO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.google.common.cache.Cache; @@ -68,6 +68,7 @@ import java.awt.image.BufferedImage; import java.io.*; import java.net.URLEncoder; import java.text.NumberFormat; +import java.time.LocalDate; import java.util.*; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; @@ -132,6 +133,9 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { @Autowired private IcBuildingUnitDao icBuildingUnitDao; + @Autowired + private DataReportOpenFeignClient dataReportOpenFeignClient; + @Override @Transactional(rollbackFor = Exception.class) @@ -716,6 +720,17 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { resultDTO.setWscHouseRatio(Double.valueOf((resultDTO.getHouseTotal() == 0 || resultDTO.getWscHouseTotal() > resultDTO.getHouseTotal()) ? "0" : numberFormat.format(((float) resultDTO.getWscHouseTotal() / (float) resultDTO.getHouseTotal()) * 100))); resultDTO.setOrgId(formDTO.getOrgId()); resultDTO.setOrgType(formDTO.getOrgType()); + + // 加载上个月,该组织的人房统计信息,并且计算较上月信息 + Date lastDayOfLastMonth = DateUtils.getLastDayOfMonth(DateUtils.addDateMonths(new Date(), -1)); + UserHouseStatsQueryFormDTO form = new UserHouseStatsQueryFormDTO(formDTO.getOrgId(), formDTO.getOrgType(), DateUtils.format(lastDayOfLastMonth, "yyyyMMdd")); + UserHouseStatsResultDTO lastMonthUserHouseStats = getResultDataOrThrowsException(dataReportOpenFeignClient.getUserHouseDailyStatsByDateId(form), ServiceConstant.DATA_REPORT_SERVER, + EpmetErrorCode.SERVER_ERROR.getCode(), null, null); + + resultDTO.setHouseTotalJSY(resultDTO.getHouseTotal() - lastMonthUserHouseStats.getHouseTotal()); + resultDTO.setCzHouseTotalJSY(resultDTO.getCzHouseTotal() - lastMonthUserHouseStats.getCzHouseTotal()); + resultDTO.setXzHouseTotalJSY(resultDTO.getXzHouseTotal() - lastMonthUserHouseStats.getXzHouseTotal()); + resultDTO.setZzHouseTotalJSY(resultDTO.getZzHouseTotal() - lastMonthUserHouseStats.getZzHouseTotal()); return resultDTO; } From a7ccac3dc23022cef0976205294f3f19233f0b21 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 10 Oct 2022 11:17:52 +0800 Subject: [PATCH 021/109] =?UTF-8?q?-=E4=BF=AE=E6=94=B9=EF=BC=9A=E5=8F=AF?= =?UTF-8?q?=E8=A7=86=E5=8C=96-=E4=BA=BA=E6=88=BF=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=EF=BC=9A=E5=A2=9E=E5=8A=A0=E8=BE=83=E4=B8=8A?= =?UTF-8?q?=E6=9C=88=E7=9A=84=E5=AD=97=E6=AE=B5=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/result/UserChartResultDTO.java | 13 +++++++++++++ .../epmet/service/impl/IcResiUserServiceImpl.java | 15 +++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java index 12f87fd20d..fb484d72b7 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java @@ -40,6 +40,19 @@ public class UserChartResultDTO implements Serializable { */ private Double ldUserRatio = 0.0; + /** + * 用户总数-较上月 + */ + private Integer userTotalJSY; + /** + * 常住用户-较上月 + */ + private Integer czUserTotalJSY; + /** + * 流动人口-较上月 + */ + private Integer ldUserTotalJSY; + @JsonIgnore private Integer num; //是否是流动人口【是:1 否:0】 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index ec9bf3043c..e2fb13dd7a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -57,6 +57,7 @@ import com.epmet.dao.*; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.form.demand.UserDemandNameQueryFormDTO; +import com.epmet.dto.form.stats.UserHouseStatsQueryFormDTO; import com.epmet.dto.result.*; import com.epmet.dto.result.demand.IcResiDemandDictDTO; import com.epmet.dto.result.demand.OptionDTO; @@ -70,6 +71,7 @@ import com.epmet.opendata.dto.result.ResidentByIdCardResultDTO; import com.epmet.opendata.feign.GuardarDatosFeignClient; import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient; import com.epmet.service.*; +import com.epmet.stats.UserHouseStatsResultDTO; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -162,6 +164,9 @@ public class IcResiUserServiceImpl extends BaseServiceImpl getWrapper(Map params) { @@ -2045,6 +2050,16 @@ public class IcResiUserServiceImpl extends BaseServiceImpl Date: Mon, 10 Oct 2022 13:21:26 +0800 Subject: [PATCH 022/109] =?UTF-8?q?warn=E8=A7=A3=E6=9E=90=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?,a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/LoginServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java index 211fce084e..a343fce601 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java @@ -133,10 +133,10 @@ public class LoginServiceImpl implements LoginService { log.error("->[getMaOpenId]::error[{}]", "解析微信code失败",e); } if (null == wxMaJscode2SessionResult) { - log.error(String.format("解析微信用户信息失败,app[%s],wxCode[%s],result:[%S]",app,wxCode, JSON.toJSONString(wxMaJscode2SessionResult))); + log.warn(String.format("解析微信用户信息失败,app[%s],wxCode[%s],result:[%S]",app,wxCode, JSON.toJSONString(wxMaJscode2SessionResult))); throw new RenException("解析微信用户信息失败"); } else if (StringUtils.isBlank(wxMaJscode2SessionResult.getOpenid())) { - log.error(String.format("获取微信openid失败,app[%s],wxCode[%s]",app,wxCode)); + log.warn(String.format("获取微信openid失败,app[%s],wxCode[%s]",app,wxCode)); throw new RenException("获取微信openid失败"); } return wxMaJscode2SessionResult; From 72b62e31765da320e1005b79d0c2cab480a4a460 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 10 Oct 2022 13:22:21 +0800 Subject: [PATCH 023/109] log.warn("->[getMaOpenId]::err --- .../src/main/java/com/epmet/service/impl/LoginServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java index a343fce601..25524fa9e0 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java @@ -130,7 +130,7 @@ public class LoginServiceImpl implements LoginService { } } } catch (WxErrorException e) { - log.error("->[getMaOpenId]::error[{}]", "解析微信code失败",e); + log.warn("->[getMaOpenId]::error[{}]", "解析微信code失败",e); } if (null == wxMaJscode2SessionResult) { log.warn(String.format("解析微信用户信息失败,app[%s],wxCode[%s],result:[%S]",app,wxCode, JSON.toJSONString(wxMaJscode2SessionResult))); From 8c02d2ea8a7e40b51a3a355ae5e0a8f6efe97f8d Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 10 Oct 2022 14:46:54 +0800 Subject: [PATCH 024/109] =?UTF-8?q?-=E4=BF=AE=E6=94=B9=EF=BC=9A=E5=8F=AF?= =?UTF-8?q?=E8=A7=86=E5=8C=96-=E4=BA=BA=E6=88=BF=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=EF=BC=9A=E5=AD=90=E7=BA=A7=E4=BA=BA=E6=88=BF?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=BB=9F=E8=AE=A1=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?"=E5=BC=80=E9=80=9A=E7=A4=BE=E5=8C=BA=E6=95=B0"=E7=9A=84?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/UsingCommunityStatsFormDTO.java | 15 +++++ .../dto/result/SubUserHouseListResultDTO.java | 5 ++ .../result/UsingCommunityStatsResultDTO.java | 21 +++++++ .../epmet/controller/AgencyController.java | 11 +++- .../java/com/epmet/dao/CustomerAgencyDao.java | 9 +++ .../java/com/epmet/service/AgencyService.java | 5 ++ .../epmet/service/impl/AgencyServiceImpl.java | 55 ++++++++++++++++++- .../epmet/service/impl/HouseServiceImpl.java | 14 +++++ .../resources/mapper/CustomerAgencyDao.xml | 17 ++++++ 9 files changed, 148 insertions(+), 4 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/UsingCommunityStatsFormDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UsingCommunityStatsResultDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/UsingCommunityStatsFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/UsingCommunityStatsFormDTO.java new file mode 100644 index 0000000000..c8afdd13ea --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/UsingCommunityStatsFormDTO.java @@ -0,0 +1,15 @@ +package com.epmet.dto.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UsingCommunityStatsFormDTO { + + private String orgId; + private String orgType; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java index 45ded6601b..dc5bbe6b52 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java @@ -79,4 +79,9 @@ public class SubUserHouseListResultDTO implements Serializable { */ private Double ldUserRatio = 0.0; + /** + * 开通平台的社区数 + */ + private Integer usingCommunityNum; + } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UsingCommunityStatsResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UsingCommunityStatsResultDTO.java new file mode 100644 index 0000000000..2ba49424b6 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UsingCommunityStatsResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UsingCommunityStatsResultDTO { + + /** + * 开通平台社区数 + */ + private Integer usingCommunityNum; + /** + * 开通平台社区数-较上月 + */ + private Integer usingCommunityNumJSY; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index 3d86d05fb6..2ab19bc5c1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -613,5 +613,14 @@ public class AgencyController { return new Result>().ok(agencyService.getCustomerTree(tokenDto)); } - + /** + * 开通平台的社区数统计 + * @return + */ + @RequestMapping("usingCommunityStats") + public Result usingCommunityStats(@RequestBody UsingCommunityStatsFormDTO input) { + String orgId = input.getOrgId(); + String orgType = input.getOrgType(); + return new Result().ok(agencyService.usingCommunityStats(orgId, orgType)); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 37e8d93c98..0e90d851e3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -27,6 +27,7 @@ import com.epmet.entity.CustomerAgencyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** @@ -387,5 +388,13 @@ public interface CustomerAgencyDao extends BaseDao { */ CustomerAgencyEntity getAgencyByUserId(@Param("userId") String userId, @Param("customerId") String customerId); + /** + * 开通社区数统计 + * @param agencyId 机关组织的id + * @param agencyOrgIdPath agency的id路径path,包含自己 + * @param endDate 截止日期,也即查询,截止改日期,有多少社区在使用 + * @return + */ + Integer getUsingCommunityStats(@Param("agencyId") String agencyId, @Param("agencyOrgIdPath") String agencyOrgIdPath, @Param("endDate") Date endDate); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java index 04c73a7756..d7bb4b2564 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java @@ -199,4 +199,9 @@ public interface AgencyService { */ List getCustomerTree(TokenDto tokenDto); + /** + * 开通平台的社区数统计 + * @return + */ + UsingCommunityStatsResultDTO usingCommunityStats(String orgId, String orgType); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 10499f4b52..7896a7854f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -34,9 +34,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.user.LoginUserUtil; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.NodeTreeUtils; -import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.*; import com.epmet.constant.CustomerAgencyConstant; import com.epmet.constant.OrgInfoConstant; import com.epmet.constant.RoleKeyConstants; @@ -1114,4 +1112,55 @@ public class AgencyServiceImpl implements AgencyService { } + @Override + public UsingCommunityStatsResultDTO usingCommunityStats(String orgId, String orgType) { + String customerId = EpmetRequestHolder.getLoginUserCustomerId(); + String userId = EpmetRequestHolder.getLoginUserId(); + + // 所属组织的上级 + String agencyOrgIdPath = null; + if (StringUtils.isBlank(orgId)) { + // 没有传参数,使用当前登录人员所属的组织去查询 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (staffInfo == null) { + String errorMsg = String.format("查询当前工作人员信息失败。staffId:%s", userId); + throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), errorMsg, errorMsg); + } + + orgId = staffInfo.getAgencyId(); + orgType = "agency"; + +// agencyOrgIdPath = getOrgIdPath(staffInfo); + } + + if ("agency".equals(orgType)) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.set(Calendar.DAY_OF_MONTH, 1); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + Date endTime = calendar.getTime(); + + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId); + agencyOrgIdPath = getOrgIdPath(agencyInfo.getPids(), agencyInfo.getId()); + Integer currentUsingCommunityCount = customerAgencyDao.getUsingCommunityStats(orgId, agencyOrgIdPath, null); + Integer prefersUsingCommunityCount = customerAgencyDao.getUsingCommunityStats(orgId, agencyOrgIdPath, endTime); + return new UsingCommunityStatsResultDTO(currentUsingCommunityCount, currentUsingCommunityCount - prefersUsingCommunityCount); + } else if ("grid".equals(orgType)) { + // 网格下不会有该数据,给个0 + return new UsingCommunityStatsResultDTO(0, 0); + } + + return null; + } + + private String getOrgIdPath(String orgPids, String orgId) { + if (StringUtils.isBlank(orgPids) || "0".equals(orgPids)) { + return orgId; + } + + return orgPids.concat(":").concat(orgId); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index d5daa597e8..d8389ffc37 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -977,6 +977,20 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { dto.setLdUserRatio(u.getLdUserRatio()); } } + + // 为每一个子级组织,查询开通了多少个社区 + if ("agency".equals(dto.getOrgType())) { + AgencyService agencyService = SpringContextUtils.getBean(AgencyService.class); + if (agencyService != null) { + UsingCommunityStatsResultDTO usingCommunityStats = agencyService.usingCommunityStats(dto.getOrgId(), dto.getOrgType()); + if (usingCommunityStats != null) { + dto.setUsingCommunityNum(usingCommunityStats.getUsingCommunityNum()); + } + } + } else if ("grid".equals(dto.getOrgType())) { + // 网格这项数据为0 + dto.setUsingCommunityNum(0); + } list.add(dto); } return list; diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 8493df5d81..9a0dfa1d51 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1011,4 +1011,21 @@ LIMIT 1 + + From 33c32b66edd9317bf9d5aeda1d4f12de314a88eb Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 10 Oct 2022 17:01:25 +0800 Subject: [PATCH 025/109] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E7=BB=84=E7=BB=87=E4=B8=8B=E6=89=80=E6=9C=89=E7=A4=BE?= =?UTF-8?q?=E5=8C=BA=E7=9A=84=E4=BA=BA=E6=88=BF=E4=BF=A1=E6=81=AF=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/redis/common/CustomerOrgRedis.java | 33 ++++++++++++++++ .../form/CommunityUserHouseStatsFormDTO.java | 15 +++++++ .../com/epmet/controller/HouseController.java | 16 ++++++++ .../java/com/epmet/dao/CustomerAgencyDao.java | 2 + .../java/com/epmet/service/HouseService.java | 2 + .../epmet/service/impl/HouseServiceImpl.java | 39 +++++++++++++++++++ .../resources/mapper/CustomerAgencyDao.xml | 9 +++++ 7 files changed, 116 insertions(+) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommunityUserHouseStatsFormDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java index 7cb132b0f5..3945081261 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java @@ -13,6 +13,7 @@ import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; @@ -111,4 +112,36 @@ public class CustomerOrgRedis { customerOrgRedis.redisUtils.delete(key); } + /** + * 拼接orgIdPath + * @param orgId + * @param orgType + * @return + */ + public static String getOrgIdPath(String orgId, String orgType) { + String orgPids = null; + + if ("grid".equals(orgType)) { + GridInfoCache gridInfo = getGridInfo(orgId); + if (gridInfo == null) { + log.error("查询网格信息失败:{}", orgId); + return null; + } + orgPids = gridInfo.getPids(); + } else if ("agency".equals(orgType)) { + AgencyInfoCache agencyInfo = getAgencyInfo(orgId); + if (agencyInfo == null) { + log.error("查询组织信息失败:{}", orgId); + return null; + } + orgPids = agencyInfo.getPids(); + } + + if (StringUtils.isBlank(orgPids) || "0".equals(orgPids)) { + return orgId; + } + + return orgPids.concat(":").concat(orgId); + } + } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommunityUserHouseStatsFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommunityUserHouseStatsFormDTO.java new file mode 100644 index 0000000000..075dc08b7c --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommunityUserHouseStatsFormDTO.java @@ -0,0 +1,15 @@ +package com.epmet.dto.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CommunityUserHouseStatsFormDTO { + private String orgId; + private String orgType; + private Integer pageNo = 1; + private Integer pageSize = 10; +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index 35b3bc0e6f..dd1d7c37af 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -629,4 +629,20 @@ public class HouseController implements ResultDataResolver { return new Result>().ok(houseService.houseStatisListDetail(formDTO)); } + /** + * 针对社区的人房统计列表 + * @return + */ + @PostMapping("communityUserHouseStats") + public Result> communityUserHouseStats(@RequestBody CommunityUserHouseStatsFormDTO input) { + + String orgId = input.getOrgId(); + String orgType = input.getOrgType(); + Integer pageNo = input.getPageNo(); + Integer pageSize = input.getPageSize(); + + List r = houseService.communityUserHouseStats(orgId, orgType, pageNo, pageSize); + return new Result>().ok(r); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 0e90d851e3..072a877e94 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -396,5 +396,7 @@ public interface CustomerAgencyDao extends BaseDao { * @return */ Integer getUsingCommunityStats(@Param("agencyId") String agencyId, @Param("agencyOrgIdPath") String agencyOrgIdPath, @Param("endDate") Date endDate); + + List getCommunitysByOrgIdPath(@Param("orgId") String orgId, @Param("orgIdPath") String orgIdPath); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java index 239e844523..41ffd5709d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java @@ -197,4 +197,6 @@ public interface HouseService { PageData listHouses4ReportTest(String houseId, Integer pageNo, Integer pageSize); PageData houseStatisListDetail(HouseChartFormDTO formDTO); + + List communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index d8389ffc37..d5838a78a7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -42,6 +42,7 @@ import com.epmet.enums.*; import com.epmet.feign.*; import com.epmet.model.HouseInfoModel; import com.epmet.model.ImportHouseInfoListener; +import com.epmet.redis.CustomerAgencyRedis; import com.epmet.redis.IcHouseRedis; import com.epmet.service.*; import com.epmet.stats.UserHouseStatsResultDTO; @@ -1392,5 +1393,43 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { return new PageData<>(list, pageInfo.getTotal()); } + @Override + public List communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize) { + + PageHelper.startPage(pageNo, pageSize); + List communityIds = customerAgencyDao.getCommunitysByOrgIdPath(orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType)); + + // 填充组织信息 + Map communityMap = communityIds.stream().collect(Collectors.toMap(id -> id, id -> concatAgencyNamePath(id))); + List communityUserHouseStats = houseUserChartList(communityIds, communityMap, "agency"); + return communityUserHouseStats; + } + + public String concatAgencyNamePath(String agencyId) { + List agencyNamePathList = new ArrayList(); + + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(agencyId); + if (agencyInfo == null) { + return null; + } + agencyNamePathList.add(0, agencyInfo.getOrganizationName()); + + String pidsStr = agencyInfo.getPids(); + if (StringUtils.isBlank(pidsStr)) { + // 没有pids,是顶级,直接返回 + return String.join("-", agencyNamePathList); + } + + String[] pidList = pidsStr.split(":"); + for (String pAgencyId : pidList) { + AgencyInfoCache pAgencyInfo = CustomerOrgRedis.getAgencyInfo(pAgencyId); + if (pAgencyInfo == null) { + continue; + } + agencyNamePathList.add(pAgencyInfo.getOrganizationName()); + } + + return String.join("-", agencyNamePathList); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 9a0dfa1d51..cf75164bfc 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1028,4 +1028,13 @@ group by ca.ID, ca.ORGANIZATION_NAME having community_count > 0) t + + From cfb519630b7ca4a62935c5e649413153dc7e1e91 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 11 Oct 2022 09:25:44 +0800 Subject: [PATCH 026/109] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8F=8D=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/CollectDetailResultDTO.java | 2 ++ .../java/com/epmet/service/impl/IcResiCollectServiceImpl.java | 1 + 2 files changed, 3 insertions(+) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java index 3f2f2f728b..8a71aa8ea9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java @@ -73,4 +73,6 @@ public class CollectDetailResultDTO implements Serializable { private String checkReason; private List memberList; + + private String orgIdPath; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java index 599f9e81f8..3d2cfd552b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java @@ -224,6 +224,7 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl memberList = icResiMemberDao.selectListByCollectId(dto.getId()); result.setMemberList(memberList); From d3542a1d2d875db6e805756ee19241655dd349c5 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 11 Oct 2022 13:50:54 +0800 Subject: [PATCH 027/109] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8F=8D=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/CollectDetailResultDTO.java | 3 +++ .../epmet/dto/result/OrgInfoResultDTO.java | 23 +++++++++++++++++++ .../impl/IcResiCollectServiceImpl.java | 11 +++++++++ 3 files changed, 37 insertions(+) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OrgInfoResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java index 8a71aa8ea9..2631a14625 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.dto.result.OrgInfoResultDTO; import lombok.Data; import java.io.Serializable; @@ -75,4 +76,6 @@ public class CollectDetailResultDTO implements Serializable { private List memberList; private String orgIdPath; + + private List orgIdPathList; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OrgInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OrgInfoResultDTO.java new file mode 100644 index 0000000000..0905a073b7 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OrgInfoResultDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/10/11 13:41 + * @DESC + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class OrgInfoResultDTO implements Serializable { + + private static final long serialVersionUID = 7478605833438304330L; + + private String id; + private String name; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java index 3d2cfd552b..18c38f5407 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java @@ -225,6 +225,17 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl orgInfoList = new ArrayList<>(); + for (String orgId : split) { + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId); + if (null == agencyInfo){ + throw new EpmetException("查询组织信息失败:"+orgId); + } + OrgInfoResultDTO orgInfoResultDTO = new OrgInfoResultDTO(orgId,agencyInfo.getOrganizationName()); + orgInfoList.add(orgInfoResultDTO); + } + result.setOrgIdPathList(orgInfoList); //查询成员信息 List memberList = icResiMemberDao.selectListByCollectId(dto.getId()); result.setMemberList(memberList); From 580c5cee01b685d907449707295153bb42cdf821 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 11 Oct 2022 14:47:34 +0800 Subject: [PATCH 028/109] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DataSyncConfigController.java | 2 +- .../java/com/epmet/dao/DataSyncConfigDao.java | 19 ++-- .../java/com/epmet/enums/DataSyncEnum.java | 55 ++++++++++ .../epmet/service/DataSyncConfigService.java | 4 +- .../impl/DataSyncConfigServiceImpl.java | 103 +++++++++++++----- .../resources/mapper/DataSyncConfigDao.xml | 36 +++--- 6 files changed, 157 insertions(+), 62 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java index 950de6f573..2963823ce2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java @@ -108,7 +108,7 @@ public class DataSyncConfigController { @PostMapping("natInfoScanTask") public Result natInfoScanTask(@RequestBody NatInfoScanTaskFormDTO formDTO){ - dataSyncConfigService.natInfoScanTask(formDTO); + dataSyncConfigService.dataSyncForYanTaiTask(formDTO); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncConfigDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncConfigDao.java index d3a2c600ef..6df7281e5b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncConfigDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncConfigDao.java @@ -22,6 +22,7 @@ public interface DataSyncConfigDao extends BaseDao { /** * Desc: 【数据配置】配置开关 + * * @param formDTO * @author zxc * @date 2022/9/26 14:36 @@ -30,30 +31,32 @@ public interface DataSyncConfigDao extends BaseDao { /** * Desc: 【数据配置】列表 + * * @param customerId + * @param switchStatus * @author zxc * @date 2022/9/26 15:04 */ - List list(@Param("customerId")String customerId); + List list(@Param("customerId") String customerId, @Param("switchStatus") String switchStatus); - List scopeList(@Param("id")String id); + List scopeList(@Param("id") String id); /** * Desc: 删除范围 + * * @param dataSyncConfigId * @author zxc * @date 2022/9/26 15:46 */ - void delScope(@Param("dataSyncConfigId")String dataSyncConfigId); + void delScope(@Param("dataSyncConfigId") String dataSyncConfigId); /** * Desc: 根据范围查询居民证件号 - * @param list + * + * @param orgList * @author zxc * @date 2022/9/27 09:23 */ - List getIdCardsByScope(@Param("list") List list); + List getIdCardsByScope(@Param("orgList") List orgList, @Param("idCardList") List idCardList); - List getUserIdByIdCard(@Param("list") List list); - -} \ No newline at end of file +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java new file mode 100644 index 0000000000..a3a66c4efc --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java @@ -0,0 +1,55 @@ +package com.epmet.enums; + +/** + * desc:数据同步配置枚举 对应data_sync_config中的DATA_CODE + * @author Administrator + */ + +public enum DataSyncEnum { + /** + * 环境变量枚举 + */ + HE_SUAN("hesuan", "核酸检测数据"), + CAN_JI("canji", "残疾数据"), + SI_WANG("siwang", "死亡数据"), + OTHER("qita","其他"), + + ; + + private final String code; + private final String name; + + + + DataSyncEnum(String code, String name) { + this.code = code; + this.name = name; + } + + public static DataSyncEnum getEnum(String code) { + DataSyncEnum[] values = DataSyncEnum.values(); + for (DataSyncEnum value : values) { + if (value.getCode().equals(code)) { + return value; + } + } + return DataSyncEnum.OTHER; + } + + + public String getCode() { + return code; + } + + public String getName() { + return name; + } + + public static void main(String[] args) { + Integer pageNo = 1; + + for (int i = 0; i < 5; i++) { + System.out.println(pageNo++); + } + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java index 1e0ad7162b..049fc774a0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java @@ -82,5 +82,5 @@ public interface DataSyncConfigService extends BaseService */ void scopeSave(ScopeSaveFormDTO formDTO); - void natInfoScanTask(NatInfoScanTaskFormDTO formDTO); -} \ No newline at end of file + void dataSyncForYanTaiTask(NatInfoScanTaskFormDTO formDTO); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index d4de7ebcbe..ed2490feed 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -1,4 +1,5 @@ package com.epmet.service.impl; + import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; @@ -25,12 +26,14 @@ import com.epmet.entity.DataSyncConfigEntity; import com.epmet.entity.DataSyncScopeEntity; import com.epmet.entity.IcNatEntity; import com.epmet.entity.IcNatRelationEntity; +import com.epmet.enums.DataSyncEnum; import com.epmet.service.DataSyncConfigService; import com.epmet.service.DataSyncScopeService; import com.epmet.service.IcNatRelationService; import com.epmet.service.IcNatService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; @@ -50,6 +53,7 @@ import java.util.stream.Collectors; * @author generator generator@elink-cn.com * @since v1.0.0 2022-09-26 */ +@Slf4j @Service public class DataSyncConfigServiceImpl extends BaseServiceImpl implements DataSyncConfigService { @@ -119,10 +123,11 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl result = new PageData<>(new ArrayList<>(), NumConstant.ZERO_L); - PageInfo pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.list(tokenDto.getCustomerId())); + PageInfo pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()) + .doSelectPageInfo(() -> baseDao.list(tokenDto.getCustomerId(), null)); if (CollectionUtils.isNotEmpty(pageInfo.getList())){ result.setList(pageInfo.getList()); - result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal()))); + result.setTotal(Integer.parseInt(String.valueOf(pageInfo.getTotal()))); } return result; } @@ -171,40 +176,78 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl userIdByIdCard = baseDao.getUserIdByIdCard(formDTO.getIdCards()); - List collect = formDTO.getIdCards().stream().map(id -> { - NatUserInfoResultDTO e = new NatUserInfoResultDTO(); - e.setIdCard(id); - e.setUserId(""); - return e; - }).collect(Collectors.toList()); - collect.forEach(c -> userIdByIdCard.stream().filter(u -> u.getIdCard().equals(c.getIdCard())).forEach(u -> c.setUserId(u.getUserId()))); - hsjc(collect,formDTO.getCustomerId()); + public void dataSyncForYanTaiTask(NatInfoScanTaskFormDTO formDTO) { + List allConfigList = baseDao.list(formDTO.getCustomerId() ,"open"); + if (CollectionUtils.isEmpty(allConfigList)){ return; } - List allConfigList = baseDao.list(StringUtils.isNotBlank(formDTO.getCustomerId()) ? formDTO.getCustomerId() : null); - if (CollectionUtils.isEmpty(allConfigList)){ + + + //TODO 根据dataCode 调用不同的方法 抽取数据 + if (CollectionUtils.isNotEmpty(allConfigList)){ + log.warn("dataSyncForYanTaiTask don't have any resi data to pull data form YanTai interface"); return; } - List configList = allConfigList.stream().filter(l -> l.getDeptCode().equals("dsjj") && l.getSwitchStatus().equals("open")).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(configList)){ - configList.forEach(c -> { - if (CollectionUtils.isNotEmpty(c.getScopeList())){ - Integer no = NumConstant.ONE; - Integer size; - do { - PageInfo pageInfo = PageHelper.startPage(no, NumConstant.ONE_THOUSAND).doSelectPageInfo(() -> baseDao.getIdCardsByScope(c.getScopeList())); - size = pageInfo.getList().size(); - hsjc(pageInfo.getList(),c.getCustomerId()); - no++; - }while (size.compareTo(NumConstant.ONE_THOUSAND) == NumConstant.ZERO); - } - }); + for (DataSyncConfigDTO config : allConfigList) { + //没有配置 数据拉取范围 继续下次循环 + if (CollectionUtils.isEmpty(config.getScopeList())){ + continue; + } + + //如果传了身份证号 则按照身份证号查询 并同步记录, userId如果为空则是 手动录入的 此人没有录入居民库 但是也可以同步 + if (CollectionUtils.isNotEmpty(formDTO.getIdCards())){ + List userIdByIdCard = baseDao.getIdCardsByScope(config.getScopeList(),formDTO.getIdCards()); + List collect = formDTO.getIdCards().stream().map(id -> { + NatUserInfoResultDTO e = new NatUserInfoResultDTO(); + e.setIdCard(id); + e.setUserId(""); + return e; + }).collect(Collectors.toList()); + + collect.forEach(c -> userIdByIdCard.stream().filter(u -> u.getIdCard().equals(c.getIdCard())).forEach(u -> c.setUserId(u.getUserId()))); + executeSyncData(config, collect); + return; + } else { + //没传具体参数 则 按照 + int pageNo = NumConstant.ONE; + int pageSize = NumConstant.ONE_THOUSAND; + PageInfo pageInfo = null; + do { + //根据 组织 分页获取 居民数据 + pageInfo = PageHelper.startPage(pageNo, pageSize, false) + .doSelectPageInfo(() -> baseDao.getIdCardsByScope(config.getScopeList(),formDTO.getIdCards())); + executeSyncData(config, pageInfo.getList()); + + pageNo++; + } while (pageInfo != null && pageInfo.getSize() == pageSize); + } + } } + /** + * desc:根据居民身份证号 从蓝图api接口 获取数据到本地 + * @param config + * @param resiList + */ + private void executeSyncData(DataSyncConfigDTO config, List resiList) { + DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); + switch (anEnum) { + case HE_SUAN: + hsjc(resiList, config.getCustomerId()); + break; + case CAN_JI: + //todo + break; + case SI_WANG: + //todo + break; + default: + log.warn("没有要处理的数据"); + } + } + + /** * Desc: 根据证件号 查询nat 存在 ? 不处理 : 新增 * @param idCards @@ -269,4 +312,4 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl - AND CUSTOMER_ID = #{customerId} - + + AND switch_status = #{switchStatus} + + + AND CUSTOMER_ID = #{customerId} + order by sort @@ -62,29 +65,20 @@ FROM ic_resi_user WHERE DEL_FLAG = '0' AND `STATUS` = '0' + + AND id_card in + + #{idCard} + + AND ( - + GRID_ID = #{l.orgId} - PIDS LIKE CONCAT('%',#{l.orgId},'%') + PIDS LIKE CONCAT(#{l.orgIdPath},'%') ) ORDER BY CREATED_TIME - - \ No newline at end of file + From 3aaede3e231a84dc8a5c31ffb1adcf844177b297 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 11 Oct 2022 16:28:36 +0800 Subject: [PATCH 029/109] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A/communityUs?= =?UTF-8?q?erHouseStats=20=E6=8E=A5=E5=8F=A3=EF=BC=8C=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=95=B0=E6=8D=AE=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E7=9B=B8=E5=85=B3=E6=95=B0=E6=8D=AE=E8=BF=94?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/HouseController.java | 6 +++--- .../src/main/java/com/epmet/service/HouseService.java | 2 +- .../main/java/com/epmet/service/impl/HouseServiceImpl.java | 6 ++++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index dd1d7c37af..79abda28a9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -634,15 +634,15 @@ public class HouseController implements ResultDataResolver { * @return */ @PostMapping("communityUserHouseStats") - public Result> communityUserHouseStats(@RequestBody CommunityUserHouseStatsFormDTO input) { + public Result> communityUserHouseStats(@RequestBody CommunityUserHouseStatsFormDTO input) { String orgId = input.getOrgId(); String orgType = input.getOrgType(); Integer pageNo = input.getPageNo(); Integer pageSize = input.getPageSize(); - List r = houseService.communityUserHouseStats(orgId, orgType, pageNo, pageSize); - return new Result>().ok(r); + PageData r = houseService.communityUserHouseStats(orgId, orgType, pageNo, pageSize); + return new Result>().ok(r); } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java index 41ffd5709d..2973495dbf 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java @@ -198,5 +198,5 @@ public interface HouseService { PageData houseStatisListDetail(HouseChartFormDTO formDTO); - List communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize); + PageData communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index d5838a78a7..fa304c53c6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -1394,15 +1394,17 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { } @Override - public List communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize) { + public PageData communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize) { PageHelper.startPage(pageNo, pageSize); List communityIds = customerAgencyDao.getCommunitysByOrgIdPath(orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType)); + // 填充组织信息 Map communityMap = communityIds.stream().collect(Collectors.toMap(id -> id, id -> concatAgencyNamePath(id))); List communityUserHouseStats = houseUserChartList(communityIds, communityMap, "agency"); - return communityUserHouseStats; + + return new PageData(communityUserHouseStats, new PageInfo<>(communityIds).getTotal()); } public String concatAgencyNamePath(String agencyId) { From 6bee8fae5b95e1c293e4a86a510af477fb142249 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 11 Oct 2022 16:45:19 +0800 Subject: [PATCH 030/109] =?UTF-8?q?=E7=A6=81=E7=94=A8actuator=E7=AB=AF?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-gateway/src/main/resources/bootstrap.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index 483f545f43..0aeca8950b 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -418,7 +418,11 @@ management: web: exposure: include: "*" +# enabled-by-default: false + endpoint: + gateway: + enabled: false health: show-details: ALWAYS From 390ec51fb5b0db537b0e518623024be0760f56e1 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 12 Oct 2022 10:34:24 +0800 Subject: [PATCH 031/109] =?UTF-8?q?=E3=80=90fix=E3=80=91=EF=BC=9A=E7=A4=BE?= =?UTF-8?q?=E5=8C=BA=E4=BA=BA=E6=88=BF=E7=BB=9F=E8=AE=A1=E5=88=97=E8=A1=A8?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0customerId=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=EF=BC=8C=E5=BA=94=E5=AF=B9=E4=B8=8D=E4=BC=A0=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dao/CustomerAgencyDao.java | 2 +- .../main/java/com/epmet/service/impl/HouseServiceImpl.java | 4 +++- .../src/main/resources/mapper/CustomerAgencyDao.xml | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 072a877e94..31b80d3918 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -397,6 +397,6 @@ public interface CustomerAgencyDao extends BaseDao { */ Integer getUsingCommunityStats(@Param("agencyId") String agencyId, @Param("agencyOrgIdPath") String agencyOrgIdPath, @Param("endDate") Date endDate); - List getCommunitysByOrgIdPath(@Param("orgId") String orgId, @Param("orgIdPath") String orgIdPath); + List getCommunitysByOrgIdPath(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("orgIdPath") String orgIdPath); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index fa304c53c6..f7582aa558 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -1396,8 +1396,10 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { @Override public PageData communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize) { + String customerId = EpmetRequestHolder.getLoginUserCustomerId(); + PageHelper.startPage(pageNo, pageSize); - List communityIds = customerAgencyDao.getCommunitysByOrgIdPath(orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType)); + List communityIds = customerAgencyDao.getCommunitysByOrgIdPath(customerId, orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType)); // 填充组织信息 diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index cf75164bfc..80f0037382 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1032,7 +1032,8 @@ - - - + + + From e3e9320cc38ecfd830ad12774c98a24910362408 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 12 Oct 2022 17:22:52 +0800 Subject: [PATCH 037/109] - --- .../java/com/epmet/dao/CustomerAgencyDao.java | 2 +- .../com/epmet/service/impl/AgencyServiceImpl.java | 4 ++-- .../com/epmet/service/impl/HouseServiceImpl.java | 15 ++++++++++++++- .../main/resources/mapper/CustomerAgencyDao.xml | 1 + 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index cc68f3335b..fb1fc77855 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -395,7 +395,7 @@ public interface CustomerAgencyDao extends BaseDao { * @param endDate 截止日期,也即查询,截止改日期,有多少社区在使用 * @return */ - List getUsingCommunityList(@Param("agencyId") String agencyId, @Param("agencyOrgIdPath") String agencyOrgIdPath, @Param("endDate") Date endDate); + List getUsingCommunityList(@Param("customerId") String customerId, @Param("agencyId") String agencyId, @Param("agencyOrgIdPath") String agencyOrgIdPath, @Param("endDate") Date endDate); List getCommunitysByOrgIdPath(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("orgIdPath") String orgIdPath); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index d5b194f006..c15458dede 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -1145,8 +1145,8 @@ public class AgencyServiceImpl implements AgencyService { AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId); agencyOrgIdPath = getOrgIdPath(agencyInfo.getPids(), agencyInfo.getId()); - List currentUsingCommunityList = customerAgencyDao.getUsingCommunityList(orgId, agencyOrgIdPath, null); - List preferUsingCommunityList = customerAgencyDao.getUsingCommunityList(orgId, agencyOrgIdPath, endTime); + List currentUsingCommunityList = customerAgencyDao.getUsingCommunityList(customerId, orgId, agencyOrgIdPath, null); + List preferUsingCommunityList = customerAgencyDao.getUsingCommunityList(customerId, orgId, agencyOrgIdPath, endTime); return new UsingCommunityStatsResultDTO(currentUsingCommunityList.size(), currentUsingCommunityList.size() - preferUsingCommunityList.size()); } else if ("grid".equals(orgType)) { // 网格下不会有该数据,给个0 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index b08f38ddda..31f8368adc 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -1398,8 +1398,21 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { String customerId = EpmetRequestHolder.getLoginUserCustomerId(); + if (StringUtils.isBlank(orgId)) { + // 没有传参数,使用当前登录人员所属的组织去查询 + String userId = EpmetRequestHolder.getLoginUserId(); + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (staffInfo == null) { + String errorMsg = String.format("查询当前工作人员信息失败。staffId:%s", userId); + throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), errorMsg, errorMsg); + } + + orgId = staffInfo.getAgencyId(); + orgType = "agency"; + } + PageHelper.startPage(pageNo, pageSize); - List communityIds = customerAgencyDao.getUsingCommunityList(orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType), null); + List communityIds = customerAgencyDao.getUsingCommunityList(customerId, orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType), null); // List communityIds = customerAgencyDao.getCommunitysByOrgIdPath(customerId, orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType)); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 1075de7982..d08d32a035 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1029,6 +1029,7 @@ from customer_agency ca inner join customer_staff_agency csa on (ca.ID = csa.AGENCY_ID and csa.DEL_FLAG = 0) where ca.DEL_FLAG = 0 + and ca.CUSTOMER_ID=${customerId} and ca.LEVEL = 'community' and csa.CREATED_TIME #{endDate} From de4329adb8844d74405808bb1d660478eb195d97 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 12 Oct 2022 17:50:43 +0800 Subject: [PATCH 038/109] - --- .../src/main/resources/mapper/CustomerAgencyDao.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index d08d32a035..e81e8b0ad9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1024,18 +1024,18 @@ From 4a7dbcdb9ac9f7e59f499604521099d85f69fe44 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 12 Oct 2022 17:52:15 +0800 Subject: [PATCH 039/109] - --- .../src/main/resources/mapper/CustomerAgencyDao.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index e81e8b0ad9..d221f07b12 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1023,8 +1023,9 @@ From 7e6c0c6bb96ac3bd343cb76b506763c43bace683 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 12 Oct 2022 18:14:14 +0800 Subject: [PATCH 040/109] =?UTF-8?q?=E5=90=8C=E6=AD=A5=20=E6=AD=BB=E4=BA=A1?= =?UTF-8?q?=E5=92=8C=E6=AE=8B=E7=96=BE=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/dto/result/YtDataSyncResDTO.java | 28 + .../commons/tools/utils/YtHsResUtils.java | 144 ++++- .../java/com/epmet/task/NatInfoScanTask.java | 6 +- .../com/epmet/dto/DataSyncRecordDeathDTO.java | 145 +++++ .../dto/DataSyncRecordDisabilityDTO.java | 145 +++++ .../com/epmet/dto/form/DataSyncTaskParam.java | 42 ++ .../dto/form/NatInfoScanTaskFormDTO.java | 21 - .../form/dataSync/QueryIcResiUserFormDTO.java | 40 ++ .../dto/result/NatUserInfoResultDTO.java | 11 + .../epmet/feign/EpmetUserOpenFeignClient.java | 2 +- .../EpmetUserOpenFeignClientFallback.java | 2 +- .../controller/DataSyncConfigController.java | 4 +- .../java/com/epmet/dao/DataSyncConfigDao.java | 5 +- .../com/epmet/dao/DataSyncRecordDeathDao.java | 16 + .../dao/DataSyncRecordDisabilityDao.java | 17 + .../entity/DataSyncRecordDeathEntity.java | 111 ++++ .../DataSyncRecordDisabilityEntity.java | 111 ++++ .../epmet/service/DataSyncConfigService.java | 4 +- .../service/DataSyncRecordDeathService.java | 78 +++ .../DataSyncRecordDisabilityService.java | 81 +++ .../impl/DataSyncConfigServiceImpl.java | 529 ++++++++++++++---- .../impl/DataSyncRecordDeathServiceImpl.java | 87 +++ .../DataSyncRecordDisabilityServiceImpl.java | 94 ++++ .../resources/mapper/DataSyncConfigDao.xml | 24 +- .../mapper/DataSyncRecordDeathDao.xml | 35 ++ .../mapper/DataSyncRecordDisabilityDao.xml | 95 ++++ 26 files changed, 1721 insertions(+), 156 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtDataSyncResDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDeathDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java delete mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatInfoScanTaskFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/QueryIcResiUserFormDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDeathDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDisabilityDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDeathEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDeathService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDeathDao.xml create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtDataSyncResDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtDataSyncResDTO.java new file mode 100644 index 0000000000..aff500e51e --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtDataSyncResDTO.java @@ -0,0 +1,28 @@ +package com.epmet.commons.tools.dto.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * @Description + * @Author yzm + * @Date 2022/9/26 17:04 + */ +@NoArgsConstructor +@Data +public class YtDataSyncResDTO { + private int code = 200; + private String msg = "请求成功"; + /** + * 响应数据 + */ + private String data; + private int total; + + public YtDataSyncResDTO(int code, String msg, String data) { + this.code = code; + this.msg = msg; + this.data = data; + } +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java index 0ea496de19..b41afbd23b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java @@ -1,6 +1,8 @@ package com.epmet.commons.tools.utils; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.epmet.commons.tools.dto.result.YtDataSyncResDTO; import com.epmet.commons.tools.dto.result.YtHsjcResDTO; import lombok.extern.slf4j.Slf4j; @@ -15,12 +17,15 @@ import java.util.Map; */ @Slf4j public class YtHsResUtils { - private static String URL = "http://10.2.2.60:8191/sjzt/server/hsjcxx"; + private static String SERVER_URL = "http://10.2.2.60:8191/sjzt/server/"; private static final String APP_KEY_VALUE = "DR4jF5Be7sCsqDmCamq2tmYCl"; private static final String APP_KEY = "appkey"; private static final String CARD_NO = "card_no"; + private static final String USER_NAME = "name"; private static final String ROW_NUM = "ROWNUM"; private static final String PAGE_SIZE = "PAGESIZE"; + private static final String START = "ROWNUM"; + private static final String LIMIT = "PAGESIZE"; /** * desc:图片同步扫描 * @@ -36,18 +41,151 @@ public class YtHsResUtils { param.put(ROW_NUM,rowNum); param.put(PAGE_SIZE,pageSize); log.info("hsjc api param:{}",param); - Result result = HttpClientManager.getInstance().sendGet(URL, param); + Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"hsjcxx", param); log.info("hsjc api result:{}",JSON.toJSONString(result)); if (result.success()) { return JSON.parseObject(result.getData(), YtHsjcResDTO.class); } } catch (Exception e) { - e.printStackTrace(); log.warn(String.format("烟台核酸检测结果查询异常cardNo:%s,异常信息:%s", cardNo, e.getMessage())); } YtHsjcResDTO resultResult = new YtHsjcResDTO(); resultResult.setData(new ArrayList<>()); return resultResult; } + /** + * desc:死亡数据同步 + * + * @return + */ + public static YtDataSyncResDTO siWang(String cardNo, String userName) { + try { +// 1)appkey秘钥 +// 2)name姓名 必填 +// 3)idcard身份证号 必填 +// 4)start开始默认0 +// 5)limit每页记录数 + Map param = new HashMap<>(); + param.put(APP_KEY,APP_KEY_VALUE); + param.put("id_card",cardNo); + param.put("name",userName); + param.put("start",0); + param.put("limit",1); + + log.info("siWang api param:{}",param); + + //todo 放开他 + //Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"mzt_hhrysj1", param); + String mockData2 = "{\"code\":200,\"data\":\"{\\\"data\\\":[{\\\"AGE\\\":\\\"73\\\",\\\"CARD_TYPE\\\":\\\"9\\\",\\\"CREATE_ORGAN_NAME\\\":\\\"菏泽市巨野县殡仪馆\\\",\\\"CREMATION_TIME\\\":\\\"2014-04-17 14:46\\\",\\\"DEAD_ID\\\":\\\"SZ-371724-2012-1006560\\\",\\\"DEATH_DATE\\\":\\\"2014-04-17\\\",\\\"FAMILY_ADD\\\":\\\"菏泽市巨野县开发区马庄村\\\",\\\"FOLK\\\":\\\"01\\\",\\\"ID_CARD\\\":\\\"1\\\",\\\"NAME\\\":\\\"郭**\\\",\\\"NATION\\\":\\\"156\\\",\\\"POPULACE\\\":\\\"3381C3014B60439FE05319003C0A0897\\\",\\\"POPULACE_NAME\\\":\\\"菏泽市巨野县开发区马庄村\\\",\\\"RECORD_ID\\\":\\\"E-371724-2012-100000000000407849\\\",\\\"RN\\\":\\\"1\\\",\\\"SEX\\\":\\\"1\\\"}],\\\"fields\\\":[\\\"RN\\\",\\\"RECORD_ID\\\",\\\"DEAD_ID\\\",\\\"NAME\\\",\\\"SEX\\\",\\\"CARD_TYPE\\\",\\\"ID_CARD\\\",\\\"BIRTHDAY\\\",\\\"AGE\\\",\\\"NATION\\\",\\\"FOLK\\\",\\\"IF_LOCAL\\\",\\\"POPULACE\\\",\\\"FAMILY_ADD\\\",\\\"WORK_NAME\\\",\\\"DEATH_DATE\\\",\\\"CREMATION_TIME\\\",\\\"CREATE_ORGAN_NAME\\\",\\\"POPULACE_NAME\\\"],\\\"total\\\":\\\"4903\\\"}\",\"message\":\"\"}"; + String mockData = "{\"code\":200,\"data\":\"{\\\"data\\\":[],\\\"fields\\\":[\\\"RN\\\",\\\"RECORD_ID\\\",\\\"DEAD_ID\\\",\\\"NAME\\\",\\\"SEX\\\",\\\"CARD_TYPE\\\",\\\"ID_CARD\\\",\\\"BIRTHDAY\\\",\\\"AGE\\\",\\\"NATION\\\",\\\"FOLK\\\",\\\"IF_LOCAL\\\",\\\"POPULACE\\\",\\\"FAMILY_ADD\\\",\\\"WORK_NAME\\\",\\\"DEATH_DATE\\\",\\\"CREMATION_TIME\\\",\\\"CREATE_ORGAN_NAME\\\",\\\"POPULACE_NAME\\\"],\\\"total\\\":\\\"4903\\\"}\",\"message\":\"\"}"; + Result result = new Result().ok(mockData); + log.info("siWang api result:{}",JSON.toJSONString(result)); + String data = result.getData(); + JSONObject jsonObject = JSON.parseObject(data); + //他们的结果是成功的 + if (jsonObject!= null && "200".equals(jsonObject.getString("code"))){ + //第一层data + JSONObject realObject = JSON.parseObject(jsonObject.getString("data")); + if (realObject!= null&& realObject.getJSONArray("data") != null) { + //第二层 data + Object thirdData = realObject.getJSONArray("data").get(0); + YtDataSyncResDTO ytDataSyncResDTO = new YtDataSyncResDTO(200,"",thirdData.toString()); + return ytDataSyncResDTO; + }else { + log.warn("canji 调用蓝图接口成功但是蓝图的结果中 省平台失败"); + } + }else { + log.warn("canji 调用蓝图接口败"); + } + } catch (Exception e) { + log.warn(String.format("烟台siWang结果查询异常cardNo:%s,异常信息:%s", cardNo, e.getMessage())); + } + return new YtDataSyncResDTO(); + } + + /** + * desc:残疾数据同步 + * @remark:默认失败 因为一旦成功没有数据 会影响残疾人的数据 接口失败数据不做任何处理 + * @return + */ + public static YtDataSyncResDTO canji(String idCard, String userName) { + + YtDataSyncResDTO failResult = new YtDataSyncResDTO(); + failResult.setCode(500); + failResult.setMsg("默认错误"); + try { +// 1)appkey +// 2)name姓名 +// 3)citizenId身份证号 + Map param = new HashMap<>(); + param.put(APP_KEY,APP_KEY_VALUE); + param.put("citizenId",idCard); + param.put("name",userName); + + log.info("canji api param:{}",param); + + + //todo 上线放开她 + //Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"sdcl_xxzx_czcjr1", param); + String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":\"{\\\"code\\\":200,\\\"data\\\":{\\\"result\\\":true,\\\"errorcode\\\":0,\\\"msg\\\":\\\"获取成功\\\",\\\"data\\\":{\\\"isNewRecord\\\":\\\"true\\\",\\\"delFlag\\\":\\\"0\\\",\\\"pageNo\\\":\\\"0\\\",\\\"pageSize\\\":\\\"0\\\",\\\"name\\\":\\\"姓名\\\",\\\"genderName\\\":\\\"性别\\\",\\\"citizenId\\\":\\\"身份证号\\\",\\\"cardNum\\\":\\\"残疾证号\\\",\\\"idtKindName\\\":\\\"残疾类别\\\",\\\"idtLevelName\\\":\\\"残疾等级\\\",\\\"eduLevelName\\\":\\\"教育程度\\\",\\\"marriagerName\\\":\\\"婚姻状况\\\",\\\"guardian\\\":\\\"监护人\\\",\\\"guardianPhone\\\":\\\"监护人联系方式\\\",\\\"residentAdd\\\":\\\"户籍地址\\\",\\\"nowAdd\\\":\\\"现居住地\\\",\\\"phoneNo\\\":\\\"联系电话\\\"}},\\\"message\\\":\\\"\\\"}\",\"total\":0}"; + Result result = new Result().ok(mockData); + log.info("canji api result:{}",JSON.toJSONString(result)); + if (result.success()) { + /*返回示例 + { + "code":"200", + "msg":"请求成功", + "data":"{ + \"code\":200, + \"data\":{ + \\\"result\\\":true, + \\\"errorcode\\\":0, + \\\"msg\\\":\\\"获取成功\\\", + \\\"data\\\":{ + \\\"isNewRecord\\\":\\\"true\\\", + } + } + \"message\":\"\" + }", + "total":0 + } + */ + String data = result.getData(); + JSONObject jsonObject = JSON.parseObject(data); + //他们的结果是成功的 + if (jsonObject!= null && "200".equals(jsonObject.getString("code"))){ + //第一层data + JSONObject realObject = JSON.parseObject(jsonObject.getString("data")); + + if (realObject!= null && "200".equals(realObject.getString("code"))) { + //第二层 data + String thirdData = realObject.getString("data"); + YtDataSyncResDTO ytDataSyncResDTO = JSON.parseObject(thirdData, YtDataSyncResDTO.class); + return ytDataSyncResDTO; + }else { + log.warn("canji 调用蓝图接口成功但是蓝图的结果中 省平台失败"); + } + }else { + log.warn("canji 调用蓝图接口败"); + } + + } + } catch (Exception e) { + log.warn(String.format("烟台canji结果查询异常cardNo:%s,异常信息:%s", idCard, e.getMessage())); + } + return failResult; + } + + + public static void main(String[] args) { + YtDataSyncResDTO canji = canji("123", "123"); + System.out.println("残疾结果:"+JSON.toJSON(canji)); + + + YtDataSyncResDTO siwang = siWang("1213", "!23"); + System.out.println("死亡结果:"+JSON.toJSON(siwang)); + } + + } diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/NatInfoScanTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/NatInfoScanTask.java index d7334fabd6..f141cc818a 100644 --- a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/NatInfoScanTask.java +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/NatInfoScanTask.java @@ -3,7 +3,7 @@ package com.epmet.task; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.form.NatInfoScanTaskFormDTO; +import com.epmet.dto.form.DataSyncTaskParam; import com.epmet.feign.EpmetUserOpenFeignClient; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -26,9 +26,9 @@ public class NatInfoScanTask implements ITask { @Override public void run(String params) { - NatInfoScanTaskFormDTO formDTO = new NatInfoScanTaskFormDTO(); + DataSyncTaskParam formDTO = new DataSyncTaskParam(); if (StringUtils.isNotBlank(params)) { - formDTO = JSON.parseObject(params, NatInfoScanTaskFormDTO.class); + formDTO = JSON.parseObject(params, DataSyncTaskParam.class); } Result result = userOpenFeignClient.natInfoScanTask(formDTO); if (result.success()) { diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDeathDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDeathDTO.java new file mode 100644 index 0000000000..33ad3a8c5f --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDeathDTO.java @@ -0,0 +1,145 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 数据同步记录-居民死亡信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-11 + */ +@Data +public class DataSyncRecordDeathDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 组织的pids 含agencyId本身 + */ + private String pids; + + /** + * 网格ID + */ + private String gridId; + + /** + * 姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idCard; + + /** + * 手机号 + */ + private String mobile; + + /** + * 居民Id,ic_resi_user.id + */ + private String icResiUserId; + + /** + * 年龄(享年) + */ + private Integer age; + + /** + * 家庭住址 + */ + private String address; + + /** + * 死亡时间 + */ + private String deathDate; + + /** + * 火化时间 + */ + private String cremationTime; + + /** + * 民族 + */ + private String mz; + + /** + * 登记单位名称 + */ + private String organName; + + /** + * 国籍 + */ + private String nation; + + /** + * 第三方记录唯一标识 + */ + private String thirdRecordId; + + /** + * 处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败 + */ + private Integer dealStatus; + + /** + * 处理结果 + */ + private String dealRedult; + + /** + * 删除标识:0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java new file mode 100644 index 0000000000..678a770c1a --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java @@ -0,0 +1,145 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 数据同步记录-居民残疾信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-11 + */ +@Data +public class DataSyncRecordDisabilityDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 组织的pids 含agencyId本身 + */ + private String pids; + + /** + * 网格ID + */ + private String gridId; + + /** + * 姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idCard; + + /** + * 电话 + */ + private String mobile; + + /** + * 居民Id,ic_resi_user.id + */ + private String icResiUserId; + + /** + * 残疾证号 + */ + private String cardNum; + + /** + * 残疾等级(状况) + */ + private String cjzk; + + /** + * 残疾类别 + */ + private String cjlb; + + /** + * 文化程度 + */ + private String eduLevel; + + /** + * 婚姻状况 + */ + private String maritalStatus; + + /** + * 监护人 + */ + private String guardian; + + /** + * 监护人联系方式 + */ + private String guardianPhone; + + /** + * 处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败 + */ + private Integer dealStatus; + + /** + * 残疾状态 0:非残疾;1:残疾 + */ + private Integer disabilityStatus; + + /** + * 处理结果 + */ + private String dealRedult; + + /** + * 删除标识:0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java new file mode 100644 index 0000000000..163158f47e --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java @@ -0,0 +1,42 @@ +package com.epmet.dto.form; + +import com.epmet.dto.DataSyncScopeDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2022/9/26 17:04 + * @DESC + */ +@Data +public class DataSyncTaskParam implements Serializable { + + private static final long serialVersionUID = 3053943501957102943L; + + private String customerId; + + private List idCards; + + // ========================后台设置===== + /** + * 根据配置 设置次参数;数据查询范围 必填 + */ + private List orgList; + + /** + * 居民状态【0:正常;1:迁出;2:注销】 + */ + private String resiStatus; + /** + * 居民子状态 01:新增、02:导入、03:迁入、04:新生、11:迁出、21死亡 + */ + private String resiSubStatus; + + /** + * 类别字段 + */ + public String categoryColumn; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatInfoScanTaskFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatInfoScanTaskFormDTO.java deleted file mode 100644 index 6d642b2e90..0000000000 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatInfoScanTaskFormDTO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.epmet.dto.form; - -import lombok.Data; - -import java.io.Serializable; -import java.util.List; - -/** - * @Author zxc - * @DateTime 2022/9/26 17:04 - * @DESC - */ -@Data -public class NatInfoScanTaskFormDTO implements Serializable { - - private static final long serialVersionUID = 3053943501957102943L; - - private String customerId; - - private List idCards; -} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/QueryIcResiUserFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/QueryIcResiUserFormDTO.java new file mode 100644 index 0000000000..99a2d856d7 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/QueryIcResiUserFormDTO.java @@ -0,0 +1,40 @@ +package com.epmet.dto.form.dataSync; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import com.epmet.dto.DataSyncScopeDTO; +import lombok.Data; + +import java.util.List; + +/** + * desc:查询数据同步 所需要的居民信息参数 + * @author liujianjun + */ +@Data +public class QueryIcResiUserFormDTO extends PageFormDTO { + private static final long serialVersionUID = -3556723801307348545L; + /** + * 数据查询范围 必填 + */ + private List scopeList; + /** + * 必填 + */ + private String customerId; + + /** + * 身份证号集合 非必填 + */ + private List idCards; + + /** + * 居民状态【0:正常;1:迁出;2:注销】 + */ + private String resiStatus; + /** + * 居民子状态 01:新增、02:导入、03:迁入、04:新生、11:迁出、21死亡 + */ + private String resiSubStatus; + +} + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatUserInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatUserInfoResultDTO.java index 10e611aa46..278f3ca537 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatUserInfoResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatUserInfoResultDTO.java @@ -14,11 +14,22 @@ public class NatUserInfoResultDTO implements Serializable { private static final long serialVersionUID = 8904940082452398136L; + private String customerId; + private String idCard; private String userId; private String agencyId; + private String gridId; + private String pids; + + private String name; + + /** + * 18大类 中 某一类的 是否值,用于比较 同步数据结果确定是否要插入到表中 + */ + private String categoryColumn; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index a2398b2d92..1a61d61a3c 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -923,5 +923,5 @@ public interface EpmetUserOpenFeignClient { Result dingResiLogin(@RequestBody DingLoginResiFormDTO formDTO); @PostMapping("/epmetuser/dataSyncConfig/natInfoScanTask") - Result natInfoScanTask(@RequestBody NatInfoScanTaskFormDTO formDTO); + Result natInfoScanTask(@RequestBody DataSyncTaskParam formDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 4601ca1ef3..630e838db7 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -713,7 +713,7 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien } @Override - public Result natInfoScanTask(NatInfoScanTaskFormDTO formDTO) { + public Result natInfoScanTask(DataSyncTaskParam formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "natInfoScanTask", formDTO); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java index 2963823ce2..2ea0a33db9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java @@ -13,7 +13,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.DataSyncConfigDTO; import com.epmet.dto.form.ConfigSwitchFormDTO; -import com.epmet.dto.form.NatInfoScanTaskFormDTO; +import com.epmet.dto.form.DataSyncTaskParam; import com.epmet.dto.form.ScopeSaveFormDTO; import com.epmet.service.DataSyncConfigService; import org.springframework.beans.factory.annotation.Autowired; @@ -107,7 +107,7 @@ public class DataSyncConfigController { } @PostMapping("natInfoScanTask") - public Result natInfoScanTask(@RequestBody NatInfoScanTaskFormDTO formDTO){ + public Result natInfoScanTask(@RequestBody DataSyncTaskParam formDTO){ dataSyncConfigService.dataSyncForYanTaiTask(formDTO); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncConfigDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncConfigDao.java index 6df7281e5b..2963617263 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncConfigDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncConfigDao.java @@ -4,6 +4,7 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.DataSyncConfigDTO; import com.epmet.dto.DataSyncScopeDTO; import com.epmet.dto.form.ConfigSwitchFormDTO; +import com.epmet.dto.form.DataSyncTaskParam; import com.epmet.dto.result.NatUserInfoResultDTO; import com.epmet.entity.DataSyncConfigEntity; import org.apache.ibatis.annotations.Mapper; @@ -53,10 +54,10 @@ public interface DataSyncConfigDao extends BaseDao { /** * Desc: 根据范围查询居民证件号 * - * @param orgList + * @param formDTO * @author zxc * @date 2022/9/27 09:23 */ - List getIdCardsByScope(@Param("orgList") List orgList, @Param("idCardList") List idCardList); + List getIdCardsByScope(DataSyncTaskParam formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDeathDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDeathDao.java new file mode 100644 index 0000000000..6456d58053 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDeathDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.DataSyncRecordDeathEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 数据同步记录-居民死亡信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-11 + */ +@Mapper +public interface DataSyncRecordDeathDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDisabilityDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDisabilityDao.java new file mode 100644 index 0000000000..caad1854be --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDisabilityDao.java @@ -0,0 +1,17 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.DataSyncRecordDisabilityEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 数据同步记录-居民残疾信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-11 + */ +@Mapper +public interface DataSyncRecordDisabilityDao extends BaseDao { + + //int upsertBatch(List list); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDeathEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDeathEntity.java new file mode 100644 index 0000000000..49d8749e9a --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDeathEntity.java @@ -0,0 +1,111 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 数据同步记录-居民死亡信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-11 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("data_sync_record_death") +public class DataSyncRecordDeathEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 组织的pids 含agencyId本身 + */ + private String pids; + + /** + * 网格ID + */ + private String gridId; + + /** + * 姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idCard; + + /** + * 手机号 + */ + private String mobile; + + /** + * 居民Id,ic_resi_user.id + */ + private String icResiUserId; + + /** + * 年龄(享年) + */ + private Integer age; + + /** + * 家庭住址 + */ + private String address; + + /** + * 死亡时间 + */ + private String deathDate; + + /** + * 火化时间 + */ + private String cremationTime; + + /** + * 民族 + */ + private String mz; + + /** + * 登记单位名称 + */ + private String organName; + + /** + * 国籍 + */ + private String nation; + + /** + * 第三方记录唯一标识 + */ + private String thirdRecordId; + + /** + * 处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败 + */ + private Integer dealStatus; + + /** + * 处理结果 + */ + private String dealRedult; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java new file mode 100644 index 0000000000..4307bd8e25 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java @@ -0,0 +1,111 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 数据同步记录-居民残疾信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-11 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("data_sync_record_disability") +public class DataSyncRecordDisabilityEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 组织的pids 含agencyId本身 + */ + private String pids; + + /** + * 网格ID + */ + private String gridId; + + /** + * 姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idCard; + + /** + * 电话 + */ + private String mobile; + + /** + * 居民Id,ic_resi_user.id + */ + private String icResiUserId; + + /** + * 残疾证号 + */ + private String cardNum; + + /** + * 残疾等级(状况) + */ + private String cjzk; + + /** + * 残疾类别 + */ + private String cjlb; + + /** + * 文化程度 + */ + private String eduLevel; + + /** + * 婚姻状况 + */ + private String maritalStatus; + + /** + * 监护人 + */ + private String guardian; + + /** + * 监护人联系方式 + */ + private String guardianPhone; + + /** + * 处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败 + */ + private Integer dealStatus; + + /** + * 需要处理的残疾状态 0:非残疾;1:残疾 + */ + private Integer disabilityStatus; + + /** + * 处理结果 + */ + private String dealRedult; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java index 049fc774a0..fe51881c46 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java @@ -6,7 +6,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.DataSyncConfigDTO; import com.epmet.dto.form.ConfigSwitchFormDTO; -import com.epmet.dto.form.NatInfoScanTaskFormDTO; +import com.epmet.dto.form.DataSyncTaskParam; import com.epmet.dto.form.ScopeSaveFormDTO; import com.epmet.entity.DataSyncConfigEntity; @@ -82,5 +82,5 @@ public interface DataSyncConfigService extends BaseService */ void scopeSave(ScopeSaveFormDTO formDTO); - void dataSyncForYanTaiTask(NatInfoScanTaskFormDTO formDTO); + void dataSyncForYanTaiTask(DataSyncTaskParam formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDeathService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDeathService.java new file mode 100644 index 0000000000..17a4efb3e0 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDeathService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.DataSyncRecordDeathDTO; +import com.epmet.entity.DataSyncRecordDeathEntity; + +import java.util.List; +import java.util.Map; + +/** + * 数据同步记录-居民死亡信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-11 + */ +public interface DataSyncRecordDeathService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-10-11 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-10-11 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return DataSyncRecordDeathDTO + * @author generator + * @date 2022-10-11 + */ + DataSyncRecordDeathDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-10-11 + */ + void save(DataSyncRecordDeathDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-10-11 + */ + void update(DataSyncRecordDeathDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-10-11 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java new file mode 100644 index 0000000000..73408be3f2 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java @@ -0,0 +1,81 @@ +package com.epmet.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.DataSyncRecordDisabilityDTO; +import com.epmet.entity.DataSyncRecordDisabilityEntity; + +import java.util.List; +import java.util.Map; + +/** + * 数据同步记录-居民残疾信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-11 + */ +public interface DataSyncRecordDisabilityService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-10-11 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-10-11 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return DataSyncRecordDisabilityDTO + * @author generator + * @date 2022-10-11 + */ + DataSyncRecordDisabilityDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-10-11 + */ + void save(DataSyncRecordDisabilityDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-10-11 + */ + void update(DataSyncRecordDisabilityDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-10-11 + */ + void delete(String[] ids); + + DataSyncRecordDisabilityDTO selectOne(LambdaQueryWrapper queryWrapper); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index ed2490feed..26fe7c97c3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -1,11 +1,17 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.form.PageFormDTO; +import com.epmet.commons.tools.dto.result.YtDataSyncResDTO; import com.epmet.commons.tools.dto.result.YtHsjcResDTO; +import com.epmet.commons.tools.enums.IcResiUserSubStatusEnum; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; @@ -18,19 +24,14 @@ import com.epmet.commons.tools.utils.YtHsResUtils; import com.epmet.dao.DataSyncConfigDao; import com.epmet.dao.IcNatDao; import com.epmet.dto.DataSyncConfigDTO; +import com.epmet.dto.DataSyncRecordDisabilityDTO; import com.epmet.dto.form.ConfigSwitchFormDTO; -import com.epmet.dto.form.NatInfoScanTaskFormDTO; +import com.epmet.dto.form.DataSyncTaskParam; import com.epmet.dto.form.ScopeSaveFormDTO; import com.epmet.dto.result.NatUserInfoResultDTO; -import com.epmet.entity.DataSyncConfigEntity; -import com.epmet.entity.DataSyncScopeEntity; -import com.epmet.entity.IcNatEntity; -import com.epmet.entity.IcNatRelationEntity; +import com.epmet.entity.*; import com.epmet.enums.DataSyncEnum; -import com.epmet.service.DataSyncConfigService; -import com.epmet.service.DataSyncScopeService; -import com.epmet.service.IcNatRelationService; -import com.epmet.service.IcNatService; +import com.epmet.service.*; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; @@ -65,9 +66,13 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); @@ -104,6 +109,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl result = new PageData<>(new ArrayList<>(), NumConstant.ZERO_L); PageInfo pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()) .doSelectPageInfo(() -> baseDao.list(tokenDto.getCustomerId(), null)); - if (CollectionUtils.isNotEmpty(pageInfo.getList())){ + if (CollectionUtils.isNotEmpty(pageInfo.getList())) { result.setList(pageInfo.getList()); result.setTotal(Integer.parseInt(String.valueOf(pageInfo.getTotal()))); } @@ -134,6 +141,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl { o.setCustomerId(formDTO.getCustomerId()); o.setDataSyncConfigId(formDTO.getDataSyncConfigId()); - if (o.getOrgType().equals("grid")){ + if (o.getOrgType().equals("grid")) { GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(o.getOrgId()); - if (null == gridInfo){ - throw new EpmetException("查询网格信息失败"+o.getOrgId()); + if (null == gridInfo) { + throw new EpmetException("查询网格信息失败" + o.getOrgId()); } o.setPid(gridInfo.getPid()); o.setOrgIdPath(gridInfo.getPids() + ":" + gridInfo.getId()); - }else { + } else { AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(o.getOrgId()); - if (null == agencyInfo){ - throw new EpmetException("查询组织信息失败"+o.getOrgId()); + if (null == agencyInfo) { + throw new EpmetException("查询组织信息失败" + o.getOrgId()); } o.setPid(agencyInfo.getPid()); o.setOrgIdPath(agencyInfo.getPids().equals(NumConstant.EMPTY_STR) || agencyInfo.getPids().equals(NumConstant.ZERO_STR) ? agencyInfo.getId() : agencyInfo.getPids() + ":" + agencyInfo.getId()); @@ -171,145 +179,432 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl allConfigList = baseDao.list(formDTO.getCustomerId() ,"open"); - if (CollectionUtils.isEmpty(allConfigList)){ + public void dataSyncForYanTaiTask(DataSyncTaskParam formDTO) { + List allConfigList = baseDao.list(formDTO.getCustomerId(), "open"); + if (CollectionUtils.isEmpty(allConfigList)) { return; } //TODO 根据dataCode 调用不同的方法 抽取数据 - if (CollectionUtils.isNotEmpty(allConfigList)){ + if (CollectionUtils.isNotEmpty(allConfigList)) { log.warn("dataSyncForYanTaiTask don't have any resi data to pull data form YanTai interface"); return; } for (DataSyncConfigDTO config : allConfigList) { + //没有配置 数据拉取范围 继续下次循环 - if (CollectionUtils.isEmpty(config.getScopeList())){ + if (CollectionUtils.isEmpty(config.getScopeList())) { continue; } - //如果传了身份证号 则按照身份证号查询 并同步记录, userId如果为空则是 手动录入的 此人没有录入居民库 但是也可以同步 - if (CollectionUtils.isNotEmpty(formDTO.getIdCards())){ - List userIdByIdCard = baseDao.getIdCardsByScope(config.getScopeList(),formDTO.getIdCards()); - List collect = formDTO.getIdCards().stream().map(id -> { - NatUserInfoResultDTO e = new NatUserInfoResultDTO(); - e.setIdCard(id); - e.setUserId(""); - return e; - }).collect(Collectors.toList()); - - collect.forEach(c -> userIdByIdCard.stream().filter(u -> u.getIdCard().equals(c.getIdCard())).forEach(u -> c.setUserId(u.getUserId()))); - executeSyncData(config, collect); - return; - } else { - //没传具体参数 则 按照 - int pageNo = NumConstant.ONE; - int pageSize = NumConstant.ONE_THOUSAND; - PageInfo pageInfo = null; - do { - //根据 组织 分页获取 居民数据 - pageInfo = PageHelper.startPage(pageNo, pageSize, false) - .doSelectPageInfo(() -> baseDao.getIdCardsByScope(config.getScopeList(),formDTO.getIdCards())); - executeSyncData(config, pageInfo.getList()); - - pageNo++; - } while (pageInfo != null && pageInfo.getSize() == pageSize); + + //没传具体参数 则 按照 + int pageNo = NumConstant.ONE; + int pageSize = NumConstant.ONE_THOUSAND; + List dbResiList = null; + //设置查询数据范围 + formDTO.setOrgList(config.getScopeList()); + DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); + + do { + switch (anEnum) { + case HE_SUAN: + dbResiList = getNatUserInfoFromDB(formDTO, anEnum, pageNo, pageSize); + if (CollectionUtils.isEmpty(dbResiList)) { + break; + } + hsjc(dbResiList, config.getCustomerId()); + break; + case CAN_JI: + formDTO.setCategoryColumn("IS_CJ"); + dbResiList = getNatUserInfoFromDB(formDTO, anEnum, pageNo, pageSize); + canJi(dbResiList); + break; + case SI_WANG: + formDTO.setResiSubStatus(IcResiUserSubStatusEnum.DIED.getSubStatus()); + dbResiList = getNatUserInfoFromDB(formDTO, anEnum, pageNo, pageSize); + siWang(dbResiList); + break; + default: + log.warn("没有要处理的数据"); + } + pageNo++; + } while (dbResiList != null && dbResiList.size() == pageSize); + } + + } + + @Transactional(rollbackFor = Exception.class) + public void siWang(List dbResiList) { + List list = new ArrayList<>(); + for (NatUserInfoResultDTO dbResi : dbResiList) { + YtDataSyncResDTO thirdResult = YtHsResUtils.siWang(dbResi.getIdCard(), dbResi.getName()); + if (200 != thirdResult.getCode()) { + log.warn("canJi 调用蓝图接口失败了 继续处理下一个人"); + continue; + } + /*{ + "AGE": "73", + "CARD_TYPE": "9", + "CREATE_ORGAN_NAME": "菏泽市巨野县殡仪馆", + "CREMATION_TIME": "2014-04-17 14:46", + "DEAD_ID": "SZ-371724-2012-1006560", + "DEATH_DATE": "2014-04-17", + "FAMILY_ADD": "菏泽市巨野县开发区马庄村", + "FOLK": "01", + "ID_CARD": "1", + "NAME": "郭**", + "NATION": "156", + "POPULACE": "3381C3014B60439FE05319003C0A0897", + "POPULACE_NAME": "菏泽市巨野县开发区马庄村", + "RECORD_ID": "E-371724-2012-100000000000407849", + "RN": "1", + "SEX": "1" + }*/ + String thirdResultData = thirdResult.getData(); + JSONObject thirdResultObject = JSON.parseObject(thirdResultData); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DataSyncRecordDisabilityEntity::getIdCard, dbResi.getIdCard()); + //获取数据库里的记录 + DataSyncRecordDisabilityDTO dbDisablityEntity = dataSyncRecordDisabilityService.selectOne(queryWrapper); + + + DataSyncRecordDisabilityEntity entity = new DataSyncRecordDisabilityEntity(); + entity.setId(dbDisablityEntity.getId()); + //居民库里 是否是残疾 + String categoryColumn = dbResi.getCategoryColumn(); + + + JudgeDealStatus judgeDealStatus = null; + //居民是残疾 + if (NumConstant.ONE_STR.equals(categoryColumn)) { + // 第三方返回了该人的 残疾记录 说明和居民库的状态一致 只需要处理 同步记录中的数据即可 + if (thirdResultObject != null) { + //todo 联调时看一下 为什么db == null 总是true + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).invoke(); + if (judgeDealStatus.isStop()) { + continue; + } + } else { + //没有返回该人是残疾的数据 说明需要处理居民库的数据 + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).notSame(); + } + } else if (NumConstant.ZERO_STR.equals(categoryColumn)) { + //居民不是残疾 + + // 第三方没有返回了该人的 残疾记录 说明和居民库的状态一致 只需要处理 同步记录中的数据即可 + if (thirdResultObject == null) { + //todo 联调时看一下 为什么db == null 总是true + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).invoke(); + if (judgeDealStatus.isStop()) { + continue; + } + + } else { + //蓝图返回该人是残疾的数据 说明需要处理居民库的数据 + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).notSame(); + } } + entity.setCustomerId(dbResi.getCustomerId()); + entity.setAgencyId(dbResi.getAgencyId()); + entity.setPids(dbResi.getPids()); + entity.setGridId(dbResi.getGridId()); + entity.setName(dbResi.getName()); + entity.setIdCard(thirdResultObject.getString("citizenId")); + entity.setMobile(thirdResultObject.getString("phoneNo")); + entity.setIcResiUserId(dbResi.getUserId()); + entity.setCardNum(thirdResultObject.getString("cardNum")); + //todo 残疾等级 从字典获取 + entity.setCjzk(thirdResultObject.getString("idtLevelName")); + entity.setCjlb(thirdResultObject.getString("idtKindName")); + entity.setEduLevel(thirdResultObject.getString("eduLevelName")); + entity.setMaritalStatus(thirdResultObject.getString("marriagerName")); + entity.setGuardian(thirdResultObject.getString("guardian")); + entity.setGuardianPhone(thirdResultObject.getString("guardianPhone")); + entity.setDealStatus(NumConstant.ZERO); + entity.setDealRedult(StrConstant.EPMETY_STR); + if (judgeDealStatus.isNeedSetStatus) { + entity.setDealRedult(judgeDealStatus.dealResult); + entity.setDealStatus(judgeDealStatus.dealStatus); + } + list.add(entity); } + dataSyncRecordDisabilityService.saveOrUpdateBatch(list); } /** - * desc:根据居民身份证号 从蓝图api接口 获取数据到本地 - * @param config - * @param resiList + * desc:从数据库获取居民信息 + * + * @param formDTO + * @param anEnum + * @param pageNo + * @param pageSize + * @return */ - private void executeSyncData(DataSyncConfigDTO config, List resiList) { - DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); - switch (anEnum) { - case HE_SUAN: - hsjc(resiList, config.getCustomerId()); - break; - case CAN_JI: - //todo - break; - case SI_WANG: - //todo - break; - default: - log.warn("没有要处理的数据"); + private List getNatUserInfoFromDB(DataSyncTaskParam formDTO, DataSyncEnum anEnum, int pageNo, int pageSize) { + //根据 组织 分页获取 居民数据 + PageInfo pageInfo = PageHelper.startPage(pageNo, pageSize, false) + .doSelectPageInfo(() -> baseDao.getIdCardsByScope(formDTO)); + List dbResiList; + dbResiList = pageInfo.getList(); + //如果传了身份证号 则按照身份证号查询 并同步记录, userId如果为空则是 手动录入的 此人没有录入居民库 但是也可以同步 + if (CollectionUtils.isNotEmpty(formDTO.getIdCards()) && DataSyncEnum.HE_SUAN.equals(anEnum.getCode())) { + List collect = formDTO.getIdCards().stream().map(id -> { + NatUserInfoResultDTO e = new NatUserInfoResultDTO(); + e.setIdCard(id); + e.setUserId(""); + return e; + }).collect(Collectors.toList()); + + for (NatUserInfoResultDTO c : collect) { + dbResiList.stream().filter(u -> u.getIdCard().equals(c.getIdCard())).forEach(u -> c.setUserId(u.getUserId())); + } + dbResiList = collect; + } + return dbResiList; + } + + /*\"code\":300, + \"name\":\"姓名\", + \"genderName\":\"性别\", + \"citizenId\":\"身份证号\", + \"cardNum\":\"残疾证号\", + \"idtKindName\":\"残疾类别\", + \"idtLevelName\":\"残疾等级\", + \"eduLevelName\":\"教育程度\", + \"marriagerName\":\"婚姻状况\", + \"guardian\":\"监护人\", + \"guardianPhone\":\"监护人联系方式\", + \"residentAdd\":\"户籍地址\", + \"nowAdd\":'现居住地\", + \"phoneNo\":'联系电话\",*/ + @Transactional(rollbackFor = Exception.class) + public void canJi(List resiList) { + List list = new ArrayList<>(); + for (NatUserInfoResultDTO dbResi : resiList) { + YtDataSyncResDTO thirdResult = YtHsResUtils.canji(dbResi.getIdCard(), dbResi.getName()); + if (200 != thirdResult.getCode()) { + log.warn("canJi 调用蓝图接口失败了 继续处理下一个人"); + continue; + } + String thirdResultData = thirdResult.getData(); + JSONObject thirdResultObject = JSON.parseObject(thirdResultData); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DataSyncRecordDisabilityEntity::getIdCard, dbResi.getIdCard()); + //获取数据库里的记录 + DataSyncRecordDisabilityDTO dbDisablityEntity = dataSyncRecordDisabilityService.selectOne(queryWrapper); + + + DataSyncRecordDisabilityEntity entity = new DataSyncRecordDisabilityEntity(); + entity.setId(dbDisablityEntity.getId()); + //居民库里 是否是残疾 + String categoryColumn = dbResi.getCategoryColumn(); + + + JudgeDealStatus judgeDealStatus = null; + Integer disabilityStatus = 0; + //居民是残疾 + if (NumConstant.ONE_STR.equals(categoryColumn)) { + // 第三方返回了该人的 残疾记录 说明和居民库的状态一致 只需要处理 同步记录中的数据即可 + if (thirdResultObject != null) { + //todo 联调时看一下 为什么db == null 总是true + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).invoke(); + if (judgeDealStatus.isStop()) { + continue; + } + disabilityStatus = 1; + } else { + //没有返回该人是残疾的数据 说明需要处理居民库的数据 + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).notSame(); + disabilityStatus = 0; + } + } else if (NumConstant.ZERO_STR.equals(categoryColumn)) { + //居民不是残疾 + + // 第三方没有返回了该人的 残疾记录 说明和居民库的状态一致 只需要处理 同步记录中的数据即可 + if (thirdResultObject == null) { + //todo 联调时看一下 为什么db == null 总是true + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).invoke(); + if (judgeDealStatus.isStop()) { + continue; + } + disabilityStatus = 0; + } else { + //蓝图返回该人是残疾的数据 说明需要处理居民库的数据 + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).notSame(); + disabilityStatus = 1; + } + } + + entity.setCustomerId(dbResi.getCustomerId()); + entity.setAgencyId(dbResi.getAgencyId()); + entity.setPids(dbResi.getPids()); + entity.setGridId(dbResi.getGridId()); + entity.setName(dbResi.getName()); + entity.setIdCard(thirdResultObject.getString("citizenId")); + entity.setMobile(thirdResultObject.getString("phoneNo")); + entity.setIcResiUserId(dbResi.getUserId()); + entity.setCardNum(thirdResultObject.getString("cardNum")); + + entity.setCjzk(thirdResultObject.getString("idtLevelName")); + entity.setCjlb(thirdResultObject.getString("idtKindName")); + + entity.setEduLevel(thirdResultObject.getString("eduLevelName")); + entity.setMaritalStatus(thirdResultObject.getString("marriagerName")); + entity.setGuardian(thirdResultObject.getString("guardian")); + entity.setGuardianPhone(thirdResultObject.getString("guardianPhone")); + entity.setDealStatus(NumConstant.ZERO); + entity.setDisabilityStatus(disabilityStatus); + entity.setDealRedult(StrConstant.EPMETY_STR); + if (judgeDealStatus.isNeedSetStatus) { + entity.setDealRedult(judgeDealStatus.getDealResult()); + entity.setDealStatus(judgeDealStatus.getDealStatus()); + } + list.add(entity); } + dataSyncRecordDisabilityService.saveOrUpdateBatch(list); } /** * Desc: 根据证件号 查询nat 存在 ? 不处理 : 新增 + * * @param idCards * @param customerId * @author zxc * @date 2022/9/27 11:08 */ - private void hsjc(List idCards,String customerId){ - if (CollectionUtils.isNotEmpty(idCards)){ - List entities = new ArrayList<>(); - idCards.forEach(idCard -> { - YtHsjcResDTO natInfoResult = YtHsResUtils.hsjc(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); - if (CollectionUtils.isNotEmpty(natInfoResult.getData())){ - natInfoResult.getData().forEach(natInfo -> { - IcNatEntity e = new IcNatEntity(); - e.setCustomerId(customerId); - e.setIsResiUser(StringUtils.isBlank(idCard.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); - e.setUserId(idCard.getUserId()); - e.setUserType("sync"); - e.setName(StringUtils.isNotBlank(natInfo.getName()) ? natInfo.getName() : ""); - e.setMobile(StringUtils.isNotBlank(natInfo.getTelephone()) ? natInfo.getTelephone() : ""); - e.setIdCard(StringUtils.isNotBlank(natInfo.getCard_no()) ? natInfo.getCard_no() : ""); - e.setNatTime(DateUtils.parseDate(natInfo.getTest_time(),DateUtils.DATE_TIME_PATTERN)); - e.setNatResult(natInfo.getSample_result_pcr()); - e.setNatAddress(natInfo.getSampling_org_pcr()); - e.setAgencyId(idCard.getAgencyId()); - e.setPids(idCard.getPids()); - e.setAttachmentType(""); - e.setAttachmentUrl(""); - entities.add(e); - }); + @Transactional(rollbackFor = Exception.class) + public void hsjc(List idCards, String customerId) { + List entities = new ArrayList<>(); + idCards.forEach(idCard -> { + YtHsjcResDTO natInfoResult = YtHsResUtils.hsjc(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); + if (CollectionUtils.isNotEmpty(natInfoResult.getData())) { + natInfoResult.getData().forEach(natInfo -> { + IcNatEntity e = new IcNatEntity(); + e.setCustomerId(customerId); + e.setIsResiUser(StringUtils.isBlank(idCard.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); + e.setUserId(idCard.getUserId()); + e.setUserType("sync"); + e.setName(StringUtils.isNotBlank(natInfo.getName()) ? natInfo.getName() : ""); + e.setMobile(StringUtils.isNotBlank(natInfo.getTelephone()) ? natInfo.getTelephone() : ""); + e.setIdCard(StringUtils.isNotBlank(natInfo.getCard_no()) ? natInfo.getCard_no() : ""); + e.setNatTime(DateUtils.parseDate(natInfo.getTest_time(), DateUtils.DATE_TIME_PATTERN)); + e.setNatResult(natInfo.getSample_result_pcr()); + e.setNatAddress(natInfo.getSampling_org_pcr()); + e.setAgencyId(idCard.getAgencyId()); + e.setPids(idCard.getPids()); + e.setAttachmentType(""); + e.setAttachmentUrl(""); + entities.add(e); + }); + } + }); + if (CollectionUtils.isNotEmpty(entities)) { + List existNatInfos = icNatDao.getExistNatInfo(entities); + entities.forEach(e -> existNatInfos.stream().filter(i -> i.getUserId().equals(e.getUserId()) && i.getIdCard().equals(e.getIdCard())).forEach(i -> e.setExistStatus(true))); + Map> groupByStatus = entities.stream().collect(Collectors.groupingBy(IcNatEntity::getExistStatus)); + if (CollectionUtils.isNotEmpty(groupByStatus.get(false))) { + for (List icNatEntities : ListUtils.partition(groupByStatus.get(false), 500)) { + icNatService.insertBatch(icNatEntities); + } + } + //组织关系表 + List relationEntities = new ArrayList<>(); + entities.forEach(ne -> { + // 不是居民的先不加关系表吧 + if (ne.getIsResiUser().equals(NumConstant.ONE_STR)) { + IcNatRelationEntity e = new IcNatRelationEntity(); + e.setCustomerId(customerId); + e.setAgencyId(ne.getAgencyId()); + e.setPids(ne.getPids()); + e.setIcNatId(ne.getId()); + e.setUserType("sync"); + relationEntities.add(e); } }); - if (CollectionUtils.isNotEmpty(entities)){ - List existNatInfos = icNatDao.getExistNatInfo(entities); - entities.forEach(e -> existNatInfos.stream().filter(i -> i.getUserId().equals(e.getUserId()) && i.getIdCard().equals(e.getIdCard())).forEach(i -> e.setExistStatus(true))); - Map> groupByStatus = entities.stream().collect(Collectors.groupingBy(IcNatEntity::getExistStatus)); - if (CollectionUtils.isNotEmpty(groupByStatus.get(false))){ - for (List icNatEntities : ListUtils.partition(groupByStatus.get(false), 500)) { - icNatService.insertBatch(icNatEntities); - } + if (CollectionUtils.isNotEmpty(relationEntities)) { + for (List icNatRelationEntities : ListUtils.partition(relationEntities, 500)) { + icNatRelationService.insertBatch(icNatRelationEntities); } - //组织关系表 - List relationEntities = new ArrayList<>(); - entities.forEach(ne -> { - // 不是居民的先不加关系表吧 - if (ne.getIsResiUser().equals(NumConstant.ONE_STR)){ - IcNatRelationEntity e = new IcNatRelationEntity(); - e.setCustomerId(customerId); - e.setAgencyId(ne.getAgencyId()); - e.setPids(ne.getPids()); - e.setIcNatId(ne.getId()); - e.setUserType("sync"); - relationEntities.add(e); - } - }); - if (CollectionUtils.isNotEmpty(relationEntities)){ - for (List icNatRelationEntities : ListUtils.partition(relationEntities, 500)) { - icNatRelationService.insertBatch(icNatRelationEntities); - } + } + } + + } + + private class JudgeDealStatus { + private boolean myResult; + private DataSyncRecordDisabilityDTO dbDisablityEntity; + private Integer dealStatus; + private String dealResult; + private boolean isNeedSetStatus; + + public JudgeDealStatus(DataSyncRecordDisabilityDTO dbDisablityEntity) { + this.dbDisablityEntity = dbDisablityEntity; + } + + boolean isStop() { + return myResult; + } + + public Integer getDealStatus() { + return dealStatus; + } + + public String getDealResult() { + return dealResult; + } + + public boolean isNeedSetStatus() { + return isNeedSetStatus; + } + + public JudgeDealStatus invoke() { + //对比记录里 也没有信息 则不用处理 + if (dbDisablityEntity == null || StringUtils.isBlank(dbDisablityEntity.getId())) { + myResult = true; + return this; + } else { + //对比记录里 有数据 且是已处理状态 则继续下一个居民 + if (dbDisablityEntity.getDealStatus().equals(NumConstant.ONE)) { + myResult = true; + return this; + } else { + //如果是其他处理状态 则改为已处理即可 + dealStatus = 1; + dealResult = "系统比对数据一致,自动处理"; + isNeedSetStatus = true; } } + myResult = false; + return this; + } + + /** + * desc:蓝图返回该人是残疾的数据 说明需要处理居民库的数据 + * + * @return + */ + public JudgeDealStatus notSame() { + + if (dbDisablityEntity != null && StringUtils.isNotBlank(dbDisablityEntity.getId()) + && dbDisablityEntity.getDealStatus().equals(NumConstant.ONE)) { + dealStatus = 0; + dealResult = ""; + isNeedSetStatus = true; + } + myResult = false; + return this; } } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java new file mode 100644 index 0000000000..81a8c39961 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java @@ -0,0 +1,87 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.DataSyncRecordDeathDao; +import com.epmet.dto.DataSyncRecordDeathDTO; +import com.epmet.entity.DataSyncRecordDeathEntity; +import com.epmet.redis.DataSyncRecordDeathRedis; +import com.epmet.service.DataSyncRecordDeathService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 数据同步记录-居民死亡信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-11 + */ +@Service +public class DataSyncRecordDeathServiceImpl extends BaseServiceImpl implements DataSyncRecordDeathService { + + @Autowired + private DataSyncRecordDeathRedis dataSyncRecordDeathRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, DataSyncRecordDeathDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, DataSyncRecordDeathDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public DataSyncRecordDeathDTO get(String id) { + DataSyncRecordDeathEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, DataSyncRecordDeathDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(DataSyncRecordDeathDTO dto) { + DataSyncRecordDeathEntity entity = ConvertUtils.sourceToTarget(dto, DataSyncRecordDeathEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(DataSyncRecordDeathDTO dto) { + DataSyncRecordDeathEntity entity = ConvertUtils.sourceToTarget(dto, DataSyncRecordDeathEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java new file mode 100644 index 0000000000..8556999dc2 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java @@ -0,0 +1,94 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.DataSyncRecordDisabilityDao; +import com.epmet.dto.DataSyncRecordDisabilityDTO; +import com.epmet.entity.DataSyncRecordDisabilityEntity; +import com.epmet.redis.DataSyncRecordDisabilityRedis; +import com.epmet.service.DataSyncRecordDisabilityService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 数据同步记录-居民残疾信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-10-11 + */ +@Service +public class DataSyncRecordDisabilityServiceImpl extends BaseServiceImpl implements DataSyncRecordDisabilityService { + + @Autowired + private DataSyncRecordDisabilityRedis dataSyncRecordDisabilityRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, DataSyncRecordDisabilityDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, DataSyncRecordDisabilityDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public DataSyncRecordDisabilityDTO get(String id) { + DataSyncRecordDisabilityEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, DataSyncRecordDisabilityDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(DataSyncRecordDisabilityDTO dto) { + DataSyncRecordDisabilityEntity entity = ConvertUtils.sourceToTarget(dto, DataSyncRecordDisabilityEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(DataSyncRecordDisabilityDTO dto) { + DataSyncRecordDisabilityEntity entity = ConvertUtils.sourceToTarget(dto, DataSyncRecordDisabilityEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + @Override + public DataSyncRecordDisabilityDTO selectOne(LambdaQueryWrapper queryWrapper) { + DataSyncRecordDisabilityEntity entity = baseDao.selectOne(queryWrapper); + return ConvertUtils.sourceToTarget(entity, DataSyncRecordDisabilityDTO.class); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncConfigDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncConfigDao.xml index 4f61e271d3..bae3918241 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncConfigDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncConfigDao.xml @@ -52,22 +52,38 @@ + SELECT + d.id, + d.`NAME`, + d.ID_CARD, + d.DEATH_DATE, + d.AGE, + d.ADDRESS, + d.IC_RESI_USER_ID, + d.GRID_ID, + d.AGENCY_ID + FROM + data_sync_record_death d + WHERE + d.DEL_FLAG = '0' + AND d.CUSTOMER_ID = #{customerId} + + AND d.PIDS LIKE concat( '%', #{agencyId}, '%' ) + + + AND d.ID_CARD LIKE concat('%',#{idCard},'%') + + + AND d.`NAME` LIKE concat('%',#{name},'%') + + ORDER BY + d.CREATED_TIME DESC + From 384c4195e7668d2703acfea2c5402706a5ad469e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 13 Oct 2022 14:47:16 +0800 Subject: [PATCH 047/109] =?UTF-8?q?=E5=88=97=E8=A1=A8=E8=BA=AB=E4=BB=BD?= =?UTF-8?q?=E8=AF=81=E5=8F=B7=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/DataSyncRecordDeathController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java index 5281c4036a..c7fdd676c7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java @@ -1,6 +1,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; @@ -32,6 +33,7 @@ public class DataSyncRecordDeathController { * @param formDTO * @return */ + @MaskResponse(fieldNames = {"idCard" }, fieldsMaskType = {MaskResponse.MASK_TYPE_ID_CARD }) @RequestMapping("page") public Result> page(@LoginUser TokenDto tokenDto, @RequestParam DataSyncRecordDeathPageFormDTO formDTO){ formDTO.setStaffId(tokenDto.getUserId()); From c30b36b7bbe7ee0dced1b22bf02062a6e3a7e015 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 13 Oct 2022 14:51:44 +0800 Subject: [PATCH 048/109] daochu --- .../DataSyncRecordDeathController.java | 47 +++++++++++++++++++ .../impl/DataSyncRecordDeathServiceImpl.java | 2 +- 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java index c7fdd676c7..20ebd81810 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java @@ -1,17 +1,28 @@ package com.epmet.controller; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.MaskResponse; +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.dto.DataSyncRecordDeathDTO; import com.epmet.dto.form.dataSync.DataSyncRecordDeathPageFormDTO; import com.epmet.service.DataSyncRecordDeathService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; @@ -21,6 +32,7 @@ import java.util.List; * @author generator generator@elink-cn.com * @since v1.0.0 2022-10-11 */ +@Slf4j @RestController @RequestMapping("dataSyncRecordDeath") public class DataSyncRecordDeathController { @@ -68,5 +80,40 @@ public class DataSyncRecordDeathController { return new Result(); } + /** + * pc:数据比对-死亡人员数据-导出 + * @param tokenDto + * @param formDTO + * @param response + */ + @NoRepeatSubmit + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody DataSyncRecordDeathPageFormDTO formDTO, HttpServletResponse response) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + formDTO.setIsPage(false); + ExcelWriter excelWriter = null; + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + int pageNo = formDTO.getPageNo(); + try { + String today = DateUtils.format(new Date(), DateUtils.DATE_PATTERN_MMDD); + String fileName = "数据比对-死亡人员数据".concat(today); + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), DataSyncRecordDeathDTO.class).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + PageData data = null; + do { + data = dataSyncRecordDeathService.page(formDTO); + formDTO.setPageNo(++pageNo); + excelWriter.write(data.getList(), writeSheet); + } while (org.apache.commons.collections4.CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize()); + } catch (Exception e) { + log.error("export exception", e); + } finally { + // 千万别忘记finish 会帮忙关闭流 + if (excelWriter != null) { + excelWriter.finish(); + } + } + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java index 2aecfec3c4..1246b82d47 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java @@ -43,7 +43,7 @@ public class DataSyncRecordDeathServiceImpl extends BaseServiceImpl page(DataSyncRecordDeathPageFormDTO formDTO) { CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); formDTO.setAgencyId(null != staffInfoCacheResult ? staffInfoCacheResult.getAgencyId() : null); - PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(),formDTO.getIsPage()); List records = baseDao.pageSelect(formDTO.getCustomerId(),formDTO.getIdCard(), formDTO.getName(), formDTO.getAgencyId()); PageInfo pi = new PageInfo<>(records); return new PageData<>(records, pi.getTotal()); From b09b4ad987f4fe974a41734f3a6fff56120f7f72 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 13 Oct 2022 14:56:33 +0800 Subject: [PATCH 049/109] DataSyncRecordDeathDTO --- .../com/epmet/dto/DataSyncRecordDeathDTO.java | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDeathDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDeathDTO.java index 780fdc1824..eeed519be6 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDeathDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDeathDTO.java @@ -1,5 +1,8 @@ package com.epmet.dto; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.io.Serializable; @@ -17,126 +20,158 @@ public class DataSyncRecordDeathDTO implements Serializable { private static final long serialVersionUID = 1L; + @ColumnWidth(50) + @ExcelProperty("所属网格") + private String gridName; /** * 主键 */ + @ExcelIgnore private String id; /** * 客户Id */ + @ExcelIgnore private String customerId; /** * 组织Id */ + @ExcelIgnore private String agencyId; /** * 组织的pids 含agencyId本身 */ + @ExcelIgnore private String pids; /** * 网格ID */ + @ExcelIgnore private String gridId; /** * 姓名 */ + @ColumnWidth(15) + @ExcelProperty("姓名") private String name; /** * 身份证 */ + @ColumnWidth(20) + @ExcelProperty("证件号") private String idCard; /** * 居民Id,ic_resi_user.id */ + @ExcelIgnore private String icResiUserId; /** * 年龄(享年) */ + @ColumnWidth(10) + @ExcelProperty("年龄") private String age; /** * 家庭住址 */ + @ColumnWidth(40) + @ExcelProperty("家庭住址") private String address; /** * 死亡时间 */ + @ColumnWidth(20) + @ExcelProperty("死亡日期") private String deathDate; /** * 火化时间 */ + @ColumnWidth(20) + @ExcelProperty("火化时间") private String cremationTime; /** * 民族 */ + @ExcelIgnore private String mz; /** * 登记单位名称 */ + @ColumnWidth(40) + @ExcelProperty("登记单位名称") private String organName; /** * 国籍 */ + @ExcelIgnore private String nation; /** * 第三方记录唯一标识 */ + @ExcelIgnore private String thirdRecordId; /** * 处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败 */ + @ExcelIgnore private Integer dealStatus; /** * 处理结果 */ + @ExcelIgnore private String dealResult; /** * 删除标识:0.未删除 1.已删除 */ + @ExcelIgnore private Integer delFlag; /** * 乐观锁 */ + @ExcelIgnore private Integer revision; /** * 创建人 */ + @ExcelIgnore private String createdBy; /** * 创建时间 */ + @ExcelIgnore private Date createdTime; /** * 更新人 */ + @ExcelIgnore private String updatedBy; /** * 更新时间 */ + @ExcelIgnore private Date updatedTime; - private String gridName; - } From 5f68112c5e9d8294f3077638696f703592fa621b Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 13 Oct 2022 15:56:39 +0800 Subject: [PATCH 050/109] =?UTF-8?q?=E5=88=97=E8=A1=A8=20=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/DataSyncRecordDisabilityDTO.java | 1 + .../DataSyncRecordDisabilityFormDTO.java | 24 ++++++ .../DataSyncRecordDisabilityController.java | 24 +++++- .../dao/DataSyncRecordDisabilityDao.java | 6 ++ .../excel/DataSyncRecordDisabilityExcel.java | 59 ++++++++++++++ .../DataSyncRecordDisabilityService.java | 7 ++ .../DataSyncRecordDisabilityServiceImpl.java | 80 ++++++++++++++++++- .../mapper/DataSyncRecordDisabilityDao.xml | 24 +++++- 8 files changed, 218 insertions(+), 7 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/DataSyncRecordDisabilityFormDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordDisabilityExcel.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java index 8c99d8f95b..c24009c73a 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java @@ -101,6 +101,7 @@ public class DataSyncRecordDisabilityDTO implements Serializable { * 处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败 */ private Integer dealStatus; + private String dealStatusName; /** * 残疾状态 0:非残疾;1:残疾 diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/DataSyncRecordDisabilityFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/DataSyncRecordDisabilityFormDTO.java new file mode 100644 index 0000000000..0de7c52e15 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/DataSyncRecordDisabilityFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form.dataSync; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/10/13 14:47 + * @DESC + */ +@Data +public class DataSyncRecordDisabilityFormDTO extends PageFormDTO implements Serializable { + + private static final long serialVersionUID = -20061989190666183L; + + private String name; + private String idCard; + private String mobile; + private String customerId; + private String userId; + private String agencyId; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java index c8a3bed494..07ac090a24 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java @@ -1,7 +1,9 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -9,10 +11,13 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.DataSyncRecordDisabilityDTO; +import com.epmet.dto.form.dataSync.DataSyncRecordDisabilityFormDTO; import com.epmet.service.DataSyncRecordDisabilityService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.Map; @@ -29,9 +34,11 @@ public class DataSyncRecordDisabilityController { @Autowired private DataSyncRecordDisabilityService dataSyncRecordDisabilityService; - @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = dataSyncRecordDisabilityService.page(params); + @PostMapping("page") + public Result> page(@LoginUser TokenDto tokenDto,@RequestBody DataSyncRecordDisabilityFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + PageData page = dataSyncRecordDisabilityService.list(formDTO); return new Result>().ok(page); } @@ -67,5 +74,16 @@ public class DataSyncRecordDisabilityController { return new Result(); } + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody DataSyncRecordDisabilityFormDTO formDTO, HttpServletResponse response) throws IOException { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + dataSyncRecordDisabilityService.export(formDTO,response); + } + + @PostMapping("batchUpdate") + public Result batchUpdate(){ + return new Result(); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDisabilityDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDisabilityDao.java index caad1854be..8f7d1f4713 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDisabilityDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDisabilityDao.java @@ -1,9 +1,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.DataSyncRecordDisabilityDTO; +import com.epmet.dto.form.dataSync.DataSyncRecordDisabilityFormDTO; import com.epmet.entity.DataSyncRecordDisabilityEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 数据同步记录-居民残疾信息 * @@ -14,4 +18,6 @@ import org.apache.ibatis.annotations.Mapper; public interface DataSyncRecordDisabilityDao extends BaseDao { //int upsertBatch(List list); + + List list(DataSyncRecordDisabilityFormDTO formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordDisabilityExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordDisabilityExcel.java new file mode 100644 index 0000000000..e7a52a2b40 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordDisabilityExcel.java @@ -0,0 +1,59 @@ +package com.epmet.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +/** + * @Author zxc + * @DateTime 2022/10/13 15:29 + * @DESC + */ +@Data +public class DataSyncRecordDisabilityExcel { + + @ExcelProperty(value = "姓名") + @ColumnWidth(20) + private String name; + + @ExcelProperty(value = "证件号") + @ColumnWidth(20) + private String idCard; + + @ExcelProperty(value = "手机") + @ColumnWidth(20) + private String mobile; + + @ExcelProperty(value = "性别") + @ColumnWidth(20) + private String gender; + + @ExcelProperty(value = "民族") + @ColumnWidth(20) + private String mz; + + @ExcelProperty(value = "家庭住址") + @ColumnWidth(20) + private String address; + + @ExcelProperty(value = "残疾类别") + @ColumnWidth(20) + private String cjlb; + + @ExcelProperty(value = "残疾等级") + @ColumnWidth(20) + private String cjzk; + + @ExcelProperty(value = "监护人") + @ColumnWidth(20) + private String guardian; + + @ExcelProperty(value = "状态") + @ColumnWidth(20) + private String dealStatusName; + + @ExcelProperty(value = "失败原因") + @ColumnWidth(20) + private String dealResult; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java index 73408be3f2..99ea18d578 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java @@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.DataSyncRecordDisabilityDTO; +import com.epmet.dto.form.dataSync.DataSyncRecordDisabilityFormDTO; import com.epmet.entity.DataSyncRecordDisabilityEntity; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -78,4 +81,8 @@ public interface DataSyncRecordDisabilityService extends BaseService queryWrapper); + + PageData list(DataSyncRecordDisabilityFormDTO formDTO); + + void export(DataSyncRecordDisabilityFormDTO formDTO, HttpServletResponse response) throws IOException; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java index f8e093e6f1..e28e34e301 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java @@ -1,23 +1,43 @@ package com.epmet.service.impl; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.ExcelUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.dao.DataSyncRecordDisabilityDao; import com.epmet.dto.DataSyncRecordDisabilityDTO; +import com.epmet.dto.form.dataSync.DataSyncRecordDisabilityFormDTO; import com.epmet.entity.DataSyncRecordDisabilityEntity; +import com.epmet.excel.DataSyncRecordDisabilityExcel; import com.epmet.service.DataSyncRecordDisabilityService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.*; /** * 数据同步记录-居民残疾信息 @@ -26,6 +46,7 @@ import java.util.Map; * @since v1.0.0 2022-10-11 */ @Service +@Slf4j public class DataSyncRecordDisabilityServiceImpl extends BaseServiceImpl implements DataSyncRecordDisabilityService { @Override @@ -86,4 +107,57 @@ public class DataSyncRecordDisabilityServiceImpl extends BaseServiceImpl list(DataSyncRecordDisabilityFormDTO formDTO) { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo){ + throw new EpmetException("查询工作人员失败:"+formDTO.getUserId()); + } + formDTO.setAgencyId(staffInfo.getAgencyId()); + PageData result = new PageData<>(new ArrayList<>(), NumConstant.ZERO_L); + if (formDTO.getIsPage()){ + PageInfo pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.list(formDTO)); + result.setList(pageInfo.getList()); + result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal()))); + }else { + List list = baseDao.list(formDTO); + result.setList(list); + result.setTotal(list.size()); + } + return result; + } + + @Override + public void export(DataSyncRecordDisabilityFormDTO formDTO, HttpServletResponse response) throws IOException { + ExcelWriter excelWriter = null; + formDTO.setPageNo(NumConstant.ONE); + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + try { + String fileName = "残疾" + DateUtils.format(new Date()) + ".xlsx"; + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), DataSyncRecordDisabilityExcel.class).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + List list = null; + do { + PageData data = list(formDTO); + list = ConvertUtils.sourceToTarget(data.getList(), DataSyncRecordDisabilityExcel.class); + formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); + excelWriter.write(list, writeSheet); + } while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize()); + } catch (EpmetException e) { + response.reset(); + response.setCharacterEncoding("UTF-8"); + response.setHeader("content-type", "application/json; charset=UTF-8"); + PrintWriter printWriter = response.getWriter(); + Result result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),e.getMsg()); + printWriter.write(JSON.toJSONString(result)); + printWriter.close(); + } catch (Exception e) { + log.error("export exception", e); + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml index a08fdfc710..0326e8b1f5 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml @@ -32,7 +32,29 @@ - + + + From 11eebc55c87a23c65517044e06765a4a20680272 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 13 Oct 2022 16:06:35 +0800 Subject: [PATCH 051/109] detail --- .../dto/DataSyncRecordDisabilityDTO.java | 3 + .../epmet/dto/form/dataSync/ResiInfoDTO.java | 81 +++++++++++++++++++ .../DataSyncRecordDisabilityController.java | 2 +- .../DataSyncRecordDisabilityServiceImpl.java | 13 ++- 4 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/ResiInfoDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java index c24009c73a..d1a35d8d77 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto; +import com.epmet.dto.form.dataSync.ResiInfoDTO; import lombok.Data; import java.io.Serializable; @@ -143,4 +144,6 @@ public class DataSyncRecordDisabilityDTO implements Serializable { */ private Date updatedTime; + private ResiInfoDTO resiInfo; + } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/ResiInfoDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/ResiInfoDTO.java new file mode 100644 index 0000000000..b42e47618d --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/ResiInfoDTO.java @@ -0,0 +1,81 @@ +package com.epmet.dto.form.dataSync; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/10/13 15:58 + * @DESC + */ +@Data +public class ResiInfoDTO implements Serializable { + + private static final long serialVersionUID = -3320460795150912451L; + + + /** + * 姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idCard; + + /** + * 电话 + */ + private String mobile; + + + /** + * 残疾证号 + */ + private String cardNum; + + /** + * 残疾等级(状况) + */ + private String cjzk; + + /** + * 残疾类别 + */ + private String cjlb; + + /** + * 民族 + */ + private String mz; + + /** + * 家庭住址 + */ + private String address; + + /** + * 性别 + */ + private String gender; + + /** + * 监护人 + */ + private String guardian; + + public ResiInfoDTO() { + this.name = ""; + this.idCard = ""; + this.mobile = ""; + this.cardNum = ""; + this.cjzk = ""; + this.cjlb = ""; + this.mz = ""; + this.address = ""; + this.gender = ""; + this.guardian = ""; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java index 07ac090a24..4685545676 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java @@ -42,7 +42,7 @@ public class DataSyncRecordDisabilityController { return new Result>().ok(page); } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + @PostMapping("detail/{id}") public Result get(@PathVariable("id") String id){ DataSyncRecordDisabilityDTO data = dataSyncRecordDisabilityService.get(id); return new Result().ok(data); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java index e28e34e301..a08f6c9502 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java @@ -22,15 +22,19 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.dao.DataSyncRecordDisabilityDao; import com.epmet.dto.DataSyncRecordDisabilityDTO; +import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.dataSync.DataSyncRecordDisabilityFormDTO; +import com.epmet.dto.form.dataSync.ResiInfoDTO; import com.epmet.entity.DataSyncRecordDisabilityEntity; import com.epmet.excel.DataSyncRecordDisabilityExcel; import com.epmet.service.DataSyncRecordDisabilityService; +import com.epmet.service.IcResiUserService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -49,6 +53,9 @@ import java.util.*; @Slf4j public class DataSyncRecordDisabilityServiceImpl extends BaseServiceImpl implements DataSyncRecordDisabilityService { + @Autowired + private IcResiUserService icResiUserService; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -77,7 +84,11 @@ public class DataSyncRecordDisabilityServiceImpl extends BaseServiceImpl Date: Thu, 13 Oct 2022 16:47:02 +0800 Subject: [PATCH 052/109] =?UTF-8?q?=E3=80=90=E6=AD=BB=E4=BA=A1=E3=80=91?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ChangeDeathController.java | 6 +++ .../DataSyncRecordDeathController.java | 18 +++++++ .../service/DataSyncRecordDeathService.java | 8 +++ .../service/impl/ChangeDeathServiceImpl.java | 25 +++++++-- .../impl/DataSyncRecordDeathServiceImpl.java | 53 +++++++++++++++++++ .../impl/IcUserTransferRecordServiceImpl.java | 42 +++++++++------ 6 files changed, 132 insertions(+), 20 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeDeathController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeDeathController.java index c3a1e0ec6f..963d2369d0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeDeathController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeDeathController.java @@ -50,6 +50,12 @@ public class ChangeDeathController { return new Result().ok(data); } + /** + * 死亡管理-新增死亡人员 + * @param tokenDto + * @param dto + * @return + */ @NoRepeatSubmit @PostMapping("save") public Result save(@LoginUser TokenDto tokenDto, @RequestBody ChangeDeathDTO dto){ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java index 20ebd81810..d29cf564be 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java @@ -116,4 +116,22 @@ public class DataSyncRecordDeathController { } } } + + /** + * 批量更新 + * 新增死亡记录 + * + * @param tokenDto + * @param ids + * @return + */ + @NoRepeatSubmit + @PostMapping("batchupdate") + public Result batchUpdate(@LoginUser TokenDto tokenDto, @RequestBody List ids) { + if (CollectionUtils.isEmpty(ids)) { + return new Result(); + } + dataSyncRecordDeathService.batchUpdate(tokenDto.getUserId(), tokenDto.getCustomerId(), ids); + return new Result(); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDeathService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDeathService.java index 43c330af9f..de5e8ef59f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDeathService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDeathService.java @@ -59,4 +59,12 @@ public interface DataSyncRecordDeathService extends BaseService ids); DataSyncRecordDeathDTO selectOne(LambdaQueryWrapper queryWrapper); + + /** + * + * @param userId 当前操作人 + * @param customerId 当前客户 + * @param ids 要操作的记录id + */ + void batchUpdate(String userId, String customerId, List ids); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java index 96085b2a3b..04690ad68a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java @@ -29,6 +29,7 @@ import com.epmet.service.ChangeDeathService; import com.epmet.service.ChangeWelfareService; import com.epmet.service.IcResiUserService; import com.epmet.service.IcUserTransferRecordService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -42,6 +43,7 @@ import java.util.*; * @author generator generator@elink-cn.com * @since v1.0.0 2022-05-05 */ +@Slf4j @Service public class ChangeDeathServiceImpl extends BaseServiceImpl implements ChangeDeathService { @@ -106,6 +108,12 @@ public class ChangeDeathServiceImpl extends BaseServiceImpl params = new HashMap<>(4); params.put("idCard", dto.getIdCard()); if (!list(params).isEmpty()) { - return new Result().error("该人员已经迁入死亡人口"); + // return new Result().error("该人员已经迁入死亡人口"); + log.warn(String.format("该人员已经迁入死亡人口,idCard:%s",result.getIdCard())); + return new Result(); } - + // 插入死亡名单表 dto.setJoinDate(DateUtils.format(new Date())); ChangeDeathEntity entity = ConvertUtils.sourceToTarget(dto, ChangeDeathEntity.class); entity.setCustomerId(loginUserUtil.getLoginUserCustomerId()); insert(entity); + // 如果勾选了享受福利 if (dto.getWelfareFlag() != null && dto.getWelfareFlag()) { ChangeWelfareDTO formDto = new ChangeWelfareDTO(); formDto.setUserId(dto.getUserId()); @@ -148,6 +163,8 @@ public class ChangeDeathServiceImpl extends BaseServiceImpl ids) { + // 要做的事:居民表修改状态为注销、子状态为死亡、加入死亡人员名单、记录变更主表、变更明细表(如果当前死亡的这个人属于十八类中的是,-1操作) + // 上面要做的事,其实就是新增死亡人员名单,调整下ChangeDeathServiceImpl.save,直接调用吧, + for (String id : ids) { + DataSyncRecordDeathEntity entity = baseDao.selectById(id); + if (NumConstant.ONE == entity.getDealStatus() || StringUtils.isBlank(entity.getIcResiUserId())) { + // 已处理的跳过 + continue; + } + try { + ChangeDeathDTO changeDeathDTO = new ChangeDeathDTO(); + changeDeathDTO.setStaffId(userId); + changeDeathDTO.setUserId(entity.getIcResiUserId()); + changeDeathDTO.setGridId(entity.getGridId()); + changeDeathDTO.setName(entity.getName()); + changeDeathDTO.setIdCard(entity.getIdCard()); + // 手机号没有值 + changeDeathDTO.setMobile(StrConstant.EPMETY_STR); + changeDeathDTO.setDeathDate(DateUtils.stringToDate(entity.getDeathDate(), "yyyy-MM-dd")); + changeDeathDTO.setJoinReason("来源于数据比对-死亡人员数据"); + SpringContextUtils.getBean(ChangeDeathServiceImpl.class).save(changeDeathDTO); + entity.setDealStatus(NumConstant.ONE); + } catch (EpmetException epmetException) { + + entity.setDealStatus(NumConstant.TWO); + entity.setDealResult("系统内部异常:" + epmetException.getMsg()); + + epmetException.printStackTrace(); + } catch (Exception e) { + + entity.setDealStatus(NumConstant.TWO); + entity.setDealResult("未知错误:" + e.getMessage()); + + e.printStackTrace(); + } finally { + baseDao.updateById(entity); + } + } + } + + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java index d07fe051eb..e2013336f0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java @@ -179,10 +179,19 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl result2 = getNewHouseInfo(formDTO); CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); From 26a23ceb314781b0037f6ab591e16b9ea14b2144 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 13 Oct 2022 16:51:52 +0800 Subject: [PATCH 053/109] =?UTF-8?q?=E6=94=B9=E5=AD=97=E6=AE=B5=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/utils/YtHsResUtils.java | 107 +++-- .../dto/DataSyncRecordDisabilityDTO.java | 24 +- .../DataSyncRecordDisabilityEntity.java | 24 +- .../impl/DataSyncConfigServiceImpl.java | 412 ++++++++++-------- .../resources/mapper/DataSyncConfigDao.xml | 2 + .../mapper/DataSyncRecordDisabilityDao.xml | 6 +- .../service/DataSyncConfigServiceTest.java | 22 + 7 files changed, 356 insertions(+), 241 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/test/java/com/epmet/service/DataSyncConfigServiceTest.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java index b41afbd23b..6ed4887e13 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java @@ -26,6 +26,7 @@ public class YtHsResUtils { private static final String PAGE_SIZE = "PAGESIZE"; private static final String START = "ROWNUM"; private static final String LIMIT = "PAGESIZE"; + /** * desc:图片同步扫描 * @@ -35,24 +36,28 @@ public class YtHsResUtils { try { //String param = String.format("&card_no=%s&ROWNUM=%s&PAGESIZE=%s", cardNo, rowNum, pageSize); //String apiUrl = url.concat(param); - Map param = new HashMap<>(); - param.put(APP_KEY,APP_KEY_VALUE); - param.put(CARD_NO,cardNo); - param.put(ROW_NUM,rowNum); - param.put(PAGE_SIZE,pageSize); - log.info("hsjc api param:{}",param); - Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"hsjcxx", param); - log.info("hsjc api result:{}",JSON.toJSONString(result)); + Map param = new HashMap<>(); + param.put(APP_KEY, APP_KEY_VALUE); + param.put(CARD_NO, cardNo); + param.put(ROW_NUM, rowNum); + param.put(PAGE_SIZE, pageSize); + log.info("hsjc api param:{}", param); + //todo 核酸检测 mock数据 放开她 + //Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"hsjcxx", param); + String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":[{\"id\":\"6a31eb2d38c011eda054fa163ebc7ff4\",\"name\":\"数据同步测试用户\",\"card_no\":\"370283199912010302\",\"telephone\":\"13697890860\",\"address\":\"保利香榭里公馆18-1-302\",\"test_time\":\"2022-09-20 12:52:28\",\"depart_name\":\"天仁医学检验实验室有限公司\",\"county\":\"莱山区\",\"upload_time\":\"2022-09-20 21:23:10\",\"sample_result_pcr\":\"2\",\"sample_time\":\"2022-09-20 06:48:28\",\"sampling_org_pcr\":\"采样点327\"}],\"total\":1}"; + Result result = new Result().ok(mockData); + log.info("hsjc api result:{}", JSON.toJSONString(result)); if (result.success()) { return JSON.parseObject(result.getData(), YtHsjcResDTO.class); } } catch (Exception e) { - log.warn(String.format("烟台核酸检测结果查询异常cardNo:%s,异常信息:%s", cardNo, e.getMessage())); + log.error(String.format("烟台核酸检测结果查询异常cardNo:%s,异常信息:%s", cardNo, e.getMessage())); } YtHsjcResDTO resultResult = new YtHsjcResDTO(); resultResult.setData(new ArrayList<>()); return resultResult; } + /** * desc:死亡数据同步 * @@ -65,48 +70,55 @@ public class YtHsResUtils { // 3)idcard身份证号 必填 // 4)start开始默认0 // 5)limit每页记录数 - Map param = new HashMap<>(); - param.put(APP_KEY,APP_KEY_VALUE); - param.put("id_card",cardNo); - param.put("name",userName); - param.put("start",0); - param.put("limit",1); + Map param = new HashMap<>(); + param.put(APP_KEY, APP_KEY_VALUE); + param.put("id_card", cardNo); + param.put("name", userName); + param.put("start", 0); + param.put("limit", 1); - log.info("siWang api param:{}",param); + log.info("siWang api param:{}", param); //todo 放开他 //Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"mzt_hhrysj1", param); String mockData2 = "{\"code\":200,\"data\":\"{\\\"data\\\":[{\\\"AGE\\\":\\\"73\\\",\\\"CARD_TYPE\\\":\\\"9\\\",\\\"CREATE_ORGAN_NAME\\\":\\\"菏泽市巨野县殡仪馆\\\",\\\"CREMATION_TIME\\\":\\\"2014-04-17 14:46\\\",\\\"DEAD_ID\\\":\\\"SZ-371724-2012-1006560\\\",\\\"DEATH_DATE\\\":\\\"2014-04-17\\\",\\\"FAMILY_ADD\\\":\\\"菏泽市巨野县开发区马庄村\\\",\\\"FOLK\\\":\\\"01\\\",\\\"ID_CARD\\\":\\\"1\\\",\\\"NAME\\\":\\\"郭**\\\",\\\"NATION\\\":\\\"156\\\",\\\"POPULACE\\\":\\\"3381C3014B60439FE05319003C0A0897\\\",\\\"POPULACE_NAME\\\":\\\"菏泽市巨野县开发区马庄村\\\",\\\"RECORD_ID\\\":\\\"E-371724-2012-100000000000407849\\\",\\\"RN\\\":\\\"1\\\",\\\"SEX\\\":\\\"1\\\"}],\\\"fields\\\":[\\\"RN\\\",\\\"RECORD_ID\\\",\\\"DEAD_ID\\\",\\\"NAME\\\",\\\"SEX\\\",\\\"CARD_TYPE\\\",\\\"ID_CARD\\\",\\\"BIRTHDAY\\\",\\\"AGE\\\",\\\"NATION\\\",\\\"FOLK\\\",\\\"IF_LOCAL\\\",\\\"POPULACE\\\",\\\"FAMILY_ADD\\\",\\\"WORK_NAME\\\",\\\"DEATH_DATE\\\",\\\"CREMATION_TIME\\\",\\\"CREATE_ORGAN_NAME\\\",\\\"POPULACE_NAME\\\"],\\\"total\\\":\\\"4903\\\"}\",\"message\":\"\"}"; - String mockData = "{\"code\":200,\"data\":\"{\\\"data\\\":[],\\\"fields\\\":[\\\"RN\\\",\\\"RECORD_ID\\\",\\\"DEAD_ID\\\",\\\"NAME\\\",\\\"SEX\\\",\\\"CARD_TYPE\\\",\\\"ID_CARD\\\",\\\"BIRTHDAY\\\",\\\"AGE\\\",\\\"NATION\\\",\\\"FOLK\\\",\\\"IF_LOCAL\\\",\\\"POPULACE\\\",\\\"FAMILY_ADD\\\",\\\"WORK_NAME\\\",\\\"DEATH_DATE\\\",\\\"CREMATION_TIME\\\",\\\"CREATE_ORGAN_NAME\\\",\\\"POPULACE_NAME\\\"],\\\"total\\\":\\\"4903\\\"}\",\"message\":\"\"}"; + String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":\"{\\\"code\\\":200,\\\"data\\\":\\\"{\\\\\\\"data\\\\\\\":[{\\\\\\\"AGE\\\\\\\":\\\\\\\"82\\\\\\\",\\\\\\\"BIRTHDAY\\\\\\\":\\\\\\\"1933-02-23\\\\\\\",\\\\\\\"CARD_TYPE\\\\\\\":\\\\\\\"1\\\\\\\",\\\\\\\"CREATE_ORGAN_NAME\\\\\\\":\\\\\\\"莱州市殡仪馆\\\\\\\",\\\\\\\"CREMATION_TIME\\\\\\\":\\\\\\\"2016-01-03 13:01\\\\\\\",\\\\\\\"DEAD_ID\\\\\\\":\\\\\\\"8abc809851ffaf1501520600555c2849\\\\\\\",\\\\\\\"DEATH_DATE\\\\\\\":\\\\\\\"2016-01-02\\\\\\\",\\\\\\\"FAMILY_ADD\\\\\\\":\\\\\\\"山东省莱州市光州西路420号\\\\\\\",\\\\\\\"FOLK\\\\\\\":\\\\\\\"01\\\\\\\",\\\\\\\"ID_CARD\\\\\\\":\\\\\\\"370625193302231929\\\\\\\",\\\\\\\"NAME\\\\\\\":\\\\\\\"陈秀芬\\\\\\\",\\\\\\\"NATION\\\\\\\":\\\\\\\"156\\\\\\\",\\\\\\\"POPULACE\\\\\\\":\\\\\\\"3381C300B4B9439FE05319003C0A0897\\\\\\\",\\\\\\\"POPULACE_NAME\\\\\\\":\\\\\\\"烟台市莱州市文昌路街道\\\\\\\",\\\\\\\"RECORD_ID\\\\\\\":\\\\\\\"8abc809851ffaf1501520600694e2877\\\\\\\",\\\\\\\"RN\\\\\\\":\\\\\\\"1\\\\\\\",\\\\\\\"SEX\\\\\\\":\\\\\\\"2\\\\\\\"}],\\\\\\\"fields\\\\\\\":[\\\\\\\"RN\\\\\\\",\\\\\\\"RECORD_ID\\\\\\\",\\\\\\\"DEAD_ID\\\\\\\",\\\\\\\"NAME\\\\\\\",\\\\\\\"SEX\\\\\\\",\\\\\\\"CARD_TYPE\\\\\\\",\\\\\\\"ID_CARD\\\\\\\",\\\\\\\"BIRTHDAY\\\\\\\",\\\\\\\"AGE\\\\\\\",\\\\\\\"NATION\\\\\\\",\\\\\\\"FOLK\\\\\\\",\\\\\\\"IF_LOCAL\\\\\\\",\\\\\\\"POPULACE\\\\\\\",\\\\\\\"FAMILY_ADD\\\\\\\",\\\\\\\"WORK_NAME\\\\\\\",\\\\\\\"DEATH_DATE\\\\\\\",\\\\\\\"CREMATION_TIME\\\\\\\",\\\\\\\"CREATE_ORGAN_NAME\\\\\\\",\\\\\\\"POPULACE_NAME\\\\\\\"],\\\\\\\"total\\\\\\\":\\\\\\\"1\\\\\\\"}\\\",\\\"message\\\":\\\"\\\"}\",\"total\":0}"; Result result = new Result().ok(mockData); - log.info("siWang api result:{}",JSON.toJSONString(result)); + log.info("siWang api result:{}", JSON.toJSONString(result)); String data = result.getData(); JSONObject jsonObject = JSON.parseObject(data); //他们的结果是成功的 - if (jsonObject!= null && "200".equals(jsonObject.getString("code"))){ - //第一层data - JSONObject realObject = JSON.parseObject(jsonObject.getString("data")); - if (realObject!= null&& realObject.getJSONArray("data") != null) { - //第二层 data - Object thirdData = realObject.getJSONArray("data").get(0); - YtDataSyncResDTO ytDataSyncResDTO = new YtDataSyncResDTO(200,"",thirdData.toString()); - return ytDataSyncResDTO; - }else { - log.warn("canji 调用蓝图接口成功但是蓝图的结果中 省平台失败"); + if (jsonObject != null && "200".equals(jsonObject.getString("code"))) { + //第一层 + JSONObject firstData = JSON.parseObject(jsonObject.getString("data")); + + //第二层 data + if (firstData != null && "200".equals(firstData.getString("code"))) { + //第一层 + JSONObject secondData = JSON.parseObject(firstData.getString("data")); + Object thirdData = ""; + if (secondData != null && secondData.getJSONArray("data") != null) { + //第二层 data + thirdData = secondData.getJSONArray("data").get(0); + } + return new YtDataSyncResDTO(200, "", thirdData.toString()); + } else { + log.warn("siWang 调用蓝图接口成功但是蓝图的结果中 省平台失败"); } - }else { - log.warn("canji 调用蓝图接口败"); + } else { + log.warn("siWang 调用蓝图接口败"); } } catch (Exception e) { - log.warn(String.format("烟台siWang结果查询异常cardNo:%s,异常信息:%s", cardNo, e.getMessage())); + log.error(String.format("烟台siWang结果查询异常cardNo:%s,异常信息:%s", cardNo, e.getMessage())); } return new YtDataSyncResDTO(); } /** * desc:残疾数据同步 - * @remark:默认失败 因为一旦成功没有数据 会影响残疾人的数据 接口失败数据不做任何处理 + * * @return + * @remark:默认失败 因为一旦成功没有数据 会影响残疾人的数据 接口失败数据不做任何处理 */ public static YtDataSyncResDTO canji(String idCard, String userName) { @@ -117,19 +129,19 @@ public class YtHsResUtils { // 1)appkey // 2)name姓名 // 3)citizenId身份证号 - Map param = new HashMap<>(); - param.put(APP_KEY,APP_KEY_VALUE); - param.put("citizenId",idCard); - param.put("name",userName); + Map param = new HashMap<>(); + param.put(APP_KEY, APP_KEY_VALUE); + param.put("citizenId", idCard); + param.put("name", userName); - log.info("canji api param:{}",param); + log.info("canji api param:{}", param); //todo 上线放开她 //Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"sdcl_xxzx_czcjr1", param); - String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":\"{\\\"code\\\":200,\\\"data\\\":{\\\"result\\\":true,\\\"errorcode\\\":0,\\\"msg\\\":\\\"获取成功\\\",\\\"data\\\":{\\\"isNewRecord\\\":\\\"true\\\",\\\"delFlag\\\":\\\"0\\\",\\\"pageNo\\\":\\\"0\\\",\\\"pageSize\\\":\\\"0\\\",\\\"name\\\":\\\"姓名\\\",\\\"genderName\\\":\\\"性别\\\",\\\"citizenId\\\":\\\"身份证号\\\",\\\"cardNum\\\":\\\"残疾证号\\\",\\\"idtKindName\\\":\\\"残疾类别\\\",\\\"idtLevelName\\\":\\\"残疾等级\\\",\\\"eduLevelName\\\":\\\"教育程度\\\",\\\"marriagerName\\\":\\\"婚姻状况\\\",\\\"guardian\\\":\\\"监护人\\\",\\\"guardianPhone\\\":\\\"监护人联系方式\\\",\\\"residentAdd\\\":\\\"户籍地址\\\",\\\"nowAdd\\\":\\\"现居住地\\\",\\\"phoneNo\\\":\\\"联系电话\\\"}},\\\"message\\\":\\\"\\\"}\",\"total\":0}"; + String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":\"{\\\"code\\\":200,\\\"data\\\":\\\"{\\\\\\\"result\\\\\\\":true,\\\\\\\"errorcode\\\\\\\":0,\\\\\\\"msg\\\\\\\":\\\\\\\"获取成功\\\\\\\",\\\\\\\"data\\\\\\\":{\\\\\\\"isNewRecord\\\\\\\":true,\\\\\\\"delFlag\\\\\\\":\\\\\\\"0\\\\\\\",\\\\\\\"pageNo\\\\\\\":0,\\\\\\\"pageSize\\\\\\\":0,\\\\\\\"name\\\\\\\":\\\\\\\"数据同步测试用户\\\\\\\",\\\\\\\"genderName\\\\\\\":\\\\\\\"男\\\\\\\",\\\\\\\"citizenId\\\\\\\":\\\\\\\"370682198002072719\\\\\\\",\\\\\\\"cardNum\\\\\\\":\\\\\\\"370283199912010302\\\\\\\",\\\\\\\"idtKindName\\\\\\\":\\\\\\\"精神\\\\\\\",\\\\\\\"idtLevelName\\\\\\\":\\\\\\\"二级\\\\\\\",\\\\\\\"eduLevelName\\\\\\\":\\\\\\\"小学\\\\\\\",\\\\\\\"marriagerName\\\\\\\":\\\\\\\"未婚\\\\\\\",\\\\\\\"guardian\\\\\\\":\\\\\\\"盖希仁\\\\\\\",\\\\\\\"guardianPhone\\\\\\\":\\\\\\\"13854516627\\\\\\\",\\\\\\\"guardianRName\\\\\\\":\\\\\\\"兄/弟/姐/妹\\\\\\\",\\\\\\\"raceName\\\\\\\":\\\\\\\"汉族\\\\\\\",\\\\\\\"certDate\\\\\\\":1620779842000,\\\\\\\"residentAdd\\\\\\\":\\\\\\\"姜疃镇凤头村248号附1号\\\\\\\",\\\\\\\"nowAdd\\\\\\\":\\\\\\\"山东省烟台市莱阳市姜疃镇凤头村委会\\\\\\\",\\\\\\\"phoneNo\\\\\\\":\\\\\\\"13854516627\\\\\\\"}}\\\",\\\"message\\\":\\\"\\\"}\",\"total\":0}"; Result result = new Result().ok(mockData); - log.info("canji api result:{}",JSON.toJSONString(result)); + log.info("canji api result:{}", JSON.toJSONString(result)); if (result.success()) { /*返回示例 { @@ -153,25 +165,24 @@ public class YtHsResUtils { String data = result.getData(); JSONObject jsonObject = JSON.parseObject(data); //他们的结果是成功的 - if (jsonObject!= null && "200".equals(jsonObject.getString("code"))){ + if (jsonObject != null && "200".equals(jsonObject.getString("code"))) { //第一层data JSONObject realObject = JSON.parseObject(jsonObject.getString("data")); - if (realObject!= null && "200".equals(realObject.getString("code"))) { + if (realObject != null && "200".equals(realObject.getString("code"))) { //第二层 data String thirdData = realObject.getString("data"); - YtDataSyncResDTO ytDataSyncResDTO = JSON.parseObject(thirdData, YtDataSyncResDTO.class); - return ytDataSyncResDTO; - }else { + return JSON.parseObject(thirdData, YtDataSyncResDTO.class); + } else { log.warn("canji 调用蓝图接口成功但是蓝图的结果中 省平台失败"); } - }else { + } else { log.warn("canji 调用蓝图接口败"); } } } catch (Exception e) { - log.warn(String.format("烟台canji结果查询异常cardNo:%s,异常信息:%s", idCard, e.getMessage())); + log.error(String.format("烟台canji结果查询异常cardNo:%s,异常信息:%s", idCard, e.getMessage())); } return failResult; } @@ -179,11 +190,11 @@ public class YtHsResUtils { public static void main(String[] args) { YtDataSyncResDTO canji = canji("123", "123"); - System.out.println("残疾结果:"+JSON.toJSON(canji)); + System.out.println("残疾结果:" + JSON.toJSON(canji)); YtDataSyncResDTO siwang = siWang("1213", "!23"); - System.out.println("死亡结果:"+JSON.toJSON(siwang)); + System.out.println("死亡结果:" + JSON.toJSON(siwang)); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java index d1a35d8d77..748a039549 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java @@ -84,9 +84,29 @@ public class DataSyncRecordDisabilityDTO implements Serializable { private String eduLevel; /** - * 婚姻状况 + * 婚姻状况 中文 */ - private String maritalStatus; + private String maritalStatusName; + + /** + * 民族 中文 + */ + private String mzCn; + + /** + * 性别1男2女 + */ + private Integer gender; + + /** + * 户籍地址 + */ + private String residentAdd; + + /** + * 现居住地址 + */ + private String nowAdd; /** * 监护人 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java index 50dc64edbe..810b153665 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java @@ -79,9 +79,29 @@ public class DataSyncRecordDisabilityEntity extends BaseEpmetEntity { private String eduLevel; /** - * 婚姻状况 + * 婚姻状况 中文 */ - private String maritalStatus; + private String maritalStatusName; + + /** + * 民族 中文 + */ + private String mzCn; + + /** + * 性别1男2女 + */ + private Integer gender; + + /** + * 户籍地址 + */ + private String residentAdd; + + /** + * 现居住地址 + */ + private String nowAdd; /** * 监护人 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index d70289b0fb..8515089201 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -9,6 +9,7 @@ import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.dto.result.YtDataSyncResDTO; import com.epmet.commons.tools.dto.result.YtHsjcResDTO; +import com.epmet.commons.tools.enums.GenderEnum; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; @@ -40,10 +41,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -182,7 +180,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl dbResiList = null; //设置查询数据范围 formDTO.setOrgList(config.getScopeList()); @@ -206,7 +206,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl dbResiList) { - List list = new ArrayList<>(); - for (NatUserInfoResultDTO dbResi : dbResiList) { - YtDataSyncResDTO thirdResult = YtHsResUtils.siWang(dbResi.getIdCard(), dbResi.getName()); - if (200 != thirdResult.getCode()) { - log.warn("canJi 调用蓝图接口失败了 继续处理下一个人"); - continue; - } + try { + List list = new ArrayList<>(); + for (NatUserInfoResultDTO dbResi : dbResiList) { + YtDataSyncResDTO thirdResult = YtHsResUtils.siWang(dbResi.getIdCard(), dbResi.getName()); + if (200 != thirdResult.getCode()) { + log.warn("canJi 调用蓝图接口失败了 继续处理下一个人"); + continue; + } - String thirdResultData = thirdResult.getData(); - JSONObject thirdResultObject = JSON.parseObject(thirdResultData); + String thirdResultData = thirdResult.getData(); + JSONObject thirdResultObject = JSON.parseObject(thirdResultData); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(DataSyncRecordDeathEntity::getIdCard, dbResi.getIdCard()); - //获取数据库里的记录 - DataSyncRecordDeathDTO dbDeathEntity = dataSyncRecordDeathService.selectOne(queryWrapper); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DataSyncRecordDeathEntity::getIdCard, dbResi.getIdCard()); + //获取数据库里的记录 + DataSyncRecordDeathDTO dbDeathEntity = dataSyncRecordDeathService.selectOne(queryWrapper); - JudgeDealStatus judgeDealStatus= new JudgeDealStatus(thirdResultObject,dbDeathEntity).invokeDeath(); - if (judgeDealStatus.isStop()) { - continue; - } + JudgeDealStatus judgeDealStatus = new JudgeDealStatus(thirdResultObject, dbDeathEntity).invokeDeath(); + if (judgeDealStatus.isStop()) { + continue; + } + + DataSyncRecordDeathEntity entity = new DataSyncRecordDeathEntity(); + if (dbDeathEntity != null && StringUtils.isNotBlank(dbDeathEntity.getId())) { + entity.setId(dbDeathEntity.getId()); + } + entity.setCustomerId(dbResi.getCustomerId()); + entity.setAgencyId(dbResi.getAgencyId()); + entity.setPids(dbResi.getPids()); + entity.setGridId(dbResi.getGridId()); + entity.setName(dbResi.getName()); + entity.setIdCard(dbResi.getIdCard()); + entity.setIcResiUserId(dbResi.getUserId()); + //死亡未获取到数据 + if (thirdResultObject != null) { + entity.setAge(thirdResultObject.getString("AGE")); + entity.setAddress(thirdResultObject.getString("FAMILY_ADD")); + entity.setDeathDate(thirdResultObject.getString("DEATH_DATE")); + entity.setCremationTime(thirdResultObject.getString("CREMATION_TIME")); + entity.setMz(thirdResultObject.getString("FAMILY_ADD")); + entity.setOrganName(thirdResultObject.getString("CREATE_ORGAN_NAME")); + entity.setNation(thirdResultObject.getString("NATION")); + entity.setThirdRecordId(thirdResultObject.getString("RECORD_ID")); + } - DataSyncRecordDeathEntity entity = new DataSyncRecordDeathEntity(); - entity.setId(dbDeathEntity.getId()); - entity.setCustomerId(dbResi.getCustomerId()); - entity.setAgencyId(dbResi.getAgencyId()); - entity.setPids(dbResi.getPids()); - entity.setGridId(dbResi.getGridId()); - entity.setName(dbResi.getName()); - entity.setIdCard(dbResi.getIdCard()); - entity.setIcResiUserId(dbResi.getUserId()); - - entity.setAge(thirdResultObject.getString("AGE")); - entity.setAddress(thirdResultObject.getString("FAMILY_ADD")); - entity.setDeathDate(thirdResultObject.getString("DEATH_DATE")); - entity.setCremationTime(thirdResultObject.getString("CREMATION_TIME")); - entity.setMz(thirdResultObject.getString("FAMILY_ADD")); - entity.setOrganName(thirdResultObject.getString("CREATE_ORGAN_NAME")); - entity.setNation(thirdResultObject.getString("NATION")); - entity.setThirdRecordId(thirdResultObject.getString("RECORD_ID")); - entity.setDealStatus(NumConstant.ZERO); - entity.setDealResult(StrConstant.EPMETY_STR); - if (judgeDealStatus.isNeedSetStatus) { - entity.setDealResult(judgeDealStatus.dealResult); - entity.setDealStatus(judgeDealStatus.dealStatus); + entity.setDealStatus(NumConstant.ZERO); + entity.setDealResult(StrConstant.EPMETY_STR); + if (judgeDealStatus.isNeedSetStatus) { + entity.setDealResult(judgeDealStatus.dealResult); + entity.setDealStatus(judgeDealStatus.dealStatus); + } + entity.setUpdatedTime(new Date()); + list.add(entity); } - list.add(entity); - } - if (list.size()==NumConstant.ZERO){ - return; + if (list.size() == NumConstant.ZERO) { + return; + } + dataSyncRecordDeathService.saveOrUpdateBatch(list, NumConstant.TWO_HUNDRED); + } catch (Exception e) { + log.error("siwang exception", e); } - dataSyncRecordDeathService.saveOrUpdateBatch(list,NumConstant.TWO_HUNDRED); } /** @@ -295,13 +305,13 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl getNatUserInfoFromDb(DataSyncTaskParam formDTO, DataSyncEnum anEnum, int pageNo, int pageSize) { + private List getNatUserInfoFromDb(DataSyncTaskParam formDTO, int pageNo, int pageSize) { //根据 组织 分页获取 居民数据 PageInfo pageInfo = PageHelper.startPage(pageNo, pageSize, false) .doSelectPageInfo(() -> baseDao.getIdCardsByScope(formDTO)); List dbResiList; dbResiList = pageInfo.getList(); - //如果传了身份证号 则按照身份证号查询 并同步记录, userId如果为空则是 手动录入的 此人没有录入居民库 但是也可以同步 + /* //如果传了身份证号 则按照身份证号查询 并同步记录, userId如果为空则是 手动录入的 此人没有录入居民库 但是也可以同步 if (CollectionUtils.isNotEmpty(formDTO.getIdCards()) && DataSyncEnum.HE_SUAN.getCode().equals(anEnum.getCode())) { List collect = formDTO.getIdCards().stream().map(id -> { NatUserInfoResultDTO e = new NatUserInfoResultDTO(); @@ -314,95 +324,112 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl u.getIdCard().equals(c.getIdCard())).forEach(u -> c.setUserId(u.getUserId())); } dbResiList = collect; - } + }*/ return dbResiList; } private void canJi(List resiList) { - List list = new ArrayList<>(); - for (NatUserInfoResultDTO dbResi : resiList) { - YtDataSyncResDTO thirdResult = YtHsResUtils.canji(dbResi.getIdCard(), dbResi.getName()); - if (200 != thirdResult.getCode()) { - log.warn("canJi 调用蓝图接口失败了 继续处理下一个人"); - continue; - } - String thirdResultData = thirdResult.getData(); - JSONObject thirdResultObject = JSON.parseObject(thirdResultData); - - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(DataSyncRecordDisabilityEntity::getIdCard, dbResi.getIdCard()); - //获取数据库里的记录 - DataSyncRecordDisabilityDTO dbDisablityEntity = dataSyncRecordDisabilityService.selectOne(queryWrapper); - + try { + List list = new ArrayList<>(); + for (NatUserInfoResultDTO dbResi : resiList) { + YtDataSyncResDTO thirdResult = YtHsResUtils.canji(dbResi.getIdCard(), dbResi.getName()); + if (200 != thirdResult.getCode()) { + log.warn("canJi 调用蓝图接口失败了 继续处理下一个人"); + continue; + } + String thirdResultData = thirdResult.getData(); + JSONObject thirdResultObject = JSON.parseObject(thirdResultData); - DataSyncRecordDisabilityEntity entity = new DataSyncRecordDisabilityEntity(); - entity.setId(dbDisablityEntity.getId()); - //居民库里 是否是残疾 - String categoryColumn = dbResi.getCategoryColumn(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DataSyncRecordDisabilityEntity::getIdCard, dbResi.getIdCard()); + //获取数据库里的记录 + DataSyncRecordDisabilityDTO dbDisablityEntity = dataSyncRecordDisabilityService.selectOne(queryWrapper); - JudgeDealStatus judgeDealStatus = null; - int disabilityStatus = 0; - //居民是残疾 - if (NumConstant.ONE_STR.equals(categoryColumn)) { - // 第三方返回了该人的 残疾记录 说明和居民库的状态一致 只需要处理 同步记录中的数据即可 - if (thirdResultObject != null) { - //todo 联调时看一下 为什么db == null 总是true - judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).invoke(); - if (judgeDealStatus.isStop()) { - continue; + DataSyncRecordDisabilityEntity entity = new DataSyncRecordDisabilityEntity(); + if (dbDisablityEntity != null && StringUtils.isNotBlank(dbDisablityEntity.getId())) { + entity.setId(dbDisablityEntity.getId()); + } + //居民库里 是否是残疾 + String categoryColumn = dbResi.getCategoryColumn(); + + + JudgeDealStatus judgeDealStatus = null; + int disabilityStatus = 0; + //居民是残疾 + if (NumConstant.ONE_STR.equals(categoryColumn)) { + // 第三方返回了该人的 残疾记录 说明和居民库的状态一致 只需要处理 同步记录中的数据即可 + if (thirdResultObject != null) { + //todo 联调时看一下 为什么db == null 总是true + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).invoke(); + if (judgeDealStatus.isStop()) { + continue; + } + disabilityStatus = 1; + } else { + //没有返回该人是残疾的数据 说明需要处理居民库的数据 + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).notSame(); + disabilityStatus = 0; } - disabilityStatus = 1; } else { - //没有返回该人是残疾的数据 说明需要处理居民库的数据 - judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).notSame(); - disabilityStatus = 0; + //居民不是残疾 + + // 第三方没有返回了该人的 残疾记录 说明和居民库的状态一致 只需要处理 同步记录中的数据即可 + if (thirdResultObject == null) { + //todo 联调时看一下 为什么db == null 总是true + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).invoke(); + if (judgeDealStatus.isStop()) { + continue; + } + disabilityStatus = 0; + } else { + //蓝图返回该人是残疾的数据 说明需要处理居民库的数据 + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).notSame(); + disabilityStatus = 1; + } } - } else { - //居民不是残疾 - - // 第三方没有返回了该人的 残疾记录 说明和居民库的状态一致 只需要处理 同步记录中的数据即可 - if (thirdResultObject == null) { - //todo 联调时看一下 为什么db == null 总是true - judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).invoke(); - if (judgeDealStatus.isStop()) { - continue; + + entity.setCustomerId(dbResi.getCustomerId()); + entity.setAgencyId(dbResi.getAgencyId()); + entity.setPids(dbResi.getPids()); + entity.setGridId(dbResi.getGridId()); + entity.setName(dbResi.getName()); + entity.setIdCard(dbResi.getIdCard()); + entity.setIcResiUserId(dbResi.getUserId()); + if (thirdResultObject != null){ + entity.setMobile(thirdResultObject.getString("phoneNo")); + entity.setCardNum(thirdResultObject.getString("cardNum")); + entity.setCjzk(thirdResultObject.getString("idtLevelName")); + entity.setCjlb(thirdResultObject.getString("idtKindName")); + entity.setEduLevel(thirdResultObject.getString("eduLevelName")); + entity.setMaritalStatusName(thirdResultObject.getString("marriagerName")); + entity.setGuardian(thirdResultObject.getString("guardian")); + entity.setGuardianPhone(thirdResultObject.getString("guardianPhone")); + entity.setMzCn(thirdResultObject.getString("raceName")); + String genderName = thirdResultObject.getString("genderName"); + if (GenderEnum.MAN.getName().equals(genderName)){ + entity.setGender(NumConstant.ONE); + }else { + entity.setGender(NumConstant.TWO); } - disabilityStatus = 0; - } else { - //蓝图返回该人是残疾的数据 说明需要处理居民库的数据 - judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).notSame(); - disabilityStatus = 1; + entity.setResidentAdd(thirdResultObject.getString("residentAdd")); + entity.setNowAdd(thirdResultObject.getString("nowAdd")); } - } - entity.setCustomerId(dbResi.getCustomerId()); - entity.setAgencyId(dbResi.getAgencyId()); - entity.setPids(dbResi.getPids()); - entity.setGridId(dbResi.getGridId()); - entity.setName(dbResi.getName()); - entity.setIdCard(thirdResultObject.getString("citizenId")); - entity.setMobile(thirdResultObject.getString("phoneNo")); - entity.setIcResiUserId(dbResi.getUserId()); - entity.setCardNum(thirdResultObject.getString("cardNum")); - - entity.setCjzk(thirdResultObject.getString("idtLevelName")); - entity.setCjlb(thirdResultObject.getString("idtKindName")); - - entity.setEduLevel(thirdResultObject.getString("eduLevelName")); - entity.setMaritalStatus(thirdResultObject.getString("marriagerName")); - entity.setGuardian(thirdResultObject.getString("guardian")); - entity.setGuardianPhone(thirdResultObject.getString("guardianPhone")); - entity.setDealStatus(NumConstant.ZERO); - entity.setDisabilityStatus(disabilityStatus); - entity.setDealResult(StrConstant.EPMETY_STR); - if (judgeDealStatus.isNeedSetStatus) { - entity.setDealResult(judgeDealStatus.getDealResult()); - entity.setDealStatus(judgeDealStatus.getDealStatus()); + entity.setDealStatus(NumConstant.ZERO); + entity.setDisabilityStatus(disabilityStatus); + entity.setDealResult(StrConstant.EPMETY_STR); + if (judgeDealStatus.isNeedSetStatus) { + entity.setDealResult(judgeDealStatus.getDealResult()); + entity.setDealStatus(judgeDealStatus.getDealStatus()); + } + entity.setUpdatedTime(new Date()); + list.add(entity); } - list.add(entity); + dataSyncRecordDisabilityService.saveOrUpdateBatch(list, NumConstant.TWO_HUNDRED); + } catch (Exception e) { + log.error("canJi exception", e); } - dataSyncRecordDisabilityService.saveOrUpdateBatch(list, NumConstant.TWO_HUNDRED); } @@ -414,59 +441,68 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl idCards, String customerId) { - List entities = new ArrayList<>(); - idCards.forEach(idCard -> { - YtHsjcResDTO natInfoResult = YtHsResUtils.hsjc(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); - if (CollectionUtils.isNotEmpty(natInfoResult.getData())) { - natInfoResult.getData().forEach(natInfo -> { - IcNatEntity e = new IcNatEntity(); - e.setCustomerId(customerId); - e.setIsResiUser(StringUtils.isBlank(idCard.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); - e.setUserId(idCard.getUserId()); - e.setUserType("sync"); - e.setName(StringUtils.isNotBlank(natInfo.getName()) ? natInfo.getName() : ""); - e.setMobile(StringUtils.isNotBlank(natInfo.getTelephone()) ? natInfo.getTelephone() : ""); - e.setIdCard(StringUtils.isNotBlank(natInfo.getCard_no()) ? natInfo.getCard_no() : ""); - e.setNatTime(DateUtils.parseDate(natInfo.getTest_time(), DateUtils.DATE_TIME_PATTERN)); - e.setNatResult(natInfo.getSample_result_pcr()); - e.setNatAddress(natInfo.getSampling_org_pcr()); - e.setAgencyId(idCard.getAgencyId()); - e.setPids(idCard.getPids()); - e.setAttachmentType(""); - e.setAttachmentUrl(""); - entities.add(e); - }); - } - }); - if (CollectionUtils.isNotEmpty(entities)) { - List existNatInfos = icNatDao.getExistNatInfo(entities); - entities.forEach(e -> existNatInfos.stream().filter(i -> i.getUserId().equals(e.getUserId()) && i.getIdCard().equals(e.getIdCard())).forEach(i -> e.setExistStatus(true))); - Map> groupByStatus = entities.stream().collect(Collectors.groupingBy(IcNatEntity::getExistStatus)); - if (CollectionUtils.isNotEmpty(groupByStatus.get(false))) { - for (List icNatEntities : ListUtils.partition(groupByStatus.get(false), 500)) { - icNatService.insertBatch(icNatEntities); - } - } - //组织关系表 - List relationEntities = new ArrayList<>(); - entities.forEach(ne -> { - // 不是居民的先不加关系表吧 - if (ne.getIsResiUser().equals(NumConstant.ONE_STR)) { - IcNatRelationEntity e = new IcNatRelationEntity(); - e.setCustomerId(customerId); - e.setAgencyId(ne.getAgencyId()); - e.setPids(ne.getPids()); - e.setIcNatId(ne.getId()); - e.setUserType("sync"); - relationEntities.add(e); + @Transactional(rollbackFor = Exception.class) + public void hsjc(List idCards, String customerId) { + try { + List entities = new ArrayList<>(); + idCards.forEach(idCard -> { + YtHsjcResDTO natInfoResult = YtHsResUtils.hsjc(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); + if (CollectionUtils.isNotEmpty(natInfoResult.getData())) { + natInfoResult.getData().forEach(natInfo -> { + IcNatEntity e = new IcNatEntity(); + e.setCustomerId(customerId); + e.setIsResiUser(StringUtils.isBlank(idCard.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); + e.setUserId(idCard.getUserId()); + e.setUserType("sync"); + e.setName(StringUtils.isNotBlank(natInfo.getName()) ? natInfo.getName() : ""); + e.setMobile(StringUtils.isNotBlank(natInfo.getTelephone()) ? natInfo.getTelephone() : ""); + e.setIdCard(StringUtils.isNotBlank(natInfo.getCard_no()) ? natInfo.getCard_no() : ""); + e.setNatTime(DateUtils.parseDate(natInfo.getTest_time(), DateUtils.DATE_TIME_PATTERN)); + String resultPcr = natInfo.getSample_result_pcr(); + //检测结果 转换 我们 0:阴性 1:阳性, 他们 :1:阳性,2:阴性 + e.setNatResult(NumConstant.ZERO_STR); + if (NumConstant.ONE_STR.equals(resultPcr)){ + e.setNatResult(NumConstant.ONE_STR); + } + e.setNatAddress(natInfo.getSampling_org_pcr()); + e.setAgencyId(idCard.getAgencyId()); + e.setPids(idCard.getPids()); + e.setAttachmentType(""); + e.setAttachmentUrl(""); + entities.add(e); + }); } }); - if (CollectionUtils.isNotEmpty(relationEntities)) { - for (List icNatRelationEntities : ListUtils.partition(relationEntities, 500)) { - icNatRelationService.insertBatch(icNatRelationEntities); + if (CollectionUtils.isNotEmpty(entities)) { + List existNatInfos = icNatDao.getExistNatInfo(entities); + entities.forEach(e -> existNatInfos.stream().filter(i -> i.getUserId().equals(e.getUserId()) && i.getIdCard().equals(e.getIdCard())).forEach(i -> e.setExistStatus(true))); + Map> groupByStatus = entities.stream().collect(Collectors.groupingBy(IcNatEntity::getExistStatus)); + if (CollectionUtils.isNotEmpty(groupByStatus.get(false))) { + for (List icNatEntities : ListUtils.partition(groupByStatus.get(false), NumConstant.FIVE_HUNDRED)) { + icNatService.insertBatch(icNatEntities); + //组织关系表 + List relationEntities = new ArrayList<>(); + icNatEntities.forEach(ne -> { + // 不是居民的先不加关系表吧 + if (ne.getIsResiUser().equals(NumConstant.ONE_STR)) { + IcNatRelationEntity e = new IcNatRelationEntity(); + e.setCustomerId(customerId); + e.setAgencyId(ne.getAgencyId()); + e.setPids(ne.getPids()); + e.setIcNatId(ne.getId()); + e.setUserType("sync"); + relationEntities.add(e); + } + }); + if (CollectionUtils.isNotEmpty(relationEntities)) { + icNatRelationService.insertBatch(relationEntities); + } + } } + } + } catch (Exception e) { + log.error("hsjc exception", e); } } @@ -488,7 +524,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl ${categoryColumn} AS categoryColumn, diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml index 0326e8b1f5..8947f3a5e1 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml @@ -17,7 +17,11 @@ - + + + + + diff --git a/epmet-user/epmet-user-server/src/test/java/com/epmet/service/DataSyncConfigServiceTest.java b/epmet-user/epmet-user-server/src/test/java/com/epmet/service/DataSyncConfigServiceTest.java new file mode 100644 index 0000000000..a60c27d432 --- /dev/null +++ b/epmet-user/epmet-user-server/src/test/java/com/epmet/service/DataSyncConfigServiceTest.java @@ -0,0 +1,22 @@ +package com.epmet.service; + +import com.epmet.dto.form.DataSyncTaskParam; +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; + +@SpringBootTest +@RunWith(SpringRunner.class) +public class DataSyncConfigServiceTest { + @Autowired + private DataSyncConfigService dataSyncConfigService; + + @Test + public void dataSyncForYanTaiTask() { + DataSyncTaskParam param = new DataSyncTaskParam(); + dataSyncConfigService.dataSyncForYanTaiTask(param); + + } +} From 8796e5816d0072f795aaf39a1d8f3d168d68597e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 13 Oct 2022 16:54:41 +0800 Subject: [PATCH 054/109] =?UTF-8?q?=E3=80=90=E6=AD=BB=E4=BA=A1=E3=80=91?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java index 6feb825d30..d51b6b2fb6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDeathServiceImpl.java @@ -142,7 +142,7 @@ public class DataSyncRecordDeathServiceImpl extends BaseServiceImpl Date: Thu, 13 Oct 2022 16:56:40 +0800 Subject: [PATCH 055/109] =?UTF-8?q?=E6=94=B9=E5=AD=97=E6=AE=B5=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java | 4 ++-- .../java/com/epmet/entity/DataSyncRecordDisabilityEntity.java | 4 ++-- .../com/epmet/service/impl/DataSyncConfigServiceImpl.java | 4 ++-- .../src/main/resources/mapper/DataSyncRecordDisabilityDao.xml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java index 748a039549..66762c7617 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java @@ -71,12 +71,12 @@ public class DataSyncRecordDisabilityDTO implements Serializable { /** * 残疾等级(状况) */ - private String cjzk; + private String cjzkCn; /** * 残疾类别 */ - private String cjlb; + private String cjlbCn; /** * 文化程度 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java index 810b153665..3ea26e8050 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java @@ -66,12 +66,12 @@ public class DataSyncRecordDisabilityEntity extends BaseEpmetEntity { /** * 残疾等级(状况) */ - private String cjzk; + private String cjzkCn; /** * 残疾类别 */ - private String cjlb; + private String cjlbCn; /** * 文化程度 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 8515089201..991884787a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -399,8 +399,8 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl - - + + From 904fdcb04796d4caed18be0ab40120b2a71ab51d Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 13 Oct 2022 17:32:04 +0800 Subject: [PATCH 056/109] =?UTF-8?q?=E6=A0=B8=E9=85=B8=E9=87=87=E6=A0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/dto/result/YtHscyResDTO.java | 80 +++++++++++++++++++ .../commons/tools/utils/YtHsResUtils.java | 33 +++++++- 2 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtHscyResDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtHscyResDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtHscyResDTO.java new file mode 100644 index 0000000000..dd74313196 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtHscyResDTO.java @@ -0,0 +1,80 @@ +package com.epmet.commons.tools.dto.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + + +/** + * @Description 核算采样结果 + * @Author yzm + * @Date 2022/9/26 17:04 + */ +@NoArgsConstructor +@Data +public class YtHscyResDTO { + private int code = 200; + private String msg = "请求成功"; + /** + * 响应数据 + */ + private List data; + private int total; + + @Data + class YtHscyResDetail { + private String id; + private String name; + private String card_type; + private String card_no; + private String create_by; + /** + * 采样时间 + */ + private String create_time; + private String sys_org_code; + private String sample_tube; + private String package_id; + private String city; + private String uuid; + private String county; + private String depart_ids; + private Object depart_name; + /** + * 采样点名称 + */ + private String realname; + private String upload_time; + private Object sd_id; + private Object sd_batch; + private Object sd_operation; + private Object sd_time; + private String inserttime; + } + + /*{ + "id":"1570924677539635484", + "name":"杨XX",//姓名 + "card_type":"1",//证件类型 + "card_no":"37************0813",//证件号码 + "create_by":"370613594",//采样点账号 + "create_time":"2022-09-17 07:15:22",//采样时间 + "sys_org_code":"370613",//部门代码 + "sample_tube":"GCJ-0825-0441",//采样管号 + "package_id":"bcj00208083952",//采样包号 + "city":"烟台市",//城市 + "uuid":"6225684525062602095",// + "county":"莱山区",//区县 + "depart_ids":"未填写",//街道 + "depart_name":null,//部门名称 + "realname":"采样点327",//采样点名称 + "upload_time":"2022-09-17 07:56:45",//自增时间戳 + "sd_id":null, + "sd_batch":null, + "sd_operation":null, + "sd_time":null, + "inserttime":"2022-09-17 09:36:20"//省大数据局返还烟台入库时间 + }*/ + +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java index 6ed4887e13..cb28cf5419 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java @@ -3,6 +3,7 @@ package com.epmet.commons.tools.utils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.epmet.commons.tools.dto.result.YtDataSyncResDTO; +import com.epmet.commons.tools.dto.result.YtHscyResDTO; import com.epmet.commons.tools.dto.result.YtHsjcResDTO; import lombok.extern.slf4j.Slf4j; @@ -28,7 +29,36 @@ public class YtHsResUtils { private static final String LIMIT = "PAGESIZE"; /** - * desc:图片同步扫描 + * desc:核酸采样查询 + * + * @return + */ + public static YtHscyResDTO hscy(String cardNo, Integer rowNum, Integer pageSize) { + try { + Map param = new HashMap<>(); + param.put(APP_KEY, APP_KEY_VALUE); + param.put(CARD_NO, cardNo); + param.put(ROW_NUM, rowNum); + param.put(PAGE_SIZE, pageSize); + log.info("hscy api param:{}", param); + //todo 核酸检测 mock数据 放开她 + //Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"hscyxxcx", param); + String mockData = "{\"id\":\"1570924677539635484\",\"name\":\"杨XX\",\"card_type\":\"1\",\"card_no\":\"370283199912010302\",\"create_by\":\"370613594\",\"create_time\":\"2022-09-17 07:15:22\",\"sys_org_code\":\"370613\",\"sample_tube\":\"GCJ-0825-0441\",\"package_id\":\"bcj00208083952\",\"city\":\"烟台市\",\"uuid\":\"6225684525062602095\",\"county\":\"莱山区\",\"depart_ids\":\"未填写\",\"depart_name\":null,\"realname\":\"采样点327\",\"upload_time\":\"2022-09-17 07:56:45\",\"sd_id\":null,\"sd_batch\":null,\"sd_operation\":null,\"sd_time\":null,\"inserttime\":\"2022-09-17 09:36:20\"}"; + Result result = new Result().ok(mockData); + log.info("hscy api result:{}", JSON.toJSONString(result)); + if (result.success()) { + return JSON.parseObject(result.getData(), YtHscyResDTO.class); + } + } catch (Exception e) { + log.error(String.format("烟台核酸检测结果查询异常cardNo:%s,异常信息:%s", cardNo, e.getMessage())); + } + YtHscyResDTO resultResult = new YtHscyResDTO(); + resultResult.setData(new ArrayList<>()); + return resultResult; + } + + /** + * desc:核酸结果查询 * * @return */ @@ -81,7 +111,6 @@ public class YtHsResUtils { //todo 放开他 //Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"mzt_hhrysj1", param); - String mockData2 = "{\"code\":200,\"data\":\"{\\\"data\\\":[{\\\"AGE\\\":\\\"73\\\",\\\"CARD_TYPE\\\":\\\"9\\\",\\\"CREATE_ORGAN_NAME\\\":\\\"菏泽市巨野县殡仪馆\\\",\\\"CREMATION_TIME\\\":\\\"2014-04-17 14:46\\\",\\\"DEAD_ID\\\":\\\"SZ-371724-2012-1006560\\\",\\\"DEATH_DATE\\\":\\\"2014-04-17\\\",\\\"FAMILY_ADD\\\":\\\"菏泽市巨野县开发区马庄村\\\",\\\"FOLK\\\":\\\"01\\\",\\\"ID_CARD\\\":\\\"1\\\",\\\"NAME\\\":\\\"郭**\\\",\\\"NATION\\\":\\\"156\\\",\\\"POPULACE\\\":\\\"3381C3014B60439FE05319003C0A0897\\\",\\\"POPULACE_NAME\\\":\\\"菏泽市巨野县开发区马庄村\\\",\\\"RECORD_ID\\\":\\\"E-371724-2012-100000000000407849\\\",\\\"RN\\\":\\\"1\\\",\\\"SEX\\\":\\\"1\\\"}],\\\"fields\\\":[\\\"RN\\\",\\\"RECORD_ID\\\",\\\"DEAD_ID\\\",\\\"NAME\\\",\\\"SEX\\\",\\\"CARD_TYPE\\\",\\\"ID_CARD\\\",\\\"BIRTHDAY\\\",\\\"AGE\\\",\\\"NATION\\\",\\\"FOLK\\\",\\\"IF_LOCAL\\\",\\\"POPULACE\\\",\\\"FAMILY_ADD\\\",\\\"WORK_NAME\\\",\\\"DEATH_DATE\\\",\\\"CREMATION_TIME\\\",\\\"CREATE_ORGAN_NAME\\\",\\\"POPULACE_NAME\\\"],\\\"total\\\":\\\"4903\\\"}\",\"message\":\"\"}"; String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":\"{\\\"code\\\":200,\\\"data\\\":\\\"{\\\\\\\"data\\\\\\\":[{\\\\\\\"AGE\\\\\\\":\\\\\\\"82\\\\\\\",\\\\\\\"BIRTHDAY\\\\\\\":\\\\\\\"1933-02-23\\\\\\\",\\\\\\\"CARD_TYPE\\\\\\\":\\\\\\\"1\\\\\\\",\\\\\\\"CREATE_ORGAN_NAME\\\\\\\":\\\\\\\"莱州市殡仪馆\\\\\\\",\\\\\\\"CREMATION_TIME\\\\\\\":\\\\\\\"2016-01-03 13:01\\\\\\\",\\\\\\\"DEAD_ID\\\\\\\":\\\\\\\"8abc809851ffaf1501520600555c2849\\\\\\\",\\\\\\\"DEATH_DATE\\\\\\\":\\\\\\\"2016-01-02\\\\\\\",\\\\\\\"FAMILY_ADD\\\\\\\":\\\\\\\"山东省莱州市光州西路420号\\\\\\\",\\\\\\\"FOLK\\\\\\\":\\\\\\\"01\\\\\\\",\\\\\\\"ID_CARD\\\\\\\":\\\\\\\"370625193302231929\\\\\\\",\\\\\\\"NAME\\\\\\\":\\\\\\\"陈秀芬\\\\\\\",\\\\\\\"NATION\\\\\\\":\\\\\\\"156\\\\\\\",\\\\\\\"POPULACE\\\\\\\":\\\\\\\"3381C300B4B9439FE05319003C0A0897\\\\\\\",\\\\\\\"POPULACE_NAME\\\\\\\":\\\\\\\"烟台市莱州市文昌路街道\\\\\\\",\\\\\\\"RECORD_ID\\\\\\\":\\\\\\\"8abc809851ffaf1501520600694e2877\\\\\\\",\\\\\\\"RN\\\\\\\":\\\\\\\"1\\\\\\\",\\\\\\\"SEX\\\\\\\":\\\\\\\"2\\\\\\\"}],\\\\\\\"fields\\\\\\\":[\\\\\\\"RN\\\\\\\",\\\\\\\"RECORD_ID\\\\\\\",\\\\\\\"DEAD_ID\\\\\\\",\\\\\\\"NAME\\\\\\\",\\\\\\\"SEX\\\\\\\",\\\\\\\"CARD_TYPE\\\\\\\",\\\\\\\"ID_CARD\\\\\\\",\\\\\\\"BIRTHDAY\\\\\\\",\\\\\\\"AGE\\\\\\\",\\\\\\\"NATION\\\\\\\",\\\\\\\"FOLK\\\\\\\",\\\\\\\"IF_LOCAL\\\\\\\",\\\\\\\"POPULACE\\\\\\\",\\\\\\\"FAMILY_ADD\\\\\\\",\\\\\\\"WORK_NAME\\\\\\\",\\\\\\\"DEATH_DATE\\\\\\\",\\\\\\\"CREMATION_TIME\\\\\\\",\\\\\\\"CREATE_ORGAN_NAME\\\\\\\",\\\\\\\"POPULACE_NAME\\\\\\\"],\\\\\\\"total\\\\\\\":\\\\\\\"1\\\\\\\"}\\\",\\\"message\\\":\\\"\\\"}\",\"total\":0}"; Result result = new Result().ok(mockData); log.info("siWang api result:{}", JSON.toJSONString(result)); From cb315f9d289ee5ff8650f684c5a3ef9714bdfdb2 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 14 Oct 2022 08:52:33 +0800 Subject: [PATCH 057/109] =?UTF-8?q?=E6=9A=82=E6=8F=90=E4=B8=80=E6=B3=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/DataSyncRecordDisabilityDTO.java | 1 + .../DataSyncRecordDisabilityController.java | 18 +++++- .../dao/DataSyncRecordDisabilityDao.java | 2 + .../DataSyncRecordDisabilityEntity.java | 7 +++ .../excel/DataSyncRecordDisabilityExcel.java | 8 +-- .../DataSyncRecordDisabilityService.java | 21 +++++++ .../DataSyncRecordDisabilityServiceImpl.java | 58 +++++++++++++++++++ .../mapper/DataSyncRecordDisabilityDao.xml | 55 ++++++++++++++++++ 8 files changed, 164 insertions(+), 6 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java index 66762c7617..517a6bf26d 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java @@ -107,6 +107,7 @@ public class DataSyncRecordDisabilityDTO implements Serializable { * 现居住地址 */ private String nowAdd; + private String address; /** * 监护人 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java index 4685545676..b9e8cd3c15 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java @@ -74,6 +74,14 @@ public class DataSyncRecordDisabilityController { return new Result(); } + /** + * Desc: 导出 + * @param tokenDto + * @param formDTO + * @param response + * @author zxc + * @date 2022/10/13 16:17 + */ @PostMapping("export") public void export(@LoginUser TokenDto tokenDto, @RequestBody DataSyncRecordDisabilityFormDTO formDTO, HttpServletResponse response) throws IOException { formDTO.setCustomerId(tokenDto.getCustomerId()); @@ -81,9 +89,15 @@ public class DataSyncRecordDisabilityController { dataSyncRecordDisabilityService.export(formDTO,response); } + /** + * Desc: 批量更新 + * @param ids + * @author zxc + * @date 2022/10/13 16:18 + */ @PostMapping("batchUpdate") - public Result batchUpdate(){ - + public Result batchUpdate(@RequestBody String[] ids,@LoginUser TokenDto tokenDto){ + dataSyncRecordDisabilityService.batchUpdate(ids,tokenDto.getCustomerId()); return new Result(); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDisabilityDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDisabilityDao.java index 8f7d1f4713..c920bf67b1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDisabilityDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordDisabilityDao.java @@ -20,4 +20,6 @@ public interface DataSyncRecordDisabilityDao extends BaseDao list); List list(DataSyncRecordDisabilityFormDTO formDTO); + + void batchUpdateResiDisability(List entities); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java index 3ea26e8050..b09103c8d7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java @@ -1,5 +1,6 @@ package com.epmet.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; @@ -68,11 +69,17 @@ public class DataSyncRecordDisabilityEntity extends BaseEpmetEntity { */ private String cjzkCn; + @TableField(exist = false) + private String cjzk; + /** * 残疾类别 */ private String cjlbCn; + @TableField(exist = false) + private String cjlb; + /** * 文化程度 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordDisabilityExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordDisabilityExcel.java index e7a52a2b40..9b4d338451 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordDisabilityExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordDisabilityExcel.java @@ -26,11 +26,11 @@ public class DataSyncRecordDisabilityExcel { @ExcelProperty(value = "性别") @ColumnWidth(20) - private String gender; + private Integer gender; @ExcelProperty(value = "民族") @ColumnWidth(20) - private String mz; + private String mzCn; @ExcelProperty(value = "家庭住址") @ColumnWidth(20) @@ -38,11 +38,11 @@ public class DataSyncRecordDisabilityExcel { @ExcelProperty(value = "残疾类别") @ColumnWidth(20) - private String cjlb; + private String cjlbCn; @ExcelProperty(value = "残疾等级") @ColumnWidth(20) - private String cjzk; + private String cjzkCn; @ExcelProperty(value = "监护人") @ColumnWidth(20) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java index 99ea18d578..3c1d294b05 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java @@ -82,7 +82,28 @@ public interface DataSyncRecordDisabilityService extends BaseService queryWrapper); + /** + * Desc: 列表 + * @param formDTO + * @author zxc + * @date 2022/10/13 16:17 + */ PageData list(DataSyncRecordDisabilityFormDTO formDTO); + /** + * Desc: 导出 + * @param formDTO + * @param response + * @author zxc + * @date 2022/10/13 16:17 + */ void export(DataSyncRecordDisabilityFormDTO formDTO, HttpServletResponse response) throws IOException; + + /** + * Desc: 批量更新 + * @param ids + * @author zxc + * @date 2022/10/13 16:18 + */ + void batchUpdate(String[] ids,String customerId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java index a08f6c9502..939c4d37b8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java @@ -23,10 +23,14 @@ import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.dao.DataSyncRecordDisabilityDao; import com.epmet.dto.DataSyncRecordDisabilityDTO; import com.epmet.dto.IcResiUserDTO; +import com.epmet.dto.form.CustomerFormQueryDTO; +import com.epmet.dto.form.IcFormOptionsQueryFormDTO; import com.epmet.dto.form.dataSync.DataSyncRecordDisabilityFormDTO; import com.epmet.dto.form.dataSync.ResiInfoDTO; +import com.epmet.dto.result.FormItemResult; import com.epmet.entity.DataSyncRecordDisabilityEntity; import com.epmet.excel.DataSyncRecordDisabilityExcel; +import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.service.DataSyncRecordDisabilityService; import com.epmet.service.IcResiUserService; import com.github.pagehelper.PageHelper; @@ -55,6 +59,8 @@ public class DataSyncRecordDisabilityServiceImpl extends BaseServiceImpl page(Map params) { @@ -171,4 +177,56 @@ public class DataSyncRecordDisabilityServiceImpl extends BaseServiceImpl all = Arrays.asList(ids); + List entities = baseDao.selectBatchIds(all); + IcFormOptionsQueryFormDTO formDTO = new IcFormOptionsQueryFormDTO(); + formDTO.setCustomerId(customerId); + formDTO.setFormCode("resi_base_info"); + formDTO.setColumnName("CJZK"); + Result> cjzkOptionsMap = operCustomizeOpenFeignClient.getOptionsMap(formDTO); + if (!cjzkOptionsMap.success()){ + throw new EpmetException("operCustomizeOpenFeignClient.getOptionsMap执行失败"); + } + formDTO.setColumnName("CJLB"); + Result> cjlbOptionsMap = operCustomizeOpenFeignClient.getOptionsMap(formDTO); + if (!cjlbOptionsMap.success()){ + throw new EpmetException("operCustomizeOpenFeignClient.getOptionsMap执行失败"); + } + Map cjlbMap = cjlbOptionsMap.getData(); + Map cjzkMap = cjzkOptionsMap.getData(); + entities.forEach(e -> { + cjlbMap.forEach((k,v) ->{ + if (e.getCjlbCn().equals(v)){ + e.setCjlb(k); + } + }); + cjzkMap.forEach((k,v) -> { + if (e.getCjzkCn().equals(v)){ + e.setCjzk(k); + } + }); + }); + // 变更记录 + + } + + @Transactional(rollbackFor = Exception.class) + public void disposeDisabilitybatchUpdate(List entities){ + baseDao.batchUpdateResiDisability(entities); + } + } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml index e545808db8..c9ecd32591 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml @@ -36,12 +36,67 @@ + + UPDATE ic_resi_user + + + + + when id = #{item.icResiUserId} then #{item.disabilityStatus} + + + + + + + + when id = #{item.icResiUserId} then #{item.cjzh} + + + when id = #{item.icResiUserId} then '' + + + + + + + + + when id = #{item.icResiUserId} then #{item.cjzk} + + + when id = #{item.icResiUserId} then '' + + + + + + + + + when id = #{item.icResiUserId} then #{item.cjlb} + + + when id = #{item.icResiUserId} then '' + + + + + UPDATED_TIME = NOW() + WHERE + + id = #{item.icResiUserId} + + + + From 3684e024e198a32926ea9056d70547010f79093d Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 14 Oct 2022 14:26:28 +0800 Subject: [PATCH 064/109] emm --- .../dto/DataSyncRecordDisabilityDTO.java | 1 + .../epmet/dto/form/dataSync/ResiInfoDTO.java | 2 ++ .../DataSyncRecordDisabilityEntity.java | 3 +++ .../DataSyncRecordDisabilityServiceImpl.java | 24 +++++++++++++++++++ 4 files changed, 30 insertions(+) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java index 517a6bf26d..d6768e09da 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java @@ -97,6 +97,7 @@ public class DataSyncRecordDisabilityDTO implements Serializable { * 性别1男2女 */ private Integer gender; + private String genderCn; /** * 户籍地址 diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/ResiInfoDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/ResiInfoDTO.java index b42e47618d..f9a8295e53 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/ResiInfoDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/ResiInfoDTO.java @@ -40,6 +40,7 @@ public class ResiInfoDTO implements Serializable { * 残疾等级(状况) */ private String cjzk; + private String cjzkCn; /** * 残疾类别 @@ -60,6 +61,7 @@ public class ResiInfoDTO implements Serializable { * 性别 */ private String gender; + private String genderCn; /** * 监护人 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java index 5d2987cdb3..81f8fd7a06 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java @@ -100,6 +100,9 @@ public class DataSyncRecordDisabilityEntity extends BaseEpmetEntity { */ private Integer gender; + @TableField(exist = false) + private Integer genderCn; + /** * 户籍地址 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java index 4fed49f5de..400e00f000 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java @@ -97,12 +97,36 @@ public class DataSyncRecordDisabilityServiceImpl extends BaseServiceImpl Date: Fri, 14 Oct 2022 14:43:06 +0800 Subject: [PATCH 065/109] emm --- .../src/main/resources/db/migration/V0.0.76__alter_ic_nat.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.76__alter_ic_nat.sql diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.76__alter_ic_nat.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.76__alter_ic_nat.sql new file mode 100644 index 0000000000..4c58646746 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.76__alter_ic_nat.sql @@ -0,0 +1,3 @@ +alter table ic_nat add COLUMN `SAMPLE_TIME` datetime COMMENT '采样时间'after ID_CARD; + +ALTER TABLE ic_nat MODIFY COLUMN NAT_TIME datetime COMMENT '检测时间,精确到分钟'; \ No newline at end of file From 9ccd523888b784f99f73811c339ec3221566bc8c Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 14 Oct 2022 15:59:29 +0800 Subject: [PATCH 066/109] =?UTF-8?q?/gov/voice/article/topArticle:pc?= =?UTF-8?q?=E6=96=87=E7=AB=A0=E7=BD=AE=E9=A1=B6=EF=BC=8C=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E5=B0=81=E9=9D=A2=E4=B8=BA=E7=A9=BA=EF=BC=8C=E4=BC=A0=E5=85=A5?= =?UTF-8?q?=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/TopArticleFormDTO.java | 5 +++++ .../com/epmet/controller/ArticleController.java | 2 +- .../java/com/epmet/service/ArticleService.java | 2 +- .../epmet/service/impl/ArticleServiceImpl.java | 15 ++++++++++++++- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TopArticleFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TopArticleFormDTO.java index 030fc58bd5..f97e610192 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TopArticleFormDTO.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TopArticleFormDTO.java @@ -22,5 +22,10 @@ public class TopArticleFormDTO { */ @NotBlank(message = "type不能为空,置顶:top,取消置顶:cancel_top") private String type; + + /** + * 封面图片 + */ + private String imgUrl; } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java index bcbaf69fde..7ab6795c57 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java @@ -432,7 +432,7 @@ public class ArticleController { @PostMapping("topArticle") public Result topArticle(@RequestBody TopArticleFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO); - articleService.topArticle(formDTO.getArticleId(),formDTO.getType()); + articleService.topArticle(formDTO.getArticleId(),formDTO.getType(),formDTO.getImgUrl()); return new Result(); } /** diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java index 4a9269c42c..8f0914bfe4 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java @@ -256,5 +256,5 @@ public interface ArticleService extends BaseService { PublishedListResultDTO detailV2(ArticleListFormDTO formDTO); - void topArticle(String articleId, String type); + void topArticle(String articleId, String type,String imgUrl); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index daf88968d0..4e94222164 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -1780,7 +1780,7 @@ public class ArticleServiceImpl extends BaseServiceImpl queryWrapper=new LambdaQueryWrapper(); + queryWrapper.eq(ArticleCoverEntity::getArticleId,articleEntity); + if (articleCoverDao.selectCount(queryWrapper) == 0) { + ArticleCoverEntity articleCoverEntity=new ArticleCoverEntity(); + articleCoverEntity.setCustomerId(articleEntity.getCustomerId()); + articleCoverEntity.setArticleId(articleId); + articleCoverEntity.setImgUrl(imgUrl); + articleCoverEntity.setAuditStatus("pass"); + articleCoverDao.insert(articleCoverEntity); + } + } } else if ("cancel_top".equals(type)) { articleEntity.setIsTop(NumConstant.ZERO); } From 858daf7b12bf1890ddf412c289c2bf34cb2565e9 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 14 Oct 2022 16:26:27 +0800 Subject: [PATCH 067/109] user --- .../tools/exception/EpmetErrorCode.java | 4 +++ .../src/main/java/com/epmet/dto/IcNatDTO.java | 6 +++++ .../com/epmet/dto/form/AddIcNatFormDTO.java | 7 ++++- .../com/epmet/dto/form/MyNatListFormDTO.java | 6 +++++ .../epmet/dto/result/NatListResultDTO.java | 5 ++++ .../DataSyncRecordDisabilityController.java | 2 ++ .../src/main/java/com/epmet/dao/IcNatDao.java | 4 ++- .../java/com/epmet/entity/IcNatEntity.java | 5 ++++ .../excel/data/IcNatImportExcelData.java | 7 +++-- .../handler/IcNatExcelImportListener.java | 14 +++++++++- .../epmet/service/impl/IcNatServiceImpl.java | 25 +++++++++++++++--- .../db/migration/V0.0.76__alter_ic_nat.sql | 6 ++++- .../src/main/resources/excel/ic_nat.xlsx | Bin 9220 -> 9203 bytes .../src/main/resources/mapper/IcNatDao.xml | 22 ++++++++++++++- 14 files changed, 103 insertions(+), 10 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 64688c8990..ec9ee8c209 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -263,6 +263,10 @@ public enum EpmetErrorCode { UNIT_EXIST_HOUSES_ERROR(8928,"单元下存在房屋,不可修改单元数"), IC_VACCINE(8929,"已存在相同记录,请去修改原有记录"), NOT_MATCH_IC_USER_ERROR(8930,"请联系社区工作人员"), + NAT_TIME_IS_NULL_ERROR(8931,"检测时间不能为空"), + NAT_RESULT_IS_NULL_ERROR(8932,"检测结果不能为空"), + SAMPLE_TIME_IS_NULL_ERROR(8933,"采样时间不能为空"), + SAMPLE_TIME_AND_RESULT_IS_NULL_ERROR(8934,"检测时间或结果不能为空"), MISMATCH(10086,"人员与房屋信息不匹配,请与工作人员联系。"), diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java index dbd32f4463..66c9828dfd 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java @@ -67,6 +67,12 @@ public class IcNatDTO implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date natTime; + /** + * 采样时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date sampleTime; + /** * 检测结果(0:阴性 1:阳性) */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java index 258f28c66b..1d7ba24673 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -61,9 +61,14 @@ public class AddIcNatFormDTO implements Serializable { /** * 检测时间 */ - @NotNull(message = "检测时间不能为空", groups = Nat.class) +// @NotNull(message = "检测时间不能为空", groups = Nat.class) @JsonFormat(pattern="yyyy-MM-dd HH:mm") private Date natTime; + +// @NotNull(message = "采样时间不能为空", groups = Nat.class) + @JsonFormat(pattern="yyyy-MM-dd HH:mm") + private Date sampleTime; + /** * 检测结果 */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java index 0272a30799..88f8359222 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MyNatListFormDTO.java @@ -51,6 +51,12 @@ public class MyNatListFormDTO extends PageFormDTO { */ private String endTime; + /** + * 采样开始/结束时间yyyy-MM-dd HH:mm + */ + private String sampleStartTime; + private String sampleEndTime; + /** * 核酸记录Id */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java index cbeb66e482..43f9582b8c 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java @@ -71,6 +71,11 @@ public class NatListResultDTO implements Serializable { @ExcelProperty(value = "检测时间",order = 4) private Date natTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + @ColumnWidth(25) + @ExcelProperty(value = "采样时间",order = 4) + private Date sampleTime; + /** * 检测结果 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java index 55a2fe580a..d890ff812c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java @@ -1,6 +1,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; @@ -35,6 +36,7 @@ public class DataSyncRecordDisabilityController { private DataSyncRecordDisabilityService dataSyncRecordDisabilityService; @PostMapping("page") + @MaskResponse(fieldNames = { "mobile", "idCard" }, fieldsMaskType = { MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD }) public Result> page(@LoginUser TokenDto tokenDto,@RequestBody DataSyncRecordDisabilityFormDTO formDTO){ formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java index 3507473187..b2419b09f5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -49,7 +49,9 @@ public interface IcNatDao extends BaseDao { * @Author sun * @Description 按条件查询业务数据 **/ - IcNatDTO getNatDTO(@Param("customerId") String customerId, @Param("icNatId") String icNatId, @Param("idCard") String idCard, @Param("natTime") String natTime, @Param("natResult") String natResult); + IcNatDTO getNatDTO(@Param("customerId") String customerId, @Param("icNatId") String icNatId, + @Param("idCard") String idCard, @Param("natTime") String natTime, + @Param("natResult") String natResult, @Param("sampleTime") String sampleTime); /** * desc:根据客户id 更新是否居民状态 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java index 50a9eed8e7..7cbe8cdd66 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java @@ -64,6 +64,11 @@ public class IcNatEntity extends BaseEpmetEntity { */ private Date natTime; + /** + * 采样时间 + */ + private Date sampleTime; + /** * 检测结果(0:阴性 1:阳性) */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java index 052b0cb1eb..ae0cb210d7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java @@ -29,14 +29,17 @@ public class IcNatImportExcelData { @Length(max = 18, message = "身份证号长度不正确,应小于18位") private String idCard; - @NotNull(message = "检测时间为必填项") +// @NotNull(message = "检测时间为必填项") @ExcelProperty("检测时间") private Date natTime; + @ExcelProperty("采样时间") + private Date sampleTime; + @ExcelProperty("检测地点") private String natAddress; - @NotBlank(message = "检测结果为必填项") +// @NotBlank(message = "检测结果为必填项") @ExcelProperty("检测结果") private String natResultZh; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java index 1f09a5142f..59f5eaab7b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -2,6 +2,8 @@ package com.epmet.excel.handler; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.read.listener.ReadListener; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.ValidateException; import com.epmet.commons.tools.utils.ConvertUtils; @@ -66,6 +68,16 @@ public class IcNatExcelImportListener implements ReadListener imp //@Autowired //private UserService userService; + public void disposeIsNull(AddIcNatFormDTO formDTO){ + /** + * 根据产品要求 不同情况提示不同错误 + * 1.采样时间为空,检测时间和结果有一个为空就报错 + * 2.采样时间不为空,检测时间和结果可以为空【如果不为空 检测时间和结果都不为空】 + */ + if ((null == formDTO.getSampleTime() && null == formDTO.getNatTime() || org.apache.commons.lang3.StringUtils.isBlank(formDTO.getNatResult()))){ + throw new EpmetException(EpmetErrorCode.SAMPLE_TIME_AND_RESULT_IS_NULL_ERROR.getCode()); + } + if(null != formDTO.getSampleTime() && org.apache.commons.lang3.StringUtils.isNotBlank(formDTO.getNatResult()) && null == formDTO.getNatTime()){ + throw new EpmetException(EpmetErrorCode.NAT_TIME_IS_NULL_ERROR.getCode()); + } + if (null != formDTO.getSampleTime() && org.apache.commons.lang3.StringUtils.isBlank(formDTO.getNatResult()) && null != formDTO.getNatTime()){ + throw new EpmetException(EpmetErrorCode.NAT_RESULT_IS_NULL_ERROR.getCode()); + } + } + /** * @Author sun * @Description 核酸检测-上报核酸记录 @@ -95,8 +112,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Override @Transactional(rollbackFor = Exception.class) public void add(AddIcNatFormDTO formDTO) { + disposeIsNull(formDTO); //0.先根据身份证号和检查时间以及检测结果校验数据是否存在 - IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), null, formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), null); + IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), null, formDTO.getIdCard(), null != formDTO.getNatTime() ? DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE) : null, null, null != formDTO.getSampleTime() ? DateUtils.format(formDTO.getSampleTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE) : null); //按身份证号核酸时间存在记录的 核酸结果相同的提示已存在相同记录核酸结果不同的提示已存在去修改【业务要求的】 if (null != icNatDTO && icNatDTO.getNatResult().equals(formDTO.getNatResult())) { throw new RenException(EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getCode(), EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getMsg()); @@ -216,8 +234,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp @Override @Transactional(rollbackFor = Exception.class) public void edit(AddIcNatFormDTO formDTO) { + disposeIsNull(formDTO); //0.先根据身份证号和检测时间以及检测结果校验除当前数据是否还存在相同数据 - IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), formDTO.getIcNatId(), formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), formDTO.getNatResult()); + IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), formDTO.getIcNatId(), formDTO.getIdCard(), null != formDTO.getNatTime() ? DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE) : null, formDTO.getNatResult(), null != formDTO.getSampleTime() ? DateUtils.format(formDTO.getSampleTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE) : null); if (null != icNatDTO) { throw new RenException(EpmetErrorCode.IC_NAT.getCode(), EpmetErrorCode.IC_NAT.getMsg()); } @@ -464,7 +483,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp errorRow.setName(e.getName()); errorRow.setMobile(e.getMobile()); errorRow.setIdCard(e.getIdCard()); - errorRow.setErrorInfo("未知系统错误"); + errorRow.setErrorInfo(exception.getMessage()); listener.getErrorRows().add(errorRow); } }); diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.76__alter_ic_nat.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.76__alter_ic_nat.sql index 4c58646746..136596160f 100644 --- a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.76__alter_ic_nat.sql +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.76__alter_ic_nat.sql @@ -1,3 +1,7 @@ alter table ic_nat add COLUMN `SAMPLE_TIME` datetime COMMENT '采样时间'after ID_CARD; -ALTER TABLE ic_nat MODIFY COLUMN NAT_TIME datetime COMMENT '检测时间,精确到分钟'; \ No newline at end of file +ALTER TABLE ic_nat MODIFY COLUMN NAT_TIME datetime COMMENT '检测时间,精确到分钟'; + +UPDATE ic_nat +SET SAMPLE_TIME = NAT_TIME, + UPDATED_TIME = NOW(); \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx index d9038bfdc4faa94007e45287efb4b4b9e34a099b..31cc19219bf74629dbeba6c13449990ad7f8208e 100644 GIT binary patch delta 5155 zcmZ8_bx;)E+x;%x9Sbb5)PgifNJ%%+-QCU7u}Zh#lF}{GER8fsw=@a}D7rKVO1^$R zzu!CG`M%H0z5kr&K6B^ZGiT)kHFd_#ChR399X$?b2Moyp+aj~KJ zu*YFGkL%(!1QfdL{DCy*NQ6oaa8zGpxnAF@MDEoedXXop(I)jC8iI}bY4|-JilJDn z$mM3Sf6%l!V#MKF=r*2bD4(jiJ=fOpVJzCFwAI_o41IZJyHsW&6&Fz!bscMSI1Ho+ zRP{c99Glg^JBW?UY=%a-8UR(%wM}TVY}erH{#6YHn39?R({!E()=LTyt#)zGkWk6* z4b%YVwbMZHRQ~%bc5+AY(E?-zXkEJ(#@@nd1181kuU54zY#J~lM3 zxYzl8U$m9;Gzgod=2zjnA&Y2HU2MZuC6TfxOjI>5b4PfPu93>Qt%H$qL+lui7L_FL zG-DSTtqLRCigFs*1+JVtqe8C!IDg4+r)0xb%;QM;%CT12jrLfA_DG?RX}Re6x~3PP zt)7ksLhxhA;xQXmq9V}&0AXB2D252!^JN>(jm1+k5AqU)nDWE&8iq2_1K|2o$}t}C za_*5g=KYpA3#ZeIdBnQ;lyPcn>MM9C72RNR!s&Xro9A>Jv%SWR%#1A_ywhG{SYC!a087BLqpSf%));w7Fy zQ$Fx%CLKmuiZ5vyK)TBFm8(nw?(co%?0cKwOY1@_UzdJi5x=LW@az+1VDb6VJ+_{3 zZ~I%dEj%BmgZhDaQ9SOHVBQ3wjRl&0K;KU}Z(1#y*y%~Qa(l**W4yROoX$IzgWr^S zU}xa;gmtP#+?VX!dgb#Y!~4s!>FF;$-qF~`%Es5JAeg>3`$Q(y_;V6-znDv7BjfA( zf=#OHj=bu`>ha z^3kWFATxQSvUwKHBF{&MWud9O*qTb4c_D6M0)~Sc1-VBssY@+WBv!S;*Vr+UQa$CV z^>|Nu0WX#i|6v2V`34p$4+U*y?u~fan0FO}$teLn$xF-4Y9o!l@b>*qcNQi8;o6k` zl+xMPGPFyHP@uze3+rnB)aw zU;sXHJ&CEMNlNcKgePaOo(!xJ%e)Id`<}o3qvqE9KvYZm@$UW%^=ol+` zX+aI1=mJJg$P9%tuMnVpg<<|V{R|`!H2FZ3NXH{sb7ANV8ocsF-vUz*Ay2LZ7;f&* zv5{VE(a(D^$%{|TjN@rUmau0p8UIlyyua!M_*b0(>BPiH4jdLNxE?pQf%{)zMGF8R z{EG&;^ZCJo-5vaRgFM`q%s+c=EK|Z68y{b3H%eh3*>pb{xr!y(lXJ`wV!i>Qw=t!$ zO+aPR85A)C;?P_cr##{aKnpx(I@T8We4)l4>gbk>-4@_b-My*@e2MF*YxypUT!m6+ z)Bx+q#l6IL2KblI>be?bbfazuZ28gax0vBb{Wy zN*WsKKfa8OciyH-(XBQG!@v!VJ^LwG%Mh@u1$-|CJ{>vE>#~=(66!tA?Hp~kaq@~& zwDsiCcQ39X{C4_@SVyhJ%|L~E#kB5^%B#0uH;TNt9}2zKAdmHyBN`DwdR!DN_X-XZ z$cZVHzS`;dZjGfE<6AlV4I%+06+ijdo>J3Q&vMG94C_zHg-}hltCV&3EL}@6*q34G zC>gc2!(+W%+QoUdXJuxNZ|WJHnfh@`YwfNBu|zuU!mje1w2pVXiNps;=9FgbsBOOduTqP=WIemWDXOmyaIrenrSF9uB%)v2g-jLSn z{E5IDK{;S28q2EzHNPFb!(CMt&NaTup$FnG|3L#qJjB20DPQzWw%!NW6C}VVe?dVOKprXu| zD}p|Dl~HsxSq9;qxY^o;D8R(cn~&(5yaXjreay3k%lRGCxi-w=3iw;lXCoVgL&A39 zze&U?iD~UIs+mhQK7>jifKgcWLqBk0dr_BZRJR^Y(vg+VVA`|h>%%;A4EO72Ay?^y z9)6Toym+ov1_CCw6+rlYNSUk9&k$TXWXK=Fy}hNR@iAKS7(?e58ISys){V6wA_f{3 zm3mA_tMFt)t$GB7+fd|eq8&lV+SctcU84oX3>NGKCwVWnOcpR?~9* zv8l;^rZvj+V+rT=FVn`hpXahnY_MWC0c6&TOe#*Jwp{to$wgE~s~my?wZUfaq+GPO z%gk0Bb8fOoZJ}k|mgv$yiC4R$ra@_6E}|H?`CVWh%F2rmd+S$OZrAcbZ}Ic*(J!Sh ziRY08jIj>@q7Y4|t!r^!FcnMUfplqf<`d&+SE@nu5Ah1$e8tP=swS}%VdVRTL43== znzSIUcQh`!L3{$xHL6CP{g`+-e3tR3QzR%AG%hZh^QYg>ahq|k#VG4(W9W=?|K3z~ z5V`+5$7$}RsYIO-Et+Zv<&P?7rIjrNm$DU-0FwkV4+*q|Gt* z<;5#^I1{M zp9>8ME3Dt*go$zT)M6wC2dcMCCuxInWSYj5#9{p^pIR-h#c2g2)}4mZ*IwENexlC0 zvcbnN_- zeooCt|xO*Mqg^loJ`edq?*JW^KCeq*7i|Xp;LJC`o z^H0I8kec5nZ4VR|n1wLkJ*{|8-=*m$iCgz*>~tGS$kVm4NnJTwqIr&TfZj7-`Oss8Fp_nE+wE5+;#+yIgiE9#9U_l zk~~HK&cksBAB>2}kN^qJNiC&fCbRaZHkQbLnHfl{3_cwKP7nS*+x;K1$ zxUKu~#IwAu&_^~Lx>BL>Wwc=FL7I5<^;W`ODOQo*_Wcpkmh#vZZ9Zsfd@^YFH~0O8 zv=n{cBWhgwd7^!(35jO3mGs++gc$tc>_JRQtC@;qQNJoj^y5l*`_){v>?e}_ztTvt zyI)hB!Cwnwm+MK{Zx1}AQ`-z}Csplq8d(j7V0Zi!{7JwT zFzeNKdw9kI)r&1CxeRe{zStf=eVPdZ6+O4Hb=VttfW`#cjtEAbv9JdU)-pX=)p+n1 z?7Z(&5ws-OW!>Z1H)%=jleD{@d>46S%Sl?a1uwk&0}DI3-t7*A7DY@uJ8%q0MnzIB zH6j{7;~J!TSv})b?B9#-b#^_|UZLMM>iaT8L`0nL>|M!o+#s|bW-umlsyY0VQ!vz@ ze@IE~&b%X`8Ksmz>G&#+E9sb+gu|mmWbCauEvV^$mDoAl&D9+AV%Q*|0w#jS z2{ImLgE7h$O_nrHeDrBGEb>WrFo?u3Q_l z_U6!2ke;Ja?Rjl!WLqgi+6A7Jis`ID_+M{hy6TDEa)(Q5dfSM8(!D*sUfYgs4Zl2$ zaN3I%UCo|GlYStL2*k8iI0;$o+>gsqME1Ylk~yJGKlfsc@gms4WcuBZf>vend&#qA zd3CKdIVGgpV2gh;z@bdX<;Y!sD!|QY)HNen_ts+!beR-rlnV1ZHafx56g`cLkls8T z1`> z+f%Q#&OCVr1ORBz5HvLOaMwW@ikRz|UiqA!nc+)i)`afovbO-)Dq0mN(^H-!O?+my zOKk4d1#Jpy-mXS`Ghyal4M!ob`3xC#?AhbO6EJUfjZuTSa_2CxRmv978vim)$x%+fBIgkK)2G~LXL3GeyTx6#qGr*+_dH3PmcZGCcb%+ zgWcTAPsEJ|RWFirQT=3c%5$ymXc=z5E` zvz!r`EDTDrZ|fvRsQy+BSUPX8FQ+ei)ZJIW&C~|EV7@TWuPbGkkd%O!r2a;6hW|Jn zd8^!%uToT1D*WJQb7gu#_up@tP;#7yfYCmIcOA>~*A)zBuVTJH3m{JDR+?1KEQj5N zZW`Kw#nxt1i?;lh^AN&^`0}5=Q1Tbp_s^*|v`A2#o;`&5;d4WGGWfsP0JlIkdX`po z5{#)uUl?gfJB(!tbdg^rCur;9$+wEjH20(aGWFT%Dh37Ta{M@Lq0`zMvl9Abf|^q} zBaxMX>DRLCI>l_IH!qb~-!Qs;R^V946zO237nm1n7<_Y#06HpYXsNO5V@~1R5b?!e zHqMD$*NJ@U$#W1pJzv@5B{}$fEF5sAd%}cj(d!MB4Sz>o;4Lf{WD*qR z2tg4GRG_YW)YYF5bG=YqegC81n*lKh9<#6x2QkciPs+bkJF%xjqyPF!95dN%mQn8k zkVcD~r<1_|K1Yy2WPp_jJ;+nw1R@TC`2VRHBa=AYzk$zR0~PU?pydDftiJ^WK>qGO z5HKbgY!Jr3<_h7?0!FMb5uu%f5#O1FfiwtuW*+c=m<<5@lOg?6|L^d35W01d1WDS(w28$zuQj X(0_F~U?AWaw1{IC60Bv$e~|wH2aby? delta 5168 zcmZ8l2T&7AyG>|;Kg%A{KGo6VL(x0AfJY z{S_5lyiMIT<_eD!scIA{N*n%%%c$bhQIjs#!q3F+3>2BN0enU7hR*swUQ(|j>z(BH z+3niWL>7bHPxFXGNw*6}2;;c$B8KODO>#)j{1tPB2ypdHZlD59Aj9%fMN7M*$Yfks zkN_(&co!Ua5H=*{e+7HEogePU*;@7S_mi5Z?iaS+BaBK&fxLUgD0k7EcQW938Mc;- z!GfzZ!*(wE@?5wbQY+MscehuZqFIY{ znQ4SgnDhBQ4sRXrX7!u*1=kioROm?jNLgNs>&^ali|7C)iKlVjkqr zjf>@z;@GP_<`GO*iz)KwN(w~R)D0%dxSkp0(~m@a(~EBTj-}zmbwFUk2kafvX$yblLHlir|4K-xP=>l>O ze_uZ}m9o_`EZRpk$oQruZn6-j_O_&HWO{7Id53=&ODqB1?XixetTe9 z-yn^9BZ&7bfPULAT1$A(@71;H@Ax}?3{}@UGp^;T^Bs^xF7I!addee^^H zS@m(5$FR=jo?pA%Ly`*K)Q8SfySKI!>%lDU=2y)2yuV305680Gmn$C6t5RGlD1@bOd3nazmq#~w ziaMw4@#m}Rq9XTxO_()PxQdV2Xd-nz-h7MU9gCs00+B0?o5R1v@hFn#+Huh+N<5h5 z7*+)5XO$`+NWUu9c=w2SOo$g=$C17d5<4cE@~h9!MKNU8=*j7-hAM@2kR4tJqdpIV^C z*-N$CH=lpgP6!*Yzwc8l=}o-h5RB6eva7jx>@G4UIQ8hEK(+WPE1AkKH9aUxr-Q7B z{3_u|u$RuaWzqH#IljP)J*XYSMfc!QPP;O)75U-@qED3>D1}&&^6T7kA?kQY#9R?= zEhhS9i~6KH03_<-Bvv2GA|zgRbl*8W^~4*3q~L!izqsqDczihlLJXP^hn`WfPQac$ zfgRvrBF_LXXAHY0p?@si%;=Cu6dB{Fkktcw z8&Z+W&w*AlpH!y`k-R2rMwg@tr|7f|y)@XW1uYwrSo2`P2j_##_StI`8Sky_4l`=r zJyV}zkpy1^mFCJt)=fPJ1;=;2@%-Ud`%;?hape874ahsKWaL4TR zb*cityC<1eXfp>HvbIi!nIQfpkEhE{mW;fYsfhEZ`r;{|nWsyo%cHh{b-k_B6ZyuQ zE#{l!`J6W`OTVQ~I6_x0>uc1+XwjEah)a0<&FMFi<_?FSZCxfCZB8;K0#9&vI*TgO z5IeD+I<0oib<;X-b+>YGfuJY*K8xN8j_r2221&sIJ_XwlB#e)R=a+aRwoxp^s(Jn| z;4RroUftADh!B7|BF*nFtoh;-qc|hv_0<;s#dz2t2i~QH`WWn#|MUzK8nAS}hDhp9 zPtv%ACttPBYjxJ`Zcpr*2)vcO7(Yin$EFHLvA};6+mt&wJ(Ra=#S5G(3BsDRSs3k7 zAELMgX&ShZ)S0D#@v&s%k*GQddj6qBhcOo;^;7E&c=*5xVuV*nozmc|_b)^2% zzq|7qf` zR%miz?FUWCR7tqUX?Dmp!Qhbf1r4*nIypN6et|?RiSd^?caL=o zuAhjzIgaz6cBU^&y3%L`KgAUWMtDG9tdx2?`EA7kBrkF32@sA5SR%eMc4=MNW9athi z;+sJa9vDlEiyv4b4623f3&7~lw+S*ocICoZB}@pQpF)Ps1UsU_Qw8~UjJx6j7|OYM zVKR#_VEZ|dE3WR;^uM1*w&XDKKLi!9MVX7c5FM zTUh)1o!9I0O3j}+<`Z|!%Bvsb5$+(-!+wLDNGD>GyiYJ$SFtzG)$j?sNQ7`v&-w&Q zePRm0hKLZMd)elYB71gJEQwI5{348PTnE+FK|mGjzNQX})A0B()vWp|jw7JQ%V`2i z#p*xu0w9a0dh)tI3E!I}w(%+%a&M>mr&ig<9^?WC@Xuva_L_CNZGv#H)giY+rsMZh zS!I{zyXutp%-z^nj}yXV|Js*tGc>wy%(FQ!B%h#_QyB%;s9!j2?Qj7d3xb#scB*W$e`34#bu9N!*+oh)}~qU#A0@U&coDAUAj5K^iz)Q9yT~hf-If zUJj&AG9?Fjs-frgypUU^B|OEOr)JJOZM-3`K7I~|;M_*(b*VZNAh`i8fIc4esM=(2 z@(_y*bK?P&v2IEvr)92baf$XJ4 z1nj2W*Hl9TD4P{+GVCykh~U#*P9rxmS+FIl%NGQIz6fUx=&a6F;3dzT@;Kr#canw6 z-q|tFCZn|J=iwknl9eh(G{GMTaF!1U)uYsoCA|lY)^_G_VN{8YHiJ#vBsr}HSv7+_ zu)b7>9@}NGbY_kEoHhwbbQS+3PrO8|U-b}ODKQ6qNxCXflbWY8$HC1x`Xiya7OUOiB{YOGtX?cPJaI9+|RYDYj26Q3>z=T||e zh9wA{Fjg%k@IMOwP9F;&_#B9eD&^{?r4G|N5ZG?qKi`{8BpHrCr)V>Z58s=}ARORc zB9|Y5=4?L|q>CDK;MsZWytXW{B_FQ-5%#X4y$Pa=Nh8 zBacHGWrM54kCujd2czkT)Z-iz4dH!8H!l<$j~0!^=ec602W(BV;oE0}rUxxUcczui zoaN82aBD_$8IC$#mRY2-2G3!+QsmSd#G5wZ7_QCUFkBCzLS#%H0eki zU;IW%S>eXZdxMJmx}Oh8g9pc@yp`{zRv|!g%s)!7hbuFPlWwE7gd9-9Od9diR+HHH zVoCj*!efcNsv))_b%(K*M2L0gcvXu3oBhSmn`5Q5A?zDva8DLM0qpMAEYhBy9p-cL z>$vCZzTvIU{!S;h|Ji*Fka$6g>Odm3kQ007B(|%)ikFll!j${l+j#?yTlm#11ss`> zE^%d&EG~_G4Fziv2`-vwZ@1roCFxQJw@7}z2M;>VkQ`dvmsvl4XzpLo_X*an%EVb( zffAm?SECSR3NSUtlhbCb&W&LFU@($i%5UCh4srcxK&E(y(2$eXi$&JGphI!e9LOZ6 z6Rlx2;Mw4=O6B&-#np;oyh8L)#{~Iygs!ZmuOwG!kI2C`0!X^u_=(~zsVC|7;IMQi zRLzB>W(my@^w?_rL?td^%p*Ri)9?UZKxuOu-Zl+XS}|%}UpT@0q4{U0UDsCHVQW#2 zY=O0lMeSF+^x?eL^85GYuA#wSr6*mB%70|S<=1P2UbqF9yGzyA)$a!N^E*l{qNAb8 zF9LoW*Z&MVso1XzeYWWr`CGcBd(E%eb2j64xjCqc{pOg>*V}J8@wa%gBb*>sFyfpT69uMC9NKRfTwT z1C%0^RCIc!6Ajc5wDYxU3?^3*U^B9O-w||dQ^^nBlr{szXbU>&<;pO&c|##;aGkmQ zsN)gN%b+zeU8M|~Yrlf3(EhDw_-PnAZrQFbhz3-fJ`sL#E(QuHL9wF z1nMU*`x)sX6en8Rr^^VEF6(W8xX?Pz7O}-yE_KVRU5b9bheyk&$n)t(8UA2yHe6J{ zWoYomI<9%eF|pEC^O>s(g6UV3Cv}MUTEJBG-3lU@?)h#S+2od0w$Rkr0)3q&msZZY zGw-Q%9N&J=x`V>q>b$`FPUdrDhsU=5wY`;2g&Zomx1(zsY!gYZea)t54WGFNi&v8O zVa1S-Q{RNPSsZY`rCIMb@a01ae_D7NivQnKt~D*b!8kGtAe%i`9Um*ih*Xhg66~;3 z2gIj}@CdNove!>AYTrM>u5O&Zo49b6yzHWUi{&xklM}7!(uJS$gtREz&Ev(!SoPOp zExKg1EFPsXl;P0bAACSs1k$O)g==Y+^qP^czQ!Cmmzp-)2f`RnERTVWaS#V_`MZZ# z@)FjTj7+J^NM+WFinkrwe2*igEM1KK6#wWAFzY+`%YcV!AMOCns@$1o2` z;3N_+E4qE200nDq+RQSW0`jY0) z`gZ^UoPXv`j3ZP9LQn9I05jGH;?V*yP-14x02GXe&xV AND b.nat_time #{endTime} + + AND b.sample_time = ]]> #{sampleStartTime} + + + AND b.sample_time #{sampleEndTime} + AND b.is_resi_user = #{isResiUser} @@ -83,6 +90,7 @@ mobile mobile, id_card idCard, nat_time natTime, + sample_time sampleTime, nat_result natResult, nat_address natAddress FROM @@ -105,6 +113,12 @@ AND nat_time #{endTime} + + AND sample_time = ]]> #{sampleStartTime} + + + AND sample_time #{sampleEndTime} + ORDER BY nat_time DESC, id ASC @@ -117,6 +131,7 @@ mobile, id_card, nat_time, + sample_time, nat_result, nat_address FROM @@ -125,7 +140,12 @@ del_flag = '0' AND customer_id = #{customerId} AND id_card = #{idCard} - AND DATE_FORMAT(nat_time, '%Y-%m-%d %h:%i') = DATE_FORMAT(#{natTime}, '%Y-%m-%d %h:%i') + + AND DATE_FORMAT(nat_time, '%Y-%m-%d %h:%i') = DATE_FORMAT(#{natTime}, '%Y-%m-%d %h:%i') + + + AND DATE_FORMAT(sample_time, '%Y-%m-%d %h:%i') = DATE_FORMAT(#{sampleTime}, '%Y-%m-%d %h:%i') + AND nat_result = #{natResult} From 211bd576fe09570807491c65b176cb0d2771ad6b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 14 Oct 2022 17:09:11 +0800 Subject: [PATCH 068/109] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=8C=BA?= =?UTF-8?q?=E7=BA=A7areaCode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/AreaCodeServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index b0f519a3ac..418b3dc251 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -833,7 +833,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl Date: Fri, 14 Oct 2022 17:35:15 +0800 Subject: [PATCH 069/109] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=9A=82=E6=8F=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/DataSyncTaskParam.java | 12 +++ .../impl/DataSyncConfigServiceImpl.java | 102 ++++++++++-------- .../resources/mapper/DataSyncConfigDao.xml | 23 ++-- 3 files changed, 84 insertions(+), 53 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java index 563bfc1500..00134f6c45 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.dto.DataSyncScopeDTO; import lombok.Data; @@ -35,4 +36,15 @@ public class DataSyncTaskParam implements Serializable { * 类别字段 */ public String categoryColumn; + + /** + * 是否同步 1:是;0:否; + */ + private String isSync = NumConstant.ZERO_STR; + + /** + * 核酸检测信息列表 点击同步时使用此字段 不使用数据配置的范围 + */ + private String agencyId = null; + private String dataCode; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 991884787a..fc872eb582 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -8,11 +8,13 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.dto.result.YtDataSyncResDTO; +import com.epmet.commons.tools.dto.result.YtHscyResDTO; import com.epmet.commons.tools.dto.result.YtHsjcResDTO; import com.epmet.commons.tools.enums.GenderEnum; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; @@ -178,58 +180,66 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl dbResiList = null; - //设置查询数据范围 - formDTO.setOrgList(config.getScopeList()); - DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); - - do { - switch (anEnum) { - case HE_SUAN: - //查询正常状态的居民 - dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); - if (CollectionUtils.isEmpty(dbResiList)) { - break; - } - hsjc(dbResiList, config.getCustomerId()); - break; - case CAN_JI: - //查询正常状态的居民 并回显 残疾状态 - formDTO.setCategoryColumn("IS_CJ"); - dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); - canJi(dbResiList); - break; - case SI_WANG: - //查询正常状态的居民 - dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); - siWang(dbResiList); - break; - default: - log.warn("没有要处理的数据"); + if (StringUtils.isNotBlank(formDTO.getDataCode())){ + allConfigList.forEach(c -> { + if (c.getDataCode().equals(formDTO.getDataCode())){ + disAllData(c,formDTO); + return; } - pageNo++; - } while (false);//todo fangkaita(dbResiList != null && dbResiList.size() == pageSize); + }); + }else { + for (DataSyncConfigDTO config : allConfigList) { + //没有配置 数据拉取范围 继续下次循环 + if (CollectionUtils.isEmpty(config.getScopeList())) { + continue; + } + disAllData(config,formDTO); + } } + } + private void disAllData(DataSyncConfigDTO config,DataSyncTaskParam formDTO){ + //没传具体参数 则 按照 + int pageNo = NumConstant.ONE; + int pageSize = 1;//todo fangkaita NumConstant.ONE_THOUSAND; + //ToDo 去掉 + formDTO.setIdCards(Collections.singletonList("370283199912010302")); + List dbResiList = null; + //设置查询数据范围 + formDTO.setOrgList(config.getScopeList()); + DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); + + do { + switch (anEnum) { + case HE_SUAN: + //查询正常状态的居民 + dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); + if (CollectionUtils.isEmpty(dbResiList)) { + break; + } + hsjc(dbResiList, config.getCustomerId()); + break; + case CAN_JI: + //查询正常状态的居民 并回显 残疾状态 + formDTO.setCategoryColumn("IS_CJ"); + dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); + canJi(dbResiList); + break; + case SI_WANG: + //查询正常状态的居民 + dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); + siWang(dbResiList); + break; + default: + log.warn("没有要处理的数据"); + } + pageNo++; + } while (false);//todo fangkaita(dbResiList != null && dbResiList.size() == pageSize); } private void siWang(List dbResiList) { @@ -446,8 +456,9 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl entities = new ArrayList<>(); idCards.forEach(idCard -> { + YtHscyResDTO sampleResult = YtHsResUtils.hscy(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); YtHsjcResDTO natInfoResult = YtHsResUtils.hsjc(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); - if (CollectionUtils.isNotEmpty(natInfoResult.getData())) { + if ((CollectionUtils.isEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData())) || (CollectionUtils.isNotEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData()))) { natInfoResult.getData().forEach(natInfo -> { IcNatEntity e = new IcNatEntity(); e.setCustomerId(customerId); @@ -458,6 +469,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl - AND ( - - - GRID_ID = #{l.orgId} - PIDS LIKE CONCAT(#{l.orgIdPath},'%') - - - ) + + + AND ( + + + GRID_ID = #{l.orgId} + PIDS LIKE CONCAT(#{l.orgIdPath},'%') + + + ) + + + AND PIDS LIKE CONCAT(#{agencyId},'%') + + ORDER BY CREATED_TIME From ca56697eeb54d0b39d80709138c7ff37d9df5fe7 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 14 Oct 2022 17:48:46 +0800 Subject: [PATCH 070/109] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=9A=82=E6=8F=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/dto/result/YtHscyResDTO.java | 2 +- .../impl/DataSyncConfigServiceImpl.java | 34 ++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtHscyResDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtHscyResDTO.java index dd74313196..5e404f75d9 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtHscyResDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtHscyResDTO.java @@ -23,7 +23,7 @@ public class YtHscyResDTO { private int total; @Data - class YtHscyResDetail { + public static class YtHscyResDetail { private String id; private String name; private String card_type; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index fc872eb582..469465901e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -458,7 +458,13 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl { YtHscyResDTO sampleResult = YtHsResUtils.hscy(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); YtHsjcResDTO natInfoResult = YtHsResUtils.hsjc(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); - if ((CollectionUtils.isEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData())) || (CollectionUtils.isNotEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData()))) { + Boolean aBoolean = CollectionUtils.isEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData()); + Boolean bBoolean = CollectionUtils.isNotEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData()); + /** + * 1.采样结果 和 检测结果 都不为空,以检测结果为准 + * 2.采样结果为空,检测结果不为空 + */ + if (aBoolean || bBoolean) { natInfoResult.getData().forEach(natInfo -> { IcNatEntity e = new IcNatEntity(); e.setCustomerId(customerId); @@ -484,6 +490,32 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl { + IcNatEntity e = new IcNatEntity(); + e.setCustomerId(customerId); + e.setIsResiUser(StringUtils.isBlank(idCard.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); + e.setUserId(idCard.getUserId()); + e.setUserType("sync"); + e.setName(StringUtils.isNotBlank(sampleInfo.getName()) ? sampleInfo.getName() : ""); + e.setMobile(StringUtils.isNotBlank(sampleInfo.getTelephone()) ? sampleInfo.getTelephone() : ""); + e.setIdCard(StringUtils.isNotBlank(sampleInfo.getCard_no()) ? sampleInfo.getCard_no() : ""); + e.setNatTime(DateUtils.parseDate(sampleInfo.getTest_time(), DateUtils.DATE_TIME_PATTERN)); + e.setSampleTime(DateUtils.parseDate(sampleInfo.getSample_time(), DateUtils.DATE_TIME_PATTERN)); + String resultPcr = sampleInfo.getSample_result_pcr(); + //检测结果 转换 我们 0:阴性 1:阳性, 他们 :1:阳性,2:阴性 + e.setNatResult(NumConstant.ZERO_STR); + if (NumConstant.ONE_STR.equals(resultPcr)){ + e.setNatResult(NumConstant.ONE_STR); + } + e.setNatAddress(sampleInfo.getSampling_org_pcr()); + e.setAgencyId(idCard.getAgencyId()); + e.setPids(idCard.getPids()); + e.setAttachmentType(""); + e.setAttachmentUrl(""); + entities.add(e); + });*/ + } }); if (CollectionUtils.isNotEmpty(entities)) { List existNatInfos = icNatDao.getExistNatInfo(entities); From 682ff77a7f7c85128a550311f873663b428bd8a5 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Sun, 16 Oct 2022 15:24:47 +0800 Subject: [PATCH 071/109] gateway actuator --- epmet-gateway/src/main/resources/bootstrap.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index 483f545f43..8ebee48ec1 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -418,7 +418,11 @@ management: web: exposure: include: "*" + # enabled-by-default: false + endpoint: + gateway: + enabled: false health: show-details: ALWAYS From f72c8c075e91187da9c61e9f7e2fc437f74cf45d Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Sun, 16 Oct 2022 20:38:07 +0800 Subject: [PATCH 072/109] =?UTF-8?q?=E6=88=BF=E5=B1=8B=E4=BA=8C=E7=BB=B4?= =?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90=E5=A4=B1=E8=B4=A5=E4=B8=8D=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/HouseServiceImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index de8806a781..31aa88b033 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -175,7 +175,9 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { try { entity.setHouseQrcodeUrl(createHouseQrcodeUrl(icHouseDTO.getId(),null)); } catch (Exception e) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"二维码生成失败","二维码生成失败"); + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("二维码生成失败:"+errorMsg); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"二维码生成失败:","二维码生成失败"); } icHouseDao.updateById(entity); } From a4f94291750124c65d4ea7c4b8b6d32a31a2c50f Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 17 Oct 2022 09:47:17 +0800 Subject: [PATCH 073/109] =?UTF-8?q?test=20=E8=8F=9C=E5=8D=95=E6=95=B0?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/GovMenuServiceImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java index a3b63e096b..b9ee352c28 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java @@ -234,7 +234,9 @@ public class GovMenuServiceImpl extends BaseServiceImpl Date: Mon, 17 Oct 2022 09:56:14 +0800 Subject: [PATCH 074/109] =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=9A=82=E6=8F=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DataSyncConfigServiceImpl.java | 79 ++++++++++--------- 1 file changed, 41 insertions(+), 38 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 469465901e..d165bfaa51 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -222,7 +222,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl idCards, String customerId) { + public void hsjc(List idCards, String customerId, String isSync) { try { List entities = new ArrayList<>(); idCards.forEach(idCard -> { - YtHscyResDTO sampleResult = YtHsResUtils.hscy(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); +// YtHscyResDTO sampleResult = YtHsResUtils.hscy(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); YtHsjcResDTO natInfoResult = YtHsResUtils.hsjc(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); - Boolean aBoolean = CollectionUtils.isEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData()); - Boolean bBoolean = CollectionUtils.isNotEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData()); + /*Boolean aBoolean = CollectionUtils.isEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData()); + Boolean bBoolean = CollectionUtils.isNotEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData());*/ /** * 1.采样结果 和 检测结果 都不为空,以检测结果为准 * 2.采样结果为空,检测结果不为空 */ - if (aBoolean || bBoolean) { +// if (aBoolean || bBoolean) { + if (CollectionUtils.isNotEmpty(natInfoResult.getData())) { natInfoResult.getData().forEach(natInfo -> { IcNatEntity e = new IcNatEntity(); e.setCustomerId(customerId); e.setIsResiUser(StringUtils.isBlank(idCard.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); e.setUserId(idCard.getUserId()); - e.setUserType("sync"); + e.setUserType(isSync.equals(NumConstant.ONE_STR) ? "manualSync" : "sync"); e.setName(StringUtils.isNotBlank(natInfo.getName()) ? natInfo.getName() : ""); e.setMobile(StringUtils.isNotBlank(natInfo.getTelephone()) ? natInfo.getTelephone() : ""); e.setIdCard(StringUtils.isNotBlank(natInfo.getCard_no()) ? natInfo.getCard_no() : ""); @@ -479,7 +481,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl { + /*if (CollectionUtils.isNotEmpty(sampleResult.getData()) && CollectionUtils.isEmpty(natInfoResult.getData())){ + sampleResult.getData().forEach(sampleInfo -> { IcNatEntity e = new IcNatEntity(); e.setCustomerId(customerId); e.setIsResiUser(StringUtils.isBlank(idCard.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); e.setUserId(idCard.getUserId()); - e.setUserType("sync"); + e.setUserType(isSync.equals(NumConstant.ONE_STR) ? "manualSync" : "sync"); e.setName(StringUtils.isNotBlank(sampleInfo.getName()) ? sampleInfo.getName() : ""); - e.setMobile(StringUtils.isNotBlank(sampleInfo.getTelephone()) ? sampleInfo.getTelephone() : ""); + e.setMobile(StringUtils.isNotBlank(sampleInfo.get()) ? sampleInfo.getTelephone() : ""); e.setIdCard(StringUtils.isNotBlank(sampleInfo.getCard_no()) ? sampleInfo.getCard_no() : ""); e.setNatTime(DateUtils.parseDate(sampleInfo.getTest_time(), DateUtils.DATE_TIME_PATTERN)); e.setSampleTime(DateUtils.parseDate(sampleInfo.getSample_time(), DateUtils.DATE_TIME_PATTERN)); @@ -514,37 +516,38 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl existNatInfos = icNatDao.getExistNatInfo(entities); - entities.forEach(e -> existNatInfos.stream().filter(i -> i.getUserId().equals(e.getUserId()) && i.getIdCard().equals(e.getIdCard())).forEach(i -> e.setExistStatus(true))); - Map> groupByStatus = entities.stream().collect(Collectors.groupingBy(IcNatEntity::getExistStatus)); - if (CollectionUtils.isNotEmpty(groupByStatus.get(false))) { - for (List icNatEntities : ListUtils.partition(groupByStatus.get(false), NumConstant.FIVE_HUNDRED)) { - icNatService.insertBatch(icNatEntities); - //组织关系表 - List relationEntities = new ArrayList<>(); - icNatEntities.forEach(ne -> { - // 不是居民的先不加关系表吧 - if (ne.getIsResiUser().equals(NumConstant.ONE_STR)) { - IcNatRelationEntity e = new IcNatRelationEntity(); - e.setCustomerId(customerId); - e.setAgencyId(ne.getAgencyId()); - e.setPids(ne.getPids()); - e.setIcNatId(ne.getId()); - e.setUserType("sync"); - relationEntities.add(e); + });*/ + if (CollectionUtils.isNotEmpty(entities)) { + List existNatInfos = icNatDao.getExistNatInfo(entities); + entities.forEach(e -> existNatInfos.stream().filter(i -> i.getUserId().equals(e.getUserId()) && i.getIdCard().equals(e.getIdCard())).forEach(i -> e.setExistStatus(true))); + Map> groupByStatus = entities.stream().collect(Collectors.groupingBy(IcNatEntity::getExistStatus)); + if (CollectionUtils.isNotEmpty(groupByStatus.get(false))) { + for (List icNatEntities : ListUtils.partition(groupByStatus.get(false), NumConstant.FIVE_HUNDRED)) { + icNatService.insertBatch(icNatEntities); + //组织关系表 + List relationEntities = new ArrayList<>(); + icNatEntities.forEach(ne -> { + // 不是居民的先不加关系表吧 + if (ne.getIsResiUser().equals(NumConstant.ONE_STR)) { + IcNatRelationEntity e = new IcNatRelationEntity(); + e.setCustomerId(customerId); + e.setAgencyId(ne.getAgencyId()); + e.setPids(ne.getPids()); + e.setIcNatId(ne.getId()); + e.setUserType("sync"); + relationEntities.add(e); + } + }); + if (CollectionUtils.isNotEmpty(relationEntities)) { + icNatRelationService.insertBatch(relationEntities); } - }); - if (CollectionUtils.isNotEmpty(relationEntities)) { - icNatRelationService.insertBatch(relationEntities); } } - } - } + } + }); } catch (Exception e) { log.error("hsjc exception", e); } From d14dda0e4f5cf658dd3ad9622b6f4e78bd3e3729 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 17 Oct 2022 10:05:07 +0800 Subject: [PATCH 075/109] =?UTF-8?q?=E8=BF=98=E5=8E=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/GovMenuServiceImpl.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java index b9ee352c28..a413c9dfdc 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java @@ -234,8 +234,6 @@ public class GovMenuServiceImpl extends BaseServiceImpl Date: Mon, 17 Oct 2022 10:08:23 +0800 Subject: [PATCH 076/109] emm --- .../com/epmet/dto/form/dataSync/ResiInfoDTO.java | 1 + .../impl/DataSyncRecordDisabilityServiceImpl.java | 14 ++++++++++++++ .../com/epmet/service/impl/IcNatServiceImpl.java | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/ResiInfoDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/ResiInfoDTO.java index f9a8295e53..1f148219b5 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/ResiInfoDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/ResiInfoDTO.java @@ -46,6 +46,7 @@ public class ResiInfoDTO implements Serializable { * 残疾类别 */ private String cjlb; + private String cjlbCn; /** * 民族 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java index 400e00f000..3b564f19e7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordDisabilityServiceImpl.java @@ -102,6 +102,7 @@ public class DataSyncRecordDisabilityServiceImpl extends BaseServiceImpl> cjlbOptionsMap = operCustomizeOpenFeignClient.getOptionsMap(formDTO); + if (!cjlbOptionsMap.success()){ + throw new EpmetException("operCustomizeOpenFeignClient.getOptionsMap执行失败"); + } + Map data = cjlbOptionsMap.getData(); + return data.get(cjlb); + } + @Override @Transactional(rollbackFor = Exception.class) public void save(DataSyncRecordDisabilityDTO dto) { diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 08c6fa1079..3a9282b9bb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -94,7 +94,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * 1.采样时间为空,检测时间和结果有一个为空就报错 * 2.采样时间不为空,检测时间和结果可以为空【如果不为空 检测时间和结果都不为空】 */ - if ((null == formDTO.getSampleTime() && null == formDTO.getNatTime() || org.apache.commons.lang3.StringUtils.isBlank(formDTO.getNatResult()))){ + if ((null == formDTO.getSampleTime() && (null == formDTO.getNatTime() || org.apache.commons.lang3.StringUtils.isBlank(formDTO.getNatResult())))){ throw new EpmetException(EpmetErrorCode.SAMPLE_TIME_AND_RESULT_IS_NULL_ERROR.getCode()); } if(null != formDTO.getSampleTime() && org.apache.commons.lang3.StringUtils.isNotBlank(formDTO.getNatResult()) && null == formDTO.getNatTime()){ From 962aca62ea0a65c3ae15205b2b6a24ddf5b20163 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 17 Oct 2022 10:31:43 +0800 Subject: [PATCH 077/109] emm --- .../java/com/epmet/service/impl/DataSyncConfigServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index d165bfaa51..2517791025 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -218,11 +218,13 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl Date: Mon, 17 Oct 2022 10:38:24 +0800 Subject: [PATCH 078/109] =?UTF-8?q?gov/access/menu/nav=20=E4=B8=8D?= =?UTF-8?q?=E9=99=90=E5=88=B6type?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/GovMenuServiceImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java index a3b63e096b..62f344b3a2 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java @@ -234,7 +234,9 @@ public class GovMenuServiceImpl extends BaseServiceImpl Date: Mon, 17 Oct 2022 11:05:15 +0800 Subject: [PATCH 079/109] =?UTF-8?q?=E6=88=BF=E5=B1=8B=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E5=8A=A0=E4=BA=86=E4=B8=AA=E6=88=BF=E4=B8=BB=E5=A7=93=E5=90=8D?= =?UTF-8?q?=EF=BC=8C=E7=94=B5=E8=AF=9D=EF=BC=8C=E8=BA=AB=E4=BB=BD=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migration/V0.0.24__alter_log_operation.sql | 2 ++ .../tools/redis/common/bean/HouseInfoCache.java | 15 +++++++++++++++ .../java/com/epmet/dto/result/HouseInfoDTO.java | 16 ++++++++++++++++ .../src/main/resources/mapper/IcHouseDao.xml | 5 ++++- 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.24__alter_log_operation.sql diff --git a/epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.24__alter_log_operation.sql b/epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.24__alter_log_operation.sql new file mode 100644 index 0000000000..cba42020bb --- /dev/null +++ b/epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.24__alter_log_operation.sql @@ -0,0 +1,2 @@ + +ALTER TABLE log_operation MODIFY COLUMN CATEGORY varchar(64) not null COMMENT '操作类型大类。例如login和logout都属于login大类。项目立项,项目流转,项目结案都属于项目大类;data_tm:数据脱敏;'; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/HouseInfoCache.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/HouseInfoCache.java index 1fe656fef6..d3df049dab 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/HouseInfoCache.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/HouseInfoCache.java @@ -107,4 +107,19 @@ public class HouseInfoCache implements Serializable { * 二维码地址 */ private String houseQrcodeUrl; + + /** + * 房主姓名 + */ + private String ownerName; + + /** + * 房主电话 + */ + private String ownerPhone; + + /** + * 房主身份证 + */ + private String ownerIdCard; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java index fffaae071c..f6be2d8f83 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java @@ -108,4 +108,20 @@ public class HouseInfoDTO implements Serializable { * 二维码地址 */ private String houseQrcodeUrl; + + + /** + * 房主姓名 + */ + private String ownerName; + + /** + * 房主电话 + */ + private String ownerPhone; + + /** + * 房主身份证 + */ + private String ownerIdCard; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index ed9bc5acd9..6e417b0aed 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -276,7 +276,10 @@ gr.GRID_NAME, ih.HOUSE_CODE, ih.CODING, - ih.HOUSE_QRCODE_URL + ih.HOUSE_QRCODE_URL, + ih.owner_name, + ih.owner_phone, + ih.owner_id_card FROM ic_house ih left JOIN ic_neighbor_hood n ON ( ih.NEIGHBOR_HOOD_ID = n.id AND n.DEL_FLAG = '0') left JOIN ic_building ib ON ( ih.BUILDING_ID = ib.id AND ib.DEL_FLAG = '0') From a38e542e46ede7180e52a91002474e7c4eb57e6b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 17 Oct 2022 12:31:20 +0800 Subject: [PATCH 080/109] =?UTF-8?q?navDigitalCommunity=E6=95=B0=E5=AD=97?= =?UTF-8?q?=E7=A4=BE=E5=8C=BA=E8=8E=B7=E5=8F=96=E8=8F=9C=E5=8D=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8=EF=BC=8C=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/GovMenuServiceImpl.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java index 62f344b3a2..3f7dfdcbc4 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java @@ -242,7 +242,14 @@ public class GovMenuServiceImpl extends BaseServiceImpl navDigitalCommunity(TokenDto tokenDto, String tableName) { tableName = getTableName(tableName); - List menuList = baseDao.getCustomerMenuList(tokenDto.getCustomerId(), MenuTypeEnum.MENU.value(), HttpContextUtils.getLanguage(),tableName); + List menuList=new ArrayList<>(); + if("gov_menu".equals(tableName)){ + // 管理平台菜单返回所有的 + menuList = baseDao.getCustomerMenuList(tokenDto.getCustomerId(),null, HttpContextUtils.getLanguage(),tableName); + }else{ + //数据分析还是沿用原来的 + menuList = baseDao.getCustomerMenuList(tokenDto.getCustomerId(), MenuTypeEnum.MENU.value(), HttpContextUtils.getLanguage(),tableName); + } Result isRootManager = epmetUserOpenFeignClient.getIsRootManager(tokenDto.getUserId()); if (!isRootManager.success()){ throw new EpmetException("getIsRootManager method is failure"); @@ -251,6 +258,11 @@ public class GovMenuServiceImpl extends BaseServiceImpl govMenuDTOS = ConvertUtils.sourceToTarget(menuList, GovMenuDTO.class); return TreeUtils.buildTree(govMenuDTOS); } + /*for(GovMenuEntity m:menuList){ + if("ic_resi_add".equals(m.getPermissions())){ + logger.info("1、菜单返回了新增居民"); + } + }*/ disposeGovMenu(menuList,tokenDto.getUserId()); Map> groupByStatus = menuList.stream().collect(Collectors.groupingBy(GovMenuEntity::getRoleStatus)); List dtoList = ConvertUtils.sourceToTarget(CollectionUtils.isEmpty(groupByStatus.get(true)) ? new ArrayList<>() : groupByStatus.get(true), GovMenuDTO.class); @@ -286,11 +298,17 @@ public class GovMenuServiceImpl extends BaseServiceImpl(); return; } + // logger.info("==roleIdList="+ JSON.toJSONString(roleIdList)); List menuIdsList = govRoleMenuDao.getMenuIdsList(roleIdList); if (CollectionUtils.isEmpty(menuIdsList)){ menuList = new ArrayList<>(); return; } + /*for(String mid:menuIdsList){ + if("1581827798717898754".equals(mid)){ + logger.info("2、角色也有此菜单"); + } + }*/ for (String id : menuIdsList) { for (GovMenuEntity m : menuList) { if (m.getId().equals(id)){ From ae27530890ac11c80689643e3b9b1ab30a2481de Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 17 Oct 2022 12:47:32 +0800 Subject: [PATCH 081/109] =?UTF-8?q?/epmetuser/icresiuser/searchbycategory?= =?UTF-8?q?=E4=B8=8E=E5=B1=85=E6=B0=91=E4=BF=A1=E6=81=AF=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=A0=E5=AF=86=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/controller/IcResiUserController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index c70bf78c83..caf4682cea 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -421,6 +421,7 @@ public class IcResiUserController implements ResultDataResolver { * @author yinzuomei * @date 2021/10/28 10:29 上午 */ + @MaskResponse(fieldNames = {"NAME", "MOBILE","ID_CARD"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD}) @PostMapping("detail") public Result queryIcResiDetail(@LoginUser TokenDto tokenDto, @RequestBody IcResiDetailFormDTO pageFormDTO) { //pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); @@ -783,6 +784,7 @@ public class IcResiUserController implements ResultDataResolver { * @param tokenDto * @return 根据分类搜索 */ + @MaskResponse(fieldNames = {"name", "mobile","idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD}) @PostMapping("searchbycategory") public Result> search(@RequestBody SearchByNameFormDTO formDTO, @LoginUser TokenDto tokenDto) { formDTO.setCustomerId(tokenDto.getCustomerId()); From 47deba8e8e79fe8d7094b13b8b3400f873fe8186 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 17 Oct 2022 12:55:08 +0800 Subject: [PATCH 082/109] =?UTF-8?q?/epmetuser/icresiuser/persondata?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E5=A7=93=E5=90=8D=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/IcResiUserController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index caf4682cea..2300695f0e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -755,6 +755,7 @@ public class IcResiUserController implements ResultDataResolver { * @author zxc * @date 2021/11/3 9:21 上午 */ + @MaskResponse(fieldNames = {"name", "mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE}) @PostMapping("persondata") public Result personData(@LoginUser TokenDto tokenDto, @RequestBody PersonDataFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); From b053903342486b986731768270b91a83720a37ba Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 17 Oct 2022 12:57:21 +0800 Subject: [PATCH 083/109] =?UTF-8?q?/resi/partymember/icPartyMember/partyme?= =?UTF-8?q?mberagelist=E5=A7=93=E5=90=8D=E6=89=8B=E6=9C=BA=E5=8F=B7?= =?UTF-8?q?=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../partymember/controller/IcPartyMemberController.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java index fbddc60fb1..228cdedd84 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java @@ -30,7 +30,6 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.form.IcPartyMemberFormDTO; import com.epmet.dto.form.IcPartyMemberListFormDTO; -import com.epmet.dto.form.ReadIcMessageFormDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.dto.result.PartyMemberAgeResultDTO; import com.epmet.dto.result.PartyMemberEducationResultDTO; @@ -253,7 +252,7 @@ public class IcPartyMemberController implements ResultDataResolver { * @return com.epmet.commons.tools.utils.Result> */ @PostMapping("partymemberagelist") - @MaskResponse(fieldNames = {"mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE}) + @MaskResponse(fieldNames = {"name","mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE}) public Result> partyMemberAgelist(@LoginUser TokenDto tokenDto,@RequestBody IcPartyMemberListFormDTO formDTO) { if(StringUtils.isBlank(formDTO.getOrgId())){ IcPartyOrgEntity org = setOrgId(tokenDto); From b44ad2c870fa7a1b15649317e2a61f76aff33011 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 17 Oct 2022 12:58:18 +0800 Subject: [PATCH 084/109] =?UTF-8?q?/resi/partymember/icPartyMember/partyme?= =?UTF-8?q?mbereducationlist=E5=A7=93=E5=90=8D=E6=89=8B=E6=9C=BA=E5=8F=B7?= =?UTF-8?q?=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/partymember/controller/IcPartyMemberController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java index 228cdedd84..702a6fe72e 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java @@ -272,7 +272,7 @@ public class IcPartyMemberController implements ResultDataResolver { * @return com.epmet.commons.tools.utils.Result> */ @PostMapping("partymembereducationlist") - @MaskResponse(fieldNames = {"mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE}) + @MaskResponse(fieldNames = {"name","mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE}) public Result> partyMemberEducationlist(@LoginUser TokenDto tokenDto,@RequestBody IcPartyMemberListFormDTO formDTO) { if(StringUtils.isBlank(formDTO.getOrgId())){ IcPartyOrgEntity org = setOrgId(tokenDto); From c1b6434e5dd10d4ed2eb74a9b229ae26bcd16269 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 17 Oct 2022 13:11:47 +0800 Subject: [PATCH 085/109] =?UTF-8?q?=E5=85=9A=E5=91=98=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=97=A7=EF=BC=8C=E8=BF=94=E5=8F=82=E5=8A=A0?= =?UTF-8?q?=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/controller/IcResiUserController.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 2300695f0e..36959c6b80 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -898,7 +898,7 @@ public class IcResiUserController implements ResultDataResolver { * @Date 2021/12/10 17:54 */ @PostMapping("partymemberagelist") - @MaskResponse(fieldNames = {"mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE}) + @MaskResponse(fieldNames = {"name","mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE}) public Result> partyMemberAgelist(@RequestBody PartyMemberListFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); return new Result>().ok(icResiUserService.getPartyMemberAgeList(formDTO)); @@ -977,7 +977,7 @@ public class IcResiUserController implements ResultDataResolver { * @Date 2021/12/10 17:58 */ @PostMapping("partymembereducationlist") - @MaskResponse(fieldNames = {"mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE}) + @MaskResponse(fieldNames = {"name","mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE}) public Result> partyMemberEducationlist(@RequestBody PartyMemberListFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); return new Result>().ok(icResiUserService.getPartyMemberEducationList(formDTO)); @@ -1045,6 +1045,7 @@ public class IcResiUserController implements ResultDataResolver { * @param resiUserId * @return */ + @MaskResponse(fieldNames = {"icUserName","mobile","idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE,MaskResponse.MASK_TYPE_ID_CARD}) @PostMapping("resi-brief/{resi-user-id}") public Result getResiBrief(@PathVariable("resi-user-id") String resiUserId, @LoginUser TokenDto loginUser) { String customerId = loginUser.getCustomerId(); From 145463571e9a974e597309d545d4b519aa83b1e8 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 17 Oct 2022 13:31:50 +0800 Subject: [PATCH 086/109] =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7+=E8=BA=AB?= =?UTF-8?q?=E4=BB=BD=E8=AF=81=E5=8F=B7=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../partymember/controller/IcPartyMemberController.java | 4 ++-- .../java/com/epmet/controller/IcResiUserController.java | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java index 702a6fe72e..a27833eb76 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java @@ -252,7 +252,7 @@ public class IcPartyMemberController implements ResultDataResolver { * @return com.epmet.commons.tools.utils.Result> */ @PostMapping("partymemberagelist") - @MaskResponse(fieldNames = {"name","mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE}) + @MaskResponse(fieldNames = {"mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE}) public Result> partyMemberAgelist(@LoginUser TokenDto tokenDto,@RequestBody IcPartyMemberListFormDTO formDTO) { if(StringUtils.isBlank(formDTO.getOrgId())){ IcPartyOrgEntity org = setOrgId(tokenDto); @@ -272,7 +272,7 @@ public class IcPartyMemberController implements ResultDataResolver { * @return com.epmet.commons.tools.utils.Result> */ @PostMapping("partymembereducationlist") - @MaskResponse(fieldNames = {"name","mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE}) + @MaskResponse(fieldNames = {"mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE}) public Result> partyMemberEducationlist(@LoginUser TokenDto tokenDto,@RequestBody IcPartyMemberListFormDTO formDTO) { if(StringUtils.isBlank(formDTO.getOrgId())){ IcPartyOrgEntity org = setOrgId(tokenDto); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 36959c6b80..70c7fd0640 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -421,7 +421,7 @@ public class IcResiUserController implements ResultDataResolver { * @author yinzuomei * @date 2021/10/28 10:29 上午 */ - @MaskResponse(fieldNames = {"NAME", "MOBILE","ID_CARD"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD}) + @MaskResponse(fieldNames = {"MOBILE","ID_CARD"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD}) @PostMapping("detail") public Result queryIcResiDetail(@LoginUser TokenDto tokenDto, @RequestBody IcResiDetailFormDTO pageFormDTO) { //pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); @@ -755,7 +755,7 @@ public class IcResiUserController implements ResultDataResolver { * @author zxc * @date 2021/11/3 9:21 上午 */ - @MaskResponse(fieldNames = {"name", "mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE}) + @MaskResponse(fieldNames = {"mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE}) @PostMapping("persondata") public Result personData(@LoginUser TokenDto tokenDto, @RequestBody PersonDataFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); @@ -785,7 +785,7 @@ public class IcResiUserController implements ResultDataResolver { * @param tokenDto * @return 根据分类搜索 */ - @MaskResponse(fieldNames = {"name", "mobile","idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD}) + @MaskResponse(fieldNames = {"mobile","idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD}) @PostMapping("searchbycategory") public Result> search(@RequestBody SearchByNameFormDTO formDTO, @LoginUser TokenDto tokenDto) { formDTO.setCustomerId(tokenDto.getCustomerId()); @@ -1045,7 +1045,7 @@ public class IcResiUserController implements ResultDataResolver { * @param resiUserId * @return */ - @MaskResponse(fieldNames = {"icUserName","mobile","idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_CHINESE_NAME,MaskResponse.MASK_TYPE_MOBILE,MaskResponse.MASK_TYPE_ID_CARD}) + @MaskResponse(fieldNames = {"mobile","idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE,MaskResponse.MASK_TYPE_ID_CARD}) @PostMapping("resi-brief/{resi-user-id}") public Result getResiBrief(@PathVariable("resi-user-id") String resiUserId, @LoginUser TokenDto loginUser) { String customerId = loginUser.getCustomerId(); From ac5da6a224eab7f6c51451008cf3fd37a8d97ad8 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 17 Oct 2022 14:00:10 +0800 Subject: [PATCH 087/109] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9AMaskProcesso?= =?UTF-8?q?r=E5=AF=B9=E8=BF=94=E5=8F=82=E4=B8=AD=E6=9C=89List=E7=9A=84?= =?UTF-8?q?=E6=83=85=E5=86=B5=E5=81=9A=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/processor/MaskProcessor.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java index a3169a2ec6..a7b42dd438 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java @@ -83,6 +83,9 @@ public class MaskProcessor { String maskResult = maskString((String) value, fieldsMaskType.get(index)); entry.setValue(maskResult); } + } else if (value instanceof List) { + // 列表 + ((List)value).forEach(e -> mask(e)); } } } @@ -155,10 +158,12 @@ public class MaskProcessor { // 2个字以上的,首位字母明文,中间* // 中文不能用\\w,要用[\u4e00-\u9fa5] if (length == 2) { - return originString.replaceAll("^([\\u4e00-\\u9fa5]).*$", "$1*"); +// return originString.replaceAll("^([\\u4e00-\\u9fa5]).*$", "$1*"); + return originString.substring(0).concat("*"); } else { String maskStr = StrUtil.repeat("*", length - 2); - return originString.replaceAll("^([\\u4e00-\\u9fa5]).*([\\u4e00-\\u9fa5])$", "$1" + maskStr + "$2"); +// return originString.replaceAll("^([\\u4e00-\\u9fa5]).*([\\u4e00-\\u9fa5])$", "$1" + maskStr + "$2"); + return originString.charAt(0) + maskStr + originString.charAt(originString.length() - 1); } } From ba8128c3a203b02b21d523695ae4756c85fabc5a Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 17 Oct 2022 14:31:35 +0800 Subject: [PATCH 088/109] =?UTF-8?q?/epmetuser/icresiuser/icuserstatislist?= =?UTF-8?q?=E4=BA=BA=E6=88=BF=E6=A6=82=E8=A7=88-=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=89=8B=E6=9C=BA=E5=8F=B7=E3=80=81=E8=BA=AB?= =?UTF-8?q?=E4=BB=BD=E8=AF=81=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/GovMenuController.java | 1 + .../src/main/resources/mapper/GovMenuDao.xml | 13 ++++++++++--- .../com/epmet/controller/IcResiUserController.java | 1 + 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovMenuController.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovMenuController.java index cc94cd91f0..ef763f4a43 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovMenuController.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovMenuController.java @@ -106,6 +106,7 @@ public class GovMenuController { /** * 导航 + * +数字社区-系统管理-角色管理配置角色权限,也会调用此接口 * @param tokenDto token * @return List */ diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovMenuDao.xml b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovMenuDao.xml index 6bc815e44d..7a005b3c02 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovMenuDao.xml +++ b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovMenuDao.xml @@ -47,9 +47,16 @@ select t1.*, lang.field_value name from gov_menu t1 - INNER join gov_language lang on lang.table_name=#{tableName} and lang.field_name='name' and lang.table_id=t1.id and lang.language=#{language} - RIGHT JOIN gov_customer_menu m ON t1.id = m.TABLE_ID - where t1.del_flag = 0 AND m.del_flag = 0 + INNER join gov_language lang + on (lang.table_name=#{tableName} + and lang.field_name='name' + and lang.table_id=t1.id + and lang.language=#{language} + ) + RIGHT JOIN gov_customer_menu m + ON t1.id = m.TABLE_ID + where t1.del_flag = 0 + AND m.del_flag = 0 and t1.type = #{type} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 70c7fd0640..0b2e9ee3f0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -1420,6 +1420,7 @@ public class IcResiUserController implements ResultDataResolver { * @Author sun * @Description 【人房概览】居民统计数点击查询列表 **/ + @MaskResponse(fieldNames = {"mobile", "idCard"},fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD}) @PostMapping("icuserstatislist") public Result> icUserStatisList(@LoginUser TokenDto tokenDto, @RequestBody UserChartFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); From b7825ec18d219543aac73ef4e76caa17075c34d3 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 17 Oct 2022 14:35:49 +0800 Subject: [PATCH 089/109] =?UTF-8?q?/gov/project/icEvent/detail=E5=8F=AF?= =?UTF-8?q?=E8=A7=86=E5=8C=96-=E6=8C=87=E6=8C=A5=E8=B0=83=E5=BA=A6?= =?UTF-8?q?=EF=BC=8C=E4=BA=8B=E4=BB=B6=E8=AF=A6=E6=83=85showIdCard?= =?UTF-8?q?=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/result/IcEventListResultDTO.java | 4 ++++ .../src/main/java/com/epmet/controller/IcEventController.java | 2 ++ .../main/java/com/epmet/service/impl/IcEventServiceImpl.java | 1 + 3 files changed, 7 insertions(+) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java index beac1277a0..f120219c36 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java @@ -73,6 +73,10 @@ public class IcEventListResultDTO implements Serializable { * 身份证号 */ private String idCard; + /** + * 加密的 + */ + private String showIdCard; /** * 上报渠道[字典表] */ diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java index 5105ca27bf..3435cf59c6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java @@ -5,6 +5,7 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.NumConstant; @@ -274,6 +275,7 @@ public class IcEventController { * @Author sun * @Description 事件管理-详情 **/ + @MaskResponse(fieldNames = {"showIdCard"},fieldsMaskType = {MaskResponse.MASK_TYPE_ID_CARD}) @PostMapping("detail") public Result detail(@LoginUser TokenDto tokenDto, @RequestBody IcEventListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java index dda3a90647..038b3fdf94 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java @@ -1050,6 +1050,7 @@ public class IcEventServiceImpl extends BaseServiceImpl list = baseDao.icEventList(formDTO); if (!CollectionUtils.isEmpty(list)) { resultDTO = list.get(0); + resultDTO.setShowIdCard(resultDTO.getIdCard()); //查询网格名称(组织-网格) List gridIds = list.stream().map(IcEventListResultDTO::getGridId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList()); Result> gridInfoRes = govOrgOpenFeignClient.getGridListByGridIds(gridIds); From 86be8ca3b20955e4dcecff6336e29ac510e9573c Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 17 Oct 2022 14:48:26 +0800 Subject: [PATCH 090/109] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AF=B9=E6=AF=94-?= =?UTF-8?q?=E6=AE=8B=E7=96=BE=E5=92=8C=E6=AD=BB=E4=BA=A1=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migration/V0.0.77__data_compare_d_c.sql | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.77__data_compare_d_c.sql diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.77__data_compare_d_c.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.77__data_compare_d_c.sql new file mode 100644 index 0000000000..ed2d9a1de1 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.77__data_compare_d_c.sql @@ -0,0 +1,66 @@ +CREATE TABLE `data_sync_record_death` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `AGENCY_ID` varchar(64) DEFAULT '' COMMENT '组织Id', + `PIDS` varchar(255) DEFAULT '' COMMENT '组织的pids 含agencyId本身', + `GRID_ID` varchar(64) DEFAULT '' COMMENT '网格ID', + `NAME` varchar(16) NOT NULL COMMENT '姓名', + `ID_CARD` varchar(24) NOT NULL COMMENT '身份证', + `IC_RESI_USER_ID` varchar(64) DEFAULT NULL COMMENT '居民Id,ic_resi_user.id', + `AGE` varchar(8) DEFAULT NULL COMMENT '年龄(享年)', + `ADDRESS` varchar(128) DEFAULT NULL COMMENT '家庭住址', + `DEATH_DATE` varchar(32) DEFAULT '' COMMENT '死亡时间', + `CREMATION_TIME` varchar(32) DEFAULT '' COMMENT '火化时间', + `MZ` varchar(32) DEFAULT '' COMMENT '民族', + `ORGAN_NAME` varchar(16) DEFAULT '' COMMENT '登记单位名称', + `NATION` varchar(32) DEFAULT '' COMMENT '国籍', + `THIRD_RECORD_ID` varchar(64) DEFAULT '' COMMENT '第三方记录唯一标识', + `DEAL_STATUS` smallint(1) NOT NULL DEFAULT '0' COMMENT '处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败', + `DEAL_RESULT` varchar(128) DEFAULT '' COMMENT '处理结果', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE, + KEY `idx_u_id` (`IC_RESI_USER_ID`) USING BTREE COMMENT '居民Id' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数据同步记录-居民死亡信息'; + +CREATE TABLE `data_sync_record_disability` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `AGENCY_ID` varchar(64) DEFAULT '' COMMENT '组织Id', + `PIDS` varchar(255) DEFAULT '' COMMENT '组织的pids 含agencyId本身', + `GRID_ID` varchar(64) DEFAULT '' COMMENT '网格ID', + `NAME` varchar(16) NOT NULL COMMENT '姓名', + `ID_CARD` varchar(24) NOT NULL COMMENT '身份证', + `MOBILE` varchar(24) DEFAULT NULL COMMENT '电话', + `IC_RESI_USER_ID` varchar(64) DEFAULT NULL COMMENT '居民Id,ic_resi_user.id', + `CARD_NUM` varchar(32) DEFAULT NULL COMMENT '残疾证号', + `CJZK_CN` varchar(32) DEFAULT NULL COMMENT '残疾等级(状况)', + `CJLB_CN` varchar(32) DEFAULT NULL COMMENT '残疾类别', + `EDU_LEVEL` varchar(32) DEFAULT '' COMMENT '文化程度', + `MARITAL_STATUS_NAME` varchar(32) DEFAULT '' COMMENT '婚姻状况', + `MZ_CN` varchar(32) DEFAULT '' COMMENT '民族中文', + `GENDER` char(2) DEFAULT NULL COMMENT '性别 1男2女', + `RESIDENT_ADD` varchar(128) DEFAULT NULL COMMENT '户籍地址', + `NOW_ADD` varchar(128) DEFAULT NULL COMMENT '现居住地址', + `GUARDIAN` varchar(32) DEFAULT '' COMMENT '监护人', + `GUARDIAN_PHONE` varchar(32) DEFAULT '' COMMENT '监护人联系方式', + `DEAL_STATUS` smallint(1) NOT NULL DEFAULT '0' COMMENT '处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败', + `DISABILITY_STATUS` smallint(1) NOT NULL DEFAULT '0' COMMENT '需要处理的残疾状态 0:非残疾;1:残疾', + `DEAL_RESULT` varchar(128) DEFAULT '' COMMENT '处理结果', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE, + KEY `idx_u_id` (`IC_RESI_USER_ID`) USING BTREE COMMENT '居民Id' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数据同步记录-居民残疾信息'; + + +UPDATE `epmet_user`.`data_sync_config` SET `DATA_CODE` = 'siwang' ,`UPDATED_TIME` = now() WHERE `ID` = '7'; +UPDATE `epmet_user`.`data_sync_config` SET `DATA_CODE` = 'canji' ,`UPDATED_TIME` = now() WHERE `ID` = '9'; From 6631564950739955162c2054eb757b7ea4803420 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 17 Oct 2022 14:59:46 +0800 Subject: [PATCH 091/109] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E9=9A=90=E8=97=8F?= =?UTF-8?q?=EF=BC=8C=E6=97=A0=E9=9C=80=E5=8A=A0=E8=BF=94=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/result/IcEventListResultDTO.java | 4 ---- .../src/main/java/com/epmet/controller/IcEventController.java | 1 - .../main/java/com/epmet/service/impl/IcEventServiceImpl.java | 1 - 3 files changed, 6 deletions(-) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java index f120219c36..beac1277a0 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java @@ -73,10 +73,6 @@ public class IcEventListResultDTO implements Serializable { * 身份证号 */ private String idCard; - /** - * 加密的 - */ - private String showIdCard; /** * 上报渠道[字典表] */ diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java index 3435cf59c6..3eb4d8eefa 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java @@ -275,7 +275,6 @@ public class IcEventController { * @Author sun * @Description 事件管理-详情 **/ - @MaskResponse(fieldNames = {"showIdCard"},fieldsMaskType = {MaskResponse.MASK_TYPE_ID_CARD}) @PostMapping("detail") public Result detail(@LoginUser TokenDto tokenDto, @RequestBody IcEventListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java index 038b3fdf94..dda3a90647 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java @@ -1050,7 +1050,6 @@ public class IcEventServiceImpl extends BaseServiceImpl list = baseDao.icEventList(formDTO); if (!CollectionUtils.isEmpty(list)) { resultDTO = list.get(0); - resultDTO.setShowIdCard(resultDTO.getIdCard()); //查询网格名称(组织-网格) List gridIds = list.stream().map(IcEventListResultDTO::getGridId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList()); Result> gridInfoRes = govOrgOpenFeignClient.getGridListByGridIds(gridIds); From fcdd2efc601d2d3180b69f7bfe94922ad4061704 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 17 Oct 2022 15:00:56 +0800 Subject: [PATCH 092/109] =?UTF-8?q?=E6=98=8E=E6=96=87=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mq/listener/RocketMQConsumerRegister.java | 2 + .../CheckAndExportOperationLogListener.java | 120 ++++++++++++++++++ .../constants/ConsomerGroupConstants.java | 5 + .../rocketmq/constants/TopicConstants.java | 5 + .../commons/rocketmq/messages/CheckMQMsg.java | 28 ++++ .../epmet/constant/NeighborhoodConstant.java | 2 + .../epmet/dto/form/DetailByTypeFormDTO.java | 25 ++++ .../dto/result/DetailByTypeResultDTO.java | 20 +++ .../epmet/controller/IcHouseController.java | 17 ++- .../com/epmet/service/IcHouseService.java | 15 ++- .../service/impl/IcHouseServiceImpl.java | 60 ++++++++- 11 files changed, 290 insertions(+), 9 deletions(-) create mode 100644 epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/CheckAndExportOperationLogListener.java create mode 100644 epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/CheckMQMsg.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DetailByTypeFormDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DetailByTypeResultDTO.java diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java index 93a2f8e5f0..7f15960037 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java @@ -5,6 +5,7 @@ import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.rocketmq.register.MQAbstractRegister; import com.epmet.commons.rocketmq.register.MQConsumerProperties; import com.epmet.mq.listener.listener.AuthOperationLogListener; +import com.epmet.mq.listener.listener.CheckAndExportOperationLogListener; import com.epmet.mq.listener.listener.PointOperationLogListener; import com.epmet.mq.listener.listener.ProjectOperationLogListener; import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; @@ -19,6 +20,7 @@ public class RocketMQConsumerRegister extends MQAbstractRegister { register(consumerProperties, ConsomerGroupConstants.AUTH_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.AUTH, "*", new AuthOperationLogListener()); register(consumerProperties, ConsomerGroupConstants.PROJECT_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT_CHANGED, "*", new ProjectOperationLogListener()); register(consumerProperties, ConsomerGroupConstants.POINT_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.POINT, "*", new PointOperationLogListener()); + register(consumerProperties, ConsomerGroupConstants.CHECK_OR_EXPORT_GROUP, MessageModel.CLUSTERING, TopicConstants.CHECK_OR_EXPORT, "*", new CheckAndExportOperationLogListener()); // ...其他监听器类似 } diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/CheckAndExportOperationLogListener.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/CheckAndExportOperationLogListener.java new file mode 100644 index 0000000000..1d86c65b8d --- /dev/null +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/CheckAndExportOperationLogListener.java @@ -0,0 +1,120 @@ +package com.epmet.mq.listener.listener; + +import com.alibaba.fastjson.JSON; +import com.epmet.auth.constants.AuthOperationEnum; +import com.epmet.commons.rocketmq.constants.MQUserPropertys; +import com.epmet.commons.rocketmq.messages.CheckMQMsg; +import com.epmet.commons.rocketmq.messages.LoginMQMsg; +import com.epmet.commons.tools.distributedlock.DistributedLock; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.commons.tools.utils.SpringContextUtils; +import com.epmet.entity.LogOperationEntity; +import com.epmet.mq.listener.bean.log.LogOperationHelper; +import com.epmet.mq.listener.bean.log.OperatorInfo; +import com.epmet.service.LogOperationService; +import org.apache.commons.lang3.StringUtils; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; +import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; +import org.apache.rocketmq.common.message.MessageExt; +import org.redisson.api.RLock; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * @author zxc + * @Description 查询明文或者导出操作日志监听器 + */ +public class CheckAndExportOperationLogListener implements MessageListenerConcurrently { + + private Logger logger = LoggerFactory.getLogger(getClass()); + + private RedisUtils redisUtils; + + @Override + public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { + + if (redisUtils == null) { + redisUtils = SpringContextUtils.getBean(RedisUtils.class); + } + + try { + msgs.forEach(msg -> consumeMessage(msg)); + } catch (Exception e) { + logger.error(ExceptionUtils.getErrorStackTrace(e)); + return ConsumeConcurrentlyStatus.RECONSUME_LATER; + } + return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + } + + private void consumeMessage(MessageExt messageExt) { + String tags = messageExt.getTags(); + String msg = new String(messageExt.getBody()); + String pendingMsgLabel = messageExt.getUserProperty(MQUserPropertys.BLOCKED_MSG_LABEL); + logger.info("查询明文或者导出操作日志监听器-收到消息内容:{}", msg); + CheckMQMsg msgObj = JSON.parseObject(msg, CheckMQMsg.class); + + //获取操作人信息 + OperatorInfo operatorInfo = LogOperationHelper.getInstance().getOperatorInfo(msgObj.getUserId()); + LogOperationEntity logEntity = new LogOperationEntity(); + logEntity.setCategory(messageExt.getTopic()); + logEntity.setType(tags); + logEntity.setTypeDisplay(AuthOperationEnum.getDisplay(tags)); + logEntity.setIp(msgObj.getIp()); + logEntity.setFromApp(msgObj.getFromApp()); + logEntity.setFromClient(msgObj.getFromClient()); + logEntity.setTargetId(""); + logEntity.setCustomerId(operatorInfo.getCustomerId()); + logEntity.setOperatorId(msgObj.getUserId()); + logEntity.setOperatorName(operatorInfo.getName()); + logEntity.setOperatorMobile(operatorInfo.getMobile()); + logEntity.setOperatingTime(msgObj.getOperateTime()); + logEntity.setContent(msgObj.getContent()); + + DistributedLock distributedLock = null; + RLock lock = null; + try { + distributedLock = SpringContextUtils.getBean(DistributedLock.class); + lock = distributedLock.getLock(String.format("lock:auth_operation_log:%s:%s", logEntity.getType(), logEntity.getOperatorId()), + 30L, 30L, TimeUnit.SECONDS); + SpringContextUtils.getBean(LogOperationService.class).log(logEntity); + } catch (RenException e) { + // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 + logger.error("【RocketMQ】添加操作日志失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + } catch (Exception e) { + // 不是我们自己抛出的异常,可以让MQ重试 + logger.error("【RocketMQ】添加操作日志失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + throw e; + } finally { + distributedLock.unLock(lock); + } + + if (StringUtils.isNotBlank(pendingMsgLabel)) { + try { + removePendingMqMsgCache(pendingMsgLabel); + } catch (Exception e) { + logger.error("【查询明文或者导出操作日志监听器】-删除mq阻塞消息缓存失败:{}", ExceptionUtils.getErrorStackTrace(e)); + } + } + } + + /** + * @description + * + * @param pendingMsgLabel + * @return + * @author wxz + * @date 2021.10.14 16:32:32 + */ + private void removePendingMqMsgCache(String pendingMsgLabel) { + String key = RedisKeys.blockedMqMsgKey(pendingMsgLabel); + redisUtils.delete(key); + //logger.info("【登录操作事件监听器】删除pendingMsgLabel成功:{}", pendingMsgLabel); + } +} diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java index 6bc618a01b..c4f43a03b2 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java @@ -108,4 +108,9 @@ public interface ConsomerGroupConstants { * 党建积分操作消费组 */ String PARTY_BUILDING_GROUP = "party_building_group"; + + /** + * 查看或者导出 日志记录 消费组 + */ + String CHECK_OR_EXPORT_GROUP = "check_or_export_group"; } diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java index 23bfd628a4..2624971db2 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java @@ -91,4 +91,9 @@ public interface TopicConstants { String IC_MESSAGE = "ic_message"; String PARTY_BUILDING = "party_building"; + + /** + * 查看或者导出 日志记录 + */ + String CHECK_OR_EXPORT = "check_or_export"; } diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/CheckMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/CheckMQMsg.java new file mode 100644 index 0000000000..0a9f02b692 --- /dev/null +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/CheckMQMsg.java @@ -0,0 +1,28 @@ +package com.epmet.commons.rocketmq.messages; + +import lombok.Data; + +import java.util.Date; + +@Data +public class CheckMQMsg { + + /** + * 谁登录 + */ + private String userId; + + private String content; + + /** + * 操作时间 + */ + private Date operateTime; + + private String ip; + + private String fromApp; + + private String fromClient; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/constant/NeighborhoodConstant.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/constant/NeighborhoodConstant.java index 49a21f262e..fe92bcd3c2 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/constant/NeighborhoodConstant.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/constant/NeighborhoodConstant.java @@ -12,4 +12,6 @@ public interface NeighborhoodConstant { String BUILDING = "building"; String HOUSE = "house"; + String IC_RESI_USER = "icResiUser"; + } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DetailByTypeFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DetailByTypeFormDTO.java new file mode 100644 index 0000000000..45fc98f517 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DetailByTypeFormDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/10/17 13:42 + * @DESC + */ +@Data +public class DetailByTypeFormDTO implements Serializable { + + private static final long serialVersionUID = 8190270734257503603L; + + public interface DetailByTypeForm{} + + @NotBlank(message = "type不能为空",groups = DetailByTypeForm.class) + private String type; + + @NotBlank(message = "id不能为空",groups = DetailByTypeForm.class) + private String id; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DetailByTypeResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DetailByTypeResultDTO.java new file mode 100644 index 0000000000..3992215890 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DetailByTypeResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/10/17 13:41 + * @DESC + */ +@Data +public class DetailByTypeResultDTO implements Serializable { + + private static final long serialVersionUID = -8067849365791132347L; + + private String idCard; + + private String mobile; +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java index 6d828df25a..6e867c47de 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java @@ -26,12 +26,10 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.IcHouseDTO; import com.epmet.dto.IcVaccinePrarmeterDTO; import com.epmet.dto.form.CheckHouseInfoFormDTO; +import com.epmet.dto.form.DetailByTypeFormDTO; import com.epmet.dto.form.HouseFormDTO; import com.epmet.dto.form.VaccinePrarmeterListFormDTO; -import com.epmet.dto.result.HouseAgencyInfoResultDTO; -import com.epmet.dto.result.HouseInfoDTO; -import com.epmet.dto.result.HouseListResultDTO; -import com.epmet.dto.result.HousesNameResultDTO; +import com.epmet.dto.result.*; import com.epmet.service.IcHouseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -154,6 +152,17 @@ public class IcHouseController { ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); formDTO.setCustomerId(tokenDto.getCustomerId()); return icHouseService.checkHomeInfo(formDTO); + } + /** + * Desc: 数据明文查询 + * @param formDTO + * @author zxc + * @date 2022/10/17 13:45 + */ + @PostMapping("detailByType") + public Result detailByType(@RequestBody DetailByTypeFormDTO formDTO,@LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(formDTO, DetailByTypeFormDTO.DetailByTypeForm.class); + return new Result().ok(icHouseService.detailByType(formDTO,tokenDto)); } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java index 77a5bdd4ad..0b2e40f86d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java @@ -7,11 +7,9 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.IcHouseDTO; import com.epmet.dto.ImportGeneralDTO; import com.epmet.dto.form.CheckHouseInfoFormDTO; +import com.epmet.dto.form.DetailByTypeFormDTO; import com.epmet.dto.form.HouseFormDTO; -import com.epmet.dto.result.HouseAgencyInfoResultDTO; -import com.epmet.dto.result.HouseInfoDTO; -import com.epmet.dto.result.HouseListResultDTO; -import com.epmet.dto.result.HousesNameResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.IcHouseEntity; import java.util.List; @@ -139,4 +137,13 @@ public interface IcHouseService extends BaseService { * @return */ Result checkHomeInfo(CheckHouseInfoFormDTO formDTO); + + /** + * Desc: 数据明文查询 + * @param formDTO + * @author zxc + * @date 2022/10/17 13:45 + */ + DetailByTypeResultDTO detailByType(DetailByTypeFormDTO formDTO, TokenDto tokenDto); + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 0f69fc8816..364b859376 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -3,6 +3,9 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.rocketmq.constants.TopicConstants; +import com.epmet.commons.rocketmq.messages.CheckMQMsg; +import com.epmet.commons.rocketmq.messages.LoginMQMsg; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.OptionResultDTO; @@ -10,10 +13,14 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis; +import com.epmet.commons.tools.redis.common.CustomerResiUserRedis; import com.epmet.commons.tools.redis.common.bean.HouseInfoCache; +import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.IpUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.NeighborhoodConstant; import com.epmet.dao.IcBuildingDao; import com.epmet.dao.IcBuildingUnitDao; import com.epmet.dao.IcHouseDao; @@ -23,7 +30,9 @@ import com.epmet.dto.IcResiCategoryStatsConfigDTO; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.ImportGeneralDTO; import com.epmet.dto.form.CheckHouseInfoFormDTO; +import com.epmet.dto.form.DetailByTypeFormDTO; import com.epmet.dto.form.HouseFormDTO; +import com.epmet.dto.form.SystemMsgFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcBuildingEntity; import com.epmet.entity.IcBuildingUnitEntity; @@ -32,6 +41,7 @@ import com.epmet.entity.IcNeighborHoodEntity; import com.epmet.enums.HousePurposeEnums; import com.epmet.enums.HouseRentFlagEnums; import com.epmet.enums.HouseTypeEnums; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.redis.IcHouseRedis; @@ -39,10 +49,14 @@ import com.epmet.service.IcHouseService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; @@ -69,7 +83,8 @@ public class IcHouseServiceImpl extends BaseServiceImpl().ok(checkHomeInfoResultInfo); } + + /** + * Desc: 数据明文查询 + * @param formDTO + * @author zxc + * @date 2022/10/17 13:45 + */ + @Override + public DetailByTypeResultDTO detailByType(DetailByTypeFormDTO formDTO, TokenDto tokenDto) { + DetailByTypeResultDTO result = new DetailByTypeResultDTO(); + String customerId = tokenDto.getCustomerId(); + String userId = tokenDto.getUserId(); + CheckMQMsg msg = new CheckMQMsg(); + if (formDTO.getType().equals(NeighborhoodConstant.HOUSE)){ + HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(customerId, formDTO.getId()); + if (null == houseInfo){ + throw new EpmetException("查询房屋信息失败:"+formDTO.getId()); + } + result.setMobile(houseInfo.getOwnerPhone()); + result.setIdCard(houseInfo.getOwnerIdCard()); + msg.setContent("查看房屋信息明文"); + }else if (formDTO.getType().equals(NeighborhoodConstant.IC_RESI_USER)){ + ResiUserInfoCache userBaseInfo = CustomerResiUserRedis.getUserBaseInfo(formDTO.getId()); + if (null == userBaseInfo){ + throw new EpmetException("查询icResiUser失败:"+formDTO.getId()); + } + result.setIdCard(userBaseInfo.getIdNum()); + result.setMobile(userBaseInfo.getMobile()); + msg.setContent("查看居民信息明文"); + } + // 发送mq消息 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + msg.setOperateTime(new Date()); + msg.setUserId(userId); + msg.setFromApp(tokenDto.getApp()); + msg.setIp(IpUtils.getIpAddr(request)); + msg.setFromClient(tokenDto.getClient()); + SystemMsgFormDTO form = new SystemMsgFormDTO(); + form.setMessageType(TopicConstants.CHECK_OR_EXPORT); + form.setContent(msg); + epmetMessageOpenFeignClient.sendSystemMsgByMQ(form); + return result; + } } From 0caac7b142f70f2e523a4a56d526051eaa3bfce3 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 17 Oct 2022 15:20:03 +0800 Subject: [PATCH 093/109] message --- .../src/main/java/com/epmet/constant/SystemMessageType.java | 6 ++++++ .../com/epmet/service/impl/SystemMessageServiceImpl.java | 3 +++ 2 files changed, 9 insertions(+) diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java index 9920eb019a..e0d8c80b35 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java @@ -175,6 +175,12 @@ public interface SystemMessageType { */ String PARTY_MEETING_MESSAGE = "party_meeting_message"; + + /** + * 查看或者导出 日志记录 + */ + String CHECK_OR_EXPORT = "check_or_export"; + String ZBWYH = "参加支部委员会"; String ZBDYDH = "参加支部党员大会"; String DXZH = "参加党小组会"; diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java index 3eea1f03d8..ad742b155b 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java @@ -248,6 +248,9 @@ public class SystemMessageServiceImpl implements SystemMessageService { case SystemMessageType.WMFWHD: topic=TopicConstants.PARTY_BUILDING; break; + case SystemMessageType.CHECK_OR_EXPORT: + topic = TopicConstants.CHECK_OR_EXPORT; + break; default: logger.error("getTopicByMsgType msgType:{} is not support for any topic", msgType); } From 78e81a9f56a2e2f7962be11343c533eaaf3f2201 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 17 Oct 2022 15:36:43 +0800 Subject: [PATCH 094/109] message --- .../listener/CheckAndExportOperationLogListener.java | 6 +++--- .../com/epmet/commons/rocketmq/messages/CheckMQMsg.java | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/CheckAndExportOperationLogListener.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/CheckAndExportOperationLogListener.java index 1d86c65b8d..b11751f3eb 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/CheckAndExportOperationLogListener.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/CheckAndExportOperationLogListener.java @@ -63,9 +63,9 @@ public class CheckAndExportOperationLogListener implements MessageListenerConcur //获取操作人信息 OperatorInfo operatorInfo = LogOperationHelper.getInstance().getOperatorInfo(msgObj.getUserId()); LogOperationEntity logEntity = new LogOperationEntity(); - logEntity.setCategory(messageExt.getTopic()); - logEntity.setType(tags); - logEntity.setTypeDisplay(AuthOperationEnum.getDisplay(tags)); + logEntity.setCategory("data_tm"); + logEntity.setType(msgObj.getType()); + logEntity.setTypeDisplay(msgObj.getTypeDisplay()); logEntity.setIp(msgObj.getIp()); logEntity.setFromApp(msgObj.getFromApp()); logEntity.setFromClient(msgObj.getFromClient()); diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/CheckMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/CheckMQMsg.java index 0a9f02b692..462133adfe 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/CheckMQMsg.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/CheckMQMsg.java @@ -14,6 +14,9 @@ public class CheckMQMsg { private String content; + private String typeDisplay; + private String type; + /** * 操作时间 */ From 99e2f02be9244397e471437f16b30897822690b7 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 17 Oct 2022 15:54:47 +0800 Subject: [PATCH 095/109] =?UTF-8?q?=E5=8A=A0=E4=BA=86=E4=B8=AAicresiuser?= =?UTF-8?q?=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/feign/CommonUserFeignClient.java | 4 + .../CommonUserFeignClientFallback.java | 6 + .../epmet/commons/tools/redis/RedisKeys.java | 4 + .../redis/common/CustomerResiUserRedis.java | 27 + .../common/bean/IcResiUserInfoCache.java | 539 ++++++++++++++++++ .../service/impl/IcHouseServiceImpl.java | 9 +- .../controller/IcResiUserController.java | 6 + .../com/epmet/service/IcResiUserService.java | 3 + .../service/impl/IcResiUserServiceImpl.java | 11 +- 9 files changed, 601 insertions(+), 8 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/IcResiUserInfoCache.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java index 0f8f937a8a..8e67c1939b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java @@ -2,6 +2,7 @@ package com.epmet.commons.tools.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.feign.fallback.CommonUserFeignClientFallBackFactory; +import com.epmet.commons.tools.redis.common.bean.IcResiUserInfoCache; import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; import com.epmet.commons.tools.utils.Result; import org.springframework.cloud.openfeign.FeignClient; @@ -17,4 +18,7 @@ import org.springframework.web.bind.annotation.PostMapping; public interface CommonUserFeignClient { @PostMapping("/epmetuser/userbaseinfo/getUserInfo/{userId}") Result getUserInfo(@PathVariable("userId") String userId); + + @PostMapping("/epmetuser/icresiuser/getIcResiUserInfo/{userId}") + Result getIcResiUserInfo(@PathVariable("userId") String userId); } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java index 8cd5660484..77f212943c 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java @@ -2,6 +2,7 @@ package com.epmet.commons.tools.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.feign.CommonUserFeignClient; +import com.epmet.commons.tools.redis.common.bean.IcResiUserInfoCache; import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; @@ -20,4 +21,9 @@ public class CommonUserFeignClientFallback implements CommonUserFeignClient { public Result getUserInfo(String userId) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserInfo", userId); } + + @Override + public Result getIcResiUserInfo(String userId) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getIcResiUserInfo", userId); + } } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index c09f13f2f4..49ab921e0f 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -393,6 +393,10 @@ public class RedisKeys { return rootPrefix.concat("resi:user:").concat(userId); } + public static String getIcResiUserKey(String userId) { + return rootPrefix.concat("resi:icResiUser:").concat(userId); + } + /** * @param userId * @return epmet:badge:user:[customerId]:[userId] diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerResiUserRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerResiUserRedis.java index 5b34fcdee7..39e1995d9b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerResiUserRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerResiUserRedis.java @@ -1,10 +1,12 @@ package com.epmet.commons.tools.redis.common; import cn.hutool.core.bean.BeanUtil; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.feign.CommonUserFeignClient; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.commons.tools.redis.common.bean.IcResiUserInfoCache; import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; @@ -70,6 +72,31 @@ public class CustomerResiUserRedis { return resultData; } + public static IcResiUserInfoCache getIcResiUserInfo(String icResiUserId){ + if (StringUtils.isBlank(icResiUserId)){ + log.warn("getIcResiUserInfo param is blank,userId:{}",icResiUserId); + return null; + } + String key = RedisKeys.getIcResiUserKey(icResiUserId); + Map map = customerResiUserRedis.redisUtils.hGetAll(key); + if (!CollectionUtils.isEmpty(map)) { + return ConvertUtils.mapToEntity(map, IcResiUserInfoCache.class); + } + Result result = customerResiUserRedis.commonUserFeignClient.getIcResiUserInfo(icResiUserId); + if (result == null || !result.success()) { + throw new EpmetException("获取居民信息失败"); + } + IcResiUserInfoCache data = result.getData(); + if (null == data) { + log.warn("居民信息为空,userId:{}", icResiUserId); + return null; + } + + Map cacheMap = BeanUtil.beanToMap(data, false, true); + customerResiUserRedis.redisUtils.hMSet(key, cacheMap); + return data; + } + @Nullable private static ResiUserInfoCache reloadStaffCache(String userId, String key) { Result result = customerResiUserRedis.commonUserFeignClient.getUserInfo(userId); diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/IcResiUserInfoCache.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/IcResiUserInfoCache.java new file mode 100644 index 0000000000..6749272790 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/IcResiUserInfoCache.java @@ -0,0 +1,539 @@ +package com.epmet.commons.tools.redis.common.bean; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Author zxc + * @DateTime 2022/10/17 15:40 + * @DESC + */ +@Data +public class IcResiUserInfoCache implements Serializable { + + private static final long serialVersionUID = -3644143706074015380L; + + + /** + * 主键 + */ + private String id; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * + */ + private String agencyId; + + /** + * + */ + private String pids; + + /** + * 网格ID + */ + private String gridId; + + /** + * 所属小区ID + */ + private String villageId; + + /** + * 所属楼宇Id + */ + private String buildId; + + /** + * 单元id + */ + private String unitId; + + /** + * 所属家庭Id + */ + private String homeId; + + /** + * 是否本地户籍 + */ + private String isBdhj; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 性别 + */ + private String gender; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 出生日期 + */ + private String birthday; + + /** + * 备注 + */ + private String remarks; + + /** + * 联系人 + */ + private String contacts; + + /** + * 联系人电话 + */ + private String contactsMobile; + + /** + * 九小场所url + */ + private String ninePlace; + + /** + * 是否党员 + */ + private String isParty; + + /** + * 是否低保户 + */ + private String isDbh; + + /** + * 是否保障房 + */ + private String isEnsureHouse; + + /** + * 是否失业 + */ + private String isUnemployed; + + /** + * 是否育龄妇女 + */ + private String isYlfn; + + /** + * 是否退役军人 + */ + private String isVeterans; + + /** + * 是否统战人员 + */ + private String isUnitedFront; + + /** + * 是否信访人员 + */ + private String isXfry; + + /** + * 是否志愿者 + */ + private String isVolunteer; + + /** + * 是否老年人 + */ + private String isOldPeople; + + /** + * 是否空巢 + */ + private String isKc; + + /** + * 是否失独 + */ + private String isSd; + + /** + * 是否失能 + */ + private String isSn; + + /** + * 是否失智 + */ + private String isSz; + + /** + * 是否残疾 + */ + private String isCj; + + /** + * 是否大病 + */ + private String isDb; + + /** + * 是否慢病 + */ + private String isMb; + + /** + * 是否特殊人群 + */ + private String isSpecial; + + /** + * 是否租户【是:1 否:0】 + */ + private String isTenant; + + /** + * 是否是流动人口【是:1 否:0】 + */ + private String isFloating; + + /** + * 是否新阶层人士【是:1 否:0】 + */ + private String isXjc; + + /** + * 文化程度【字典表】 + */ + private String culture; + + /** + * 文化程度备注 + */ + private String cultureRemakes; + + /** + * 特长【字典表】 + */ + private String specialSkill; + + /** + * 兴趣爱好 + */ + private String hobby; + + /** + * 兴趣爱好备注 + */ + private String hobbyRemakes; + + /** + * 宗教信仰 + */ + private String faith; + + /** + * 宗教信仰备注 + */ + private String faithRemakes; + + /** + * 残疾类别【字典表】 + */ + private String cjlb; + + /** + * 残疾登记(状况)【字典表】 + */ + private String cjzk; + + /** + * 残疾证号 + */ + private String cjzh; + + /** + * 残疾说明 + */ + private String cjsm; + + /** + * 有无监护人【yes no】 + */ + private String ynJdr; + + /** + * 有无技能特长【yes no】 + */ + private String ynJntc; + + /** + * 有无劳动能力 + */ + private String ynLdnl; + + /** + * 有无非义务教育阶段助学【yes no】 + */ + private String ynFywjyjdzx; + + /** + * 所患大病 + */ + private String shdb; + + /** + * 患大病时间 + */ + private String dbsj; + + /** + * 所患慢性病 + */ + private String shmxb; + + /** + * 患慢性病时间 + */ + private String mxbsj; + + /** + * 是否参保 + */ + private String isCb; + + /** + * 自付金额 + */ + private String zfje; + + /** + * 救助金额 + */ + private String jzje; + + /** + * 救助时间[yyyy-MM-dd] + */ + private String jzsj; + + /** + * 享受救助明细序号 + */ + private String jzmxxh; + + /** + * 健康信息备注 + */ + private String healthRemakes; + + /** + * 工作单位 + */ + private String gzdw; + + /** + * 职业 + */ + private String zy; + + /** + * 离退休时间 + */ + private String ltxsj; + + /** + * 工作信息备注 + */ + private String workRemake; + + /** + * 退休金额 + */ + private String txje; + + /** + * 月收入 + */ + private String ysr; + + /** + * 是否经济低保 + */ + private String isJjdb; + + /** + * 籍贯 + */ + private String jg; + + /** + * 户籍所在地 + */ + private String hjszd; + + /** + * 现居住地 + */ + private String xjzd; + + /** + * 人户情况 + */ + private String rhzk; + + /** + * 居住信息备注 + */ + private String jzxxRemakes; + + /** + * 民族【字典表】 + */ + private String mz; + + /** + * 与户主关系【字典表】 + */ + private String yhzgx; + + /** + * 居住情况【字典表】 + */ + private String jzqk; + + /** + * 婚姻状况【字典表】 + */ + private String hyzk; + + /** + * 配偶情况【字典表】 + */ + private String poqk; + + /** + * 有无赡养人 + */ + private String ynSyr; + + /** + * 与赡养人关系【字典表】 + */ + private String ysyrgx; + + /** + * 赡养人电话 + */ + private String syrMobile; + + /** + * 家庭信息备注 + */ + private String jtxxRemakes; + + /** + * 用户状态【0:正常;1:迁出;2:注销】 + */ + private String status; + + /** + * 用户详细状态:01:新增、02:导入、03:迁入、04:新生、11:迁出、21死亡 + */ + private String subStatus; + + + /** + * 删除标识 0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 预留字段1 + */ + private String field1; + + /** + * 预留字段2 + */ + private String field2; + + /** + * 预留字段3 + */ + private String field3; + + /** + * 预留字段4 + */ + private String field4; + + /** + * 预留字段5 + */ + private String field5; + + /** + * 预留字段6 + */ + private String field6; + + /** + * 预留字段7 + */ + private String field7; + + /** + * 预留字段8 + */ + private String field8; + + /** + * 预留字段9 + */ + private String field9; + + /** + * 预留字段10 + */ + private String field10; +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 364b859376..7ad72ca217 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -15,6 +15,7 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis; import com.epmet.commons.tools.redis.common.CustomerResiUserRedis; import com.epmet.commons.tools.redis.common.bean.HouseInfoCache; +import com.epmet.commons.tools.redis.common.bean.IcResiUserInfoCache; import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; @@ -437,12 +438,12 @@ public class IcHouseServiceImpl extends BaseServiceImpl getIcResiUserInfo(@PathVariable("userId") String userId){ + return new Result().ok(icResiUserService.getIcResiUserInfo(userId)); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 87dcd4cba3..e3e0f75e1f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -20,6 +20,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.dto.result.OptionDataResultDTO; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.bean.IcResiUserInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.IcResiUserDTO; @@ -518,4 +519,6 @@ public interface IcResiUserService extends BaseService { * @Date 2022/9/8 15:45 */ void updateYlfn(); + + IcResiUserInfoCache getIcResiUserInfo(String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index ec9bf3043c..e602218bee 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -44,10 +44,7 @@ import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerResiUserRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; -import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; -import com.epmet.commons.tools.redis.common.bean.GridInfoCache; -import com.epmet.commons.tools.redis.common.bean.HouseInfoCache; -import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; +import com.epmet.commons.tools.redis.common.bean.*; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.*; import com.epmet.constant.IcPlatformConstant; @@ -3540,4 +3537,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl Date: Mon, 17 Oct 2022 15:58:29 +0800 Subject: [PATCH 096/109] emm --- .../main/java/com/epmet/service/impl/IcHouseServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 7ad72ca217..83d12ff7ab 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -437,6 +437,8 @@ public class IcHouseServiceImpl extends BaseServiceImpl Date: Mon, 17 Oct 2022 16:05:26 +0800 Subject: [PATCH 097/109] =?UTF-8?q?=E6=88=BF=E5=B1=8B=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcHouseDTO.java | 9 +++++++++ .../java/com/epmet/controller/IcHouseController.java | 4 ++-- .../java/com/epmet/service/impl/IcHouseServiceImpl.java | 4 ++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java index e026d7cbdc..cdbf65c799 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java @@ -161,4 +161,13 @@ public class IcHouseDTO implements Serializable { * 房屋可编辑编码 */ private String coding; + + /** + * 加密后的联系方式 + */ + private String showOwnerPhone; + /** + * 加密后的房主身份证 + */ + private String showOwnerIdCard; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java index 6e867c47de..00a9076821 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java @@ -18,17 +18,16 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.IcHouseDTO; -import com.epmet.dto.IcVaccinePrarmeterDTO; import com.epmet.dto.form.CheckHouseInfoFormDTO; import com.epmet.dto.form.DetailByTypeFormDTO; import com.epmet.dto.form.HouseFormDTO; -import com.epmet.dto.form.VaccinePrarmeterListFormDTO; import com.epmet.dto.result.*; import com.epmet.service.IcHouseService; import org.springframework.beans.factory.annotation.Autowired; @@ -51,6 +50,7 @@ public class IcHouseController { @Autowired private IcHouseService icHouseService; + @MaskResponse(fieldNames = { "showOwnerPhone", "showOwnerIdCard" }, fieldsMaskType = { MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD }) @GetMapping("{id}") public Result get(@PathVariable("id") String id) { IcHouseDTO data = icHouseService.get(id); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 7ad72ca217..6a222b9500 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.rocketmq.messages.CheckMQMsg; -import com.epmet.commons.rocketmq.messages.LoginMQMsg; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.OptionResultDTO; @@ -16,7 +15,6 @@ import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis; import com.epmet.commons.tools.redis.common.CustomerResiUserRedis; import com.epmet.commons.tools.redis.common.bean.HouseInfoCache; import com.epmet.commons.tools.redis.common.bean.IcResiUserInfoCache; -import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.IpUtils; @@ -94,6 +92,8 @@ public class IcHouseServiceImpl extends BaseServiceImpl Date: Mon, 17 Oct 2022 16:33:44 +0800 Subject: [PATCH 098/109] =?UTF-8?q?=E6=93=8D=E4=BD=9C=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/LogOperationListFormDTO.java | 20 +++++++++++ .../dto/region/LogOperationResultDTO.java | 5 +++ .../controller/LogOperationController.java | 17 +++++++++ .../java/com/epmet/dao/LogOperationDao.java | 12 ++++++- .../epmet/service/LogOperationService.java | 17 +++++++++ .../service/impl/LogOperationServiceImpl.java | 24 +++++++++++++ .../main/resources/mapper/LogOperationDao.xml | 35 ++++++++++++++++++- 7 files changed, 128 insertions(+), 2 deletions(-) diff --git a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/form/LogOperationListFormDTO.java b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/form/LogOperationListFormDTO.java index 3fe203b482..a4fc503431 100644 --- a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/form/LogOperationListFormDTO.java +++ b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/form/LogOperationListFormDTO.java @@ -10,4 +10,24 @@ public class LogOperationListFormDTO { private Integer pageNo = 1; private Integer pageSize = 10; + /** + * 姓名 + */ + private String operatorName; + /** + * 手机号 + */ + private String operatorMobile; + /** + * yyyyMMdd + */ + private String startTime; + /** + * yyyyMMdd + */ + private String endTime; + /** + * 默认传data_tm + */ + private String category; } diff --git a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/LogOperationResultDTO.java b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/LogOperationResultDTO.java index b08c9fc295..b794dcbd26 100644 --- a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/LogOperationResultDTO.java +++ b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/LogOperationResultDTO.java @@ -1,7 +1,10 @@ package com.epmet.dto.region; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import java.util.Date; + /** * */ @@ -45,4 +48,6 @@ public class LogOperationResultDTO { */ private Long operatingTime; + @JsonFormat(pattern="yyyy-MM-dd HH:mm") + private Date operateTime; } diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/LogOperationController.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/LogOperationController.java index 089ad29639..2da04fe5d6 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/LogOperationController.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/LogOperationController.java @@ -2,6 +2,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; +import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -45,4 +46,20 @@ public class LogOperationController { return new Result>().ok(resultList); } + /** + * 数字社区-操作记录 + * @param formDTO + * @return + */ + @PostMapping("page") + public Result> page(@RequestBody LogOperationListFormDTO formDTO){ + return new Result>().ok(logOperationService.page(loginUserUtil.getLoginUserCustomerId(), + formDTO.getStartTime(), + formDTO.getEndTime(), + formDTO.getOperatorName(), + formDTO.getOperatorMobile(), + formDTO.getPageNo(), + formDTO.getPageSize(), + formDTO.getCategory())); + } } diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/LogOperationDao.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/LogOperationDao.java index a63a5aa8e4..59650e60ae 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/LogOperationDao.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/LogOperationDao.java @@ -18,8 +18,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.region.LogOperationResultDTO; import com.epmet.entity.LogOperationEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 操作日指标 @@ -29,5 +33,11 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface LogOperationDao extends BaseDao { - + + List pageList(@Param("customerId") String customerId, + @Param("startTime")String startTime, + @Param("endTime")String endTime, + @Param("operatorName")String operatorName, + @Param("operatorMobile")String operatorMobile, + @Param("category")String category); } \ No newline at end of file diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/LogOperationService.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/LogOperationService.java index 67b3736395..ad7bc8acb6 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/LogOperationService.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/LogOperationService.java @@ -1,5 +1,6 @@ package com.epmet.service; +import com.epmet.commons.tools.page.PageData; import com.epmet.dto.region.LogOperationResultDTO; import com.epmet.entity.LogOperationEntity; @@ -25,4 +26,20 @@ public interface LogOperationService { * @date 2021.06.07 21:56 */ List listOperationLogs(String condition, String customerId, Integer pageNo, Integer pageSize); + + /** + * 数字社区-操作记录 + * @param loginUserCustomerId + * @param startTime + * @param endTime + * @param operatorName + * @param operatorMobile + * @return + */ + PageData page(String loginUserCustomerId, + String startTime, + String endTime, + String operatorName, + String operatorMobile, + Integer pageNo, Integer pageSize,String category); } diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java index 1cbf7e32d2..f9837728e7 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.feign.ResultDataResolver; +import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.LogOperationDao; import com.epmet.dto.CustomerStaffDTO; @@ -15,6 +16,8 @@ import com.epmet.dto.region.LogOperationResultDTO; import com.epmet.entity.LogOperationEntity; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.service.LogOperationService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -174,7 +177,28 @@ public class LogOperationServiceImpl implements LogOperationService, ResultDataR ldto.setCustomerId(l.getCustomerId()); ldto.setOperatorMobile(staffMap.get(l.getOperatorId()).getMobile()); ldto.setOperatorName(staffMap.get(l.getOperatorId()).getRealName()); + ldto.setOperateTime(l.getOperatingTime()); return ldto; }).collect(Collectors.toList()); } + + /** + * 数字社区-操作记录 + * + * @param customerId + * @param startTime + * @param endTime + * @param operatorName + * @param operatorMobile + * @return + */ + @Override + public PageData page(String customerId, String startTime, String endTime, String operatorName, String operatorMobile, + Integer pageNo, Integer pageSize,String category) { + // 列表/导出查询 + PageHelper.startPage(pageNo, pageSize); + List list = logOperationDao.pageList(customerId, startTime, endTime, operatorName, operatorMobile,category); + PageInfo pageInfo = new PageInfo<>(list); + return new PageData<>(list, pageInfo.getTotal()); + } } diff --git a/epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml b/epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml index 5f34d339ad..b65219788c 100644 --- a/epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml +++ b/epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml @@ -26,5 +26,38 @@ - + \ No newline at end of file From dc37e827abae339040c5df812d7c47f9c5424c22 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 17 Oct 2022 16:41:36 +0800 Subject: [PATCH 099/109] message --- .../com/epmet/controller/HouseController.java | 52 +++++++++++++++---- .../service/impl/IcHouseServiceImpl.java | 8 +-- .../impl/IcResiUserExportServiceImpl.java | 32 +++++++++--- 3 files changed, 70 insertions(+), 22 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index 35b3bc0e6f..0e2f57f7d9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -25,6 +25,8 @@ import com.alibaba.excel.write.metadata.style.WriteCellStyle; import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.constants.TopicConstants; +import com.epmet.commons.rocketmq.messages.CheckMQMsg; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.annotation.ReportRequest; @@ -40,10 +42,7 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.bean.HouseInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.ExcelUtils; -import com.epmet.commons.tools.utils.HouseQRcodeUtils; -import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.utils.poi.excel.handler.ExcelFillRowMergeStrategy; import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -54,6 +53,7 @@ import com.epmet.dto.result.*; import com.epmet.entity.CustomerOrgParameterEntity; import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.service.HouseService; import com.epmet.util.ExcelPoiUtils; @@ -66,18 +66,18 @@ import org.apache.poi.ss.usermodel.VerticalAlignment; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.multipart.MultipartFile; import javax.imageio.ImageIO; import javax.imageio.stream.ImageOutputStream; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.*; import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.concurrent.TimeUnit; @@ -105,6 +105,8 @@ public class HouseController implements ResultDataResolver { @Autowired private IcHouseDao icHouseDao; + @Autowired + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; @ReportRequest @PostMapping("houselist") @@ -265,7 +267,7 @@ public class HouseController implements ResultDataResolver { * @throws Exception */ @RequestMapping("exporthouseinfo") - public void exporthouseinfo(@RequestBody IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception { + public void exporthouseinfo(@RequestBody IcHouseListFormDTO formDTO, HttpServletResponse response,@LoginUser TokenDto tokenDto) throws Exception { ValidatorUtils.validateEntity(formDTO); if (StringUtils.isNotBlank(formDTO.getId())){ formDTO.setSelectType("id"); @@ -274,7 +276,21 @@ public class HouseController implements ResultDataResolver { } formDTO.setIsPage(false); houseService.exportBuildinginfo(formDTO, response); - + // 新增操作日志 + CheckMQMsg msg = new CheckMQMsg(); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + msg.setOperateTime(new Date()); + msg.setContent("导出房屋数据"); + msg.setType("exportHouse"); + msg.setTypeDisplay("导出房屋数据"); + msg.setUserId(tokenDto.getUserId()); + msg.setFromApp(tokenDto.getApp()); + msg.setIp(IpUtils.getIpAddr(request)); + msg.setFromClient(tokenDto.getClient()); + SystemMsgFormDTO form = new SystemMsgFormDTO(); + form.setMessageType(TopicConstants.CHECK_OR_EXPORT); + form.setContent(msg); + epmetMessageOpenFeignClient.sendSystemMsgByMQ(form); } @PostMapping("queryListHouseInfo") @@ -452,6 +468,22 @@ public class HouseController implements ResultDataResolver { //获取导出配置 haveSearchCache.invalidateAll(); + + // 发送操作日志 + CheckMQMsg msg = new CheckMQMsg(); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + msg.setOperateTime(new Date()); + msg.setContent("导出一户一档数据"); + msg.setType("exportYHYD"); + msg.setTypeDisplay("导出一户一档数据"); + msg.setUserId(tokenDto.getUserId()); + msg.setFromApp(tokenDto.getApp()); + msg.setIp(IpUtils.getIpAddr(request)); + msg.setFromClient(tokenDto.getClient()); + SystemMsgFormDTO form = new SystemMsgFormDTO(); + form.setMessageType(TopicConstants.CHECK_OR_EXPORT); + form.setContent(msg); + epmetMessageOpenFeignClient.sendSystemMsgByMQ(form); } catch (EpmetException e) { response.reset(); response.setCharacterEncoding("UTF-8"); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 15d9d849f6..81693e4230 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -436,9 +436,9 @@ public class IcHouseServiceImpl extends BaseServiceImpl Date: Mon, 17 Oct 2022 17:18:56 +0800 Subject: [PATCH 100/109] showOwnerIdCard --- .../main/java/com/epmet/service/impl/IcHouseServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 81693e4230..a44882b549 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -92,7 +92,7 @@ public class IcHouseServiceImpl extends BaseServiceImpl Date: Tue, 18 Oct 2022 10:19:04 +0800 Subject: [PATCH 101/109] =?UTF-8?q?=E5=97=AF=20=E6=A0=B8=E9=85=B8=E6=A3=80?= =?UTF-8?q?=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/utils/YtHsResUtils.java | 30 +++- .../src/main/java/com/epmet/dao/IcNatDao.java | 2 + .../java/com/epmet/service/IcNatService.java | 2 + .../impl/DataSyncConfigServiceImpl.java | 142 ++++++++++-------- .../epmet/service/impl/IcNatServiceImpl.java | 8 + .../src/main/resources/mapper/IcNatDao.xml | 34 ++++- 6 files changed, 152 insertions(+), 66 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java index cb28cf5419..3f72228656 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java @@ -43,7 +43,33 @@ public class YtHsResUtils { log.info("hscy api param:{}", param); //todo 核酸检测 mock数据 放开她 //Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"hscyxxcx", param); - String mockData = "{\"id\":\"1570924677539635484\",\"name\":\"杨XX\",\"card_type\":\"1\",\"card_no\":\"370283199912010302\",\"create_by\":\"370613594\",\"create_time\":\"2022-09-17 07:15:22\",\"sys_org_code\":\"370613\",\"sample_tube\":\"GCJ-0825-0441\",\"package_id\":\"bcj00208083952\",\"city\":\"烟台市\",\"uuid\":\"6225684525062602095\",\"county\":\"莱山区\",\"depart_ids\":\"未填写\",\"depart_name\":null,\"realname\":\"采样点327\",\"upload_time\":\"2022-09-17 07:56:45\",\"sd_id\":null,\"sd_batch\":null,\"sd_operation\":null,\"sd_time\":null,\"inserttime\":\"2022-09-17 09:36:20\"}"; + String mockData = "{\n" + + " \"code\":0,\n" + + " \"msg\":\"success\",\n" + + " \"data\":[{\n" + + " \"id\": \"1570924677539635484\",\n" + + " \"name\": \"杨XX\",\n" + + " \"card_type\": \"1\",\n" + + " \"card_no\": \"370283199912010302\",\n" + + " \"create_by\": \"370613594\",\n" + + " \"create_time\": \"2022-09-17 07:15:22\",\n" + + " \"sys_org_code\": \"370613\",\n" + + " \"sample_tube\": \"GCJ-0825-0441\",\n" + + " \"package_id\": \"bcj00208083952\",\n" + + " \"city\": \"烟台市\",\n" + + " \"uuid\": \"6225684525062602095\",\n" + + " \"county\": \"莱山区\",\n" + + " \"depart_ids\": \"未填写\",\n" + + " \"depart_name\": null,\n" + + " \"realname\": \"采样点327\",\n" + + " \"upload_time\": \"2022-09-17 07:56:45\",\n" + + " \"sd_id\": null,\n" + + " \"sd_batch\": null,\n" + + " \"sd_operation\": null,\n" + + " \"sd_time\": null,\n" + + " \"inserttime\": \"2022-09-17 09:36:20\"\n" + + "}]\n" + + "}"; Result result = new Result().ok(mockData); log.info("hscy api result:{}", JSON.toJSONString(result)); if (result.success()) { @@ -74,7 +100,7 @@ public class YtHsResUtils { log.info("hsjc api param:{}", param); //todo 核酸检测 mock数据 放开她 //Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"hsjcxx", param); - String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":[{\"id\":\"6a31eb2d38c011eda054fa163ebc7ff4\",\"name\":\"数据同步测试用户\",\"card_no\":\"370283199912010302\",\"telephone\":\"13697890860\",\"address\":\"保利香榭里公馆18-1-302\",\"test_time\":\"2022-09-20 12:52:28\",\"depart_name\":\"天仁医学检验实验室有限公司\",\"county\":\"莱山区\",\"upload_time\":\"2022-09-20 21:23:10\",\"sample_result_pcr\":\"2\",\"sample_time\":\"2022-09-20 06:48:28\",\"sampling_org_pcr\":\"采样点327\"}],\"total\":1}"; + String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":[{\"id\":\"6a31eb2d38c011eda054fa163ebc7ff4\",\"name\":\"数据同步测试用户\",\"card_no\":\"370283199912010302\",\"telephone\":\"13697890860\",\"address\":\"保利香榭里公馆18-1-302\",\"test_time\":\"2022-09-20 12:52:28\",\"depart_name\":\"天仁医学检验实验室有限公司\",\"county\":\"莱山区\",\"upload_time\":\"2022-09-20 21:23:10\",\"sample_result_pcr\":\"2\",\"sample_time\":\"2022-09-17 07:15:22\",\"sampling_org_pcr\":\"采样点327\"}],\"total\":1}"; Result result = new Result().ok(mockData); log.info("hsjc api result:{}", JSON.toJSONString(result)); if (result.success()) { diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java index b2419b09f5..f21ec91eb3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -64,4 +64,6 @@ public interface IcNatDao extends BaseDao { List getExistNatInfo(@Param("list") List entities); + void updateBatchNat(@Param("list")List entities); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java index ea75c911e4..430a66424a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java @@ -92,4 +92,6 @@ public interface IcNatService extends BaseService { * @return */ Integer updateIsResiFlag(String customerId, String icResiUserId); + + void updateBatchNat(List entities); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 2517791025..90ddad6372 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -454,100 +454,64 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl idCards, String customerId, String isSync) { try { - List entities = new ArrayList<>(); idCards.forEach(idCard -> { -// YtHscyResDTO sampleResult = YtHsResUtils.hscy(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); - YtHsjcResDTO natInfoResult = YtHsResUtils.hsjc(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); - /*Boolean aBoolean = CollectionUtils.isEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData()); - Boolean bBoolean = CollectionUtils.isNotEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData());*/ - /** - * 1.采样结果 和 检测结果 都不为空,以检测结果为准 - * 2.采样结果为空,检测结果不为空 - */ -// if (aBoolean || bBoolean) { - if (CollectionUtils.isNotEmpty(natInfoResult.getData())) { - natInfoResult.getData().forEach(natInfo -> { + YtHscyResDTO sampleResult = YtHsResUtils.hscy(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); + if (CollectionUtils.isNotEmpty(sampleResult.getData())){ + List entities = new ArrayList<>(); + sampleResult.getData().forEach(sampleInfo -> { IcNatEntity e = new IcNatEntity(); e.setCustomerId(customerId); e.setIsResiUser(StringUtils.isBlank(idCard.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); e.setUserId(idCard.getUserId()); + e.setMobile(""); e.setUserType(isSync.equals(NumConstant.ONE_STR) ? "manualSync" : "sync"); - e.setName(StringUtils.isNotBlank(natInfo.getName()) ? natInfo.getName() : ""); - e.setMobile(StringUtils.isNotBlank(natInfo.getTelephone()) ? natInfo.getTelephone() : ""); - e.setIdCard(StringUtils.isNotBlank(natInfo.getCard_no()) ? natInfo.getCard_no() : ""); - e.setNatTime(DateUtils.parseDate(natInfo.getTest_time(), DateUtils.DATE_TIME_PATTERN)); - e.setSampleTime(DateUtils.parseDate(natInfo.getSample_time(), DateUtils.DATE_TIME_PATTERN)); - String resultPcr = natInfo.getSample_result_pcr(); - //检测结果 转换 我们 0:阴性 1:阳性, 他们 :1:阳性,2:阴性 - e.setNatResult(NumConstant.ZERO_STR); - if (NumConstant.ONE_STR.equals(resultPcr)) { - e.setNatResult(NumConstant.ONE_STR); - } - e.setNatAddress(natInfo.getSampling_org_pcr()); + e.setName(StringUtils.isNotBlank(sampleInfo.getName()) ? sampleInfo.getName() : ""); + e.setIdCard(StringUtils.isNotBlank(sampleInfo.getCard_no()) ? sampleInfo.getCard_no() : ""); + e.setSampleTime(DateUtils.parseDate(sampleInfo.getCreate_time(), DateUtils.DATE_TIME_PATTERN)); e.setAgencyId(idCard.getAgencyId()); e.setPids(idCard.getPids()); e.setAttachmentType(""); e.setAttachmentUrl(""); entities.add(e); }); + if (CollectionUtils.isNotEmpty(entities)){ + List existSampleInfo = icNatDao.getExistNatInfo(entities); + sampleAndNat(existSampleInfo,entities,NumConstant.ONE_STR,customerId,isSync); + } } - /*if (CollectionUtils.isNotEmpty(sampleResult.getData()) && CollectionUtils.isEmpty(natInfoResult.getData())){ - sampleResult.getData().forEach(sampleInfo -> { + YtHsjcResDTO natInfoResult = YtHsResUtils.hsjc(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); + if (CollectionUtils.isNotEmpty(natInfoResult.getData())) { + List entities = new ArrayList<>(); + natInfoResult.getData().forEach(natInfo -> { IcNatEntity e = new IcNatEntity(); e.setCustomerId(customerId); e.setIsResiUser(StringUtils.isBlank(idCard.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); e.setUserId(idCard.getUserId()); e.setUserType(isSync.equals(NumConstant.ONE_STR) ? "manualSync" : "sync"); - e.setName(StringUtils.isNotBlank(sampleInfo.getName()) ? sampleInfo.getName() : ""); - e.setMobile(StringUtils.isNotBlank(sampleInfo.get()) ? sampleInfo.getTelephone() : ""); - e.setIdCard(StringUtils.isNotBlank(sampleInfo.getCard_no()) ? sampleInfo.getCard_no() : ""); - e.setNatTime(DateUtils.parseDate(sampleInfo.getTest_time(), DateUtils.DATE_TIME_PATTERN)); - e.setSampleTime(DateUtils.parseDate(sampleInfo.getSample_time(), DateUtils.DATE_TIME_PATTERN)); - String resultPcr = sampleInfo.getSample_result_pcr(); + e.setName(StringUtils.isNotBlank(natInfo.getName()) ? natInfo.getName() : ""); + e.setMobile(StringUtils.isNotBlank(natInfo.getTelephone()) ? natInfo.getTelephone() : ""); + e.setIdCard(StringUtils.isNotBlank(natInfo.getCard_no()) ? natInfo.getCard_no() : ""); + e.setNatTime(DateUtils.parseDate(natInfo.getTest_time(), DateUtils.DATE_TIME_PATTERN)); + e.setSampleTime(DateUtils.parseDate(natInfo.getSample_time(), DateUtils.DATE_TIME_PATTERN)); + String resultPcr = natInfo.getSample_result_pcr(); //检测结果 转换 我们 0:阴性 1:阳性, 他们 :1:阳性,2:阴性 e.setNatResult(NumConstant.ZERO_STR); - if (NumConstant.ONE_STR.equals(resultPcr)){ + if (NumConstant.ONE_STR.equals(resultPcr)) { e.setNatResult(NumConstant.ONE_STR); } - e.setNatAddress(sampleInfo.getSampling_org_pcr()); + e.setNatAddress(natInfo.getSampling_org_pcr()); e.setAgencyId(idCard.getAgencyId()); e.setPids(idCard.getPids()); e.setAttachmentType(""); e.setAttachmentUrl(""); entities.add(e); }); - } - });*/ - if (CollectionUtils.isNotEmpty(entities)) { - List existNatInfos = icNatDao.getExistNatInfo(entities); - entities.forEach(e -> existNatInfos.stream().filter(i -> i.getUserId().equals(e.getUserId()) && i.getIdCard().equals(e.getIdCard())).forEach(i -> e.setExistStatus(true))); - Map> groupByStatus = entities.stream().collect(Collectors.groupingBy(IcNatEntity::getExistStatus)); - if (CollectionUtils.isNotEmpty(groupByStatus.get(false))) { - for (List icNatEntities : ListUtils.partition(groupByStatus.get(false), NumConstant.FIVE_HUNDRED)) { - icNatService.insertBatch(icNatEntities); - //组织关系表 - List relationEntities = new ArrayList<>(); - icNatEntities.forEach(ne -> { - // 不是居民的先不加关系表吧 - if (ne.getIsResiUser().equals(NumConstant.ONE_STR)) { - IcNatRelationEntity e = new IcNatRelationEntity(); - e.setCustomerId(customerId); - e.setAgencyId(ne.getAgencyId()); - e.setPids(ne.getPids()); - e.setIcNatId(ne.getId()); - e.setUserType("sync"); - relationEntities.add(e); - } - }); - if (CollectionUtils.isNotEmpty(relationEntities)) { - icNatRelationService.insertBatch(relationEntities); - } - } + if (CollectionUtils.isNotEmpty(entities)) { + List existNatInfos = icNatDao.getExistNatInfo(entities); + sampleAndNat(existNatInfos,entities,NumConstant.TWO_STR,customerId,isSync); } - } }); } catch (Exception e) { @@ -556,6 +520,58 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl existInfo, List entities, String type, String customerId, String isSync){ + /** + * 采样结果不为空 + * 数据库采样时间+idCard+userId 存在的 不做操作 + * 数据库采样时间+idCard+userId 不存在的 新增 + * + * 检测结果不为空 + * 数据库采样时间+idCard+userId 存在的 做更新 + * 数据库采样时间+idCard+userId 不存在的 新增 + */ + entities.forEach(e -> existInfo.stream().filter(i -> i.getUserId().equals(e.getUserId()) && i.getIdCard().equals(e.getIdCard())).forEach(i -> e.setExistStatus(true))); + Map> groupByStatus = entities.stream().collect(Collectors.groupingBy(IcNatEntity::getExistStatus)); + if (CollectionUtils.isNotEmpty(groupByStatus.get(false))) { + for (List icNatEntities : ListUtils.partition(groupByStatus.get(false), NumConstant.FIVE_HUNDRED)) { + // 主表新增 + icNatService.insertBatch(icNatEntities); + // 组织关系表 + List relationEntities = new ArrayList<>(); + icNatEntities.forEach(ne -> { + if (ne.getIsResiUser().equals(NumConstant.ONE_STR)) { + IcNatRelationEntity e = new IcNatRelationEntity(); + e.setCustomerId(customerId); + e.setAgencyId(ne.getAgencyId()); + e.setPids(ne.getPids()); + e.setIcNatId(ne.getId()); + e.setUserType(isSync.equals(NumConstant.ONE_STR) ? "manualSync" : "sync"); + relationEntities.add(e); + } + }); + if (CollectionUtils.isNotEmpty(relationEntities)) { + icNatRelationService.insertBatch(relationEntities); + } + } + } + if (NumConstant.TWO_STR.equals(type)){ + if (CollectionUtils.isNotEmpty(groupByStatus.get(true))){ + for (List icNatEntities : ListUtils.partition(groupByStatus.get(true), NumConstant.ONE_HUNDRED)) { + icNatService.updateBatchNat(icNatEntities); + } + } + } + } + private class JudgeDealStatus { private boolean isNext; private DataSyncRecordDisabilityDTO dbDisablityEntity; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 3a9282b9bb..fcc03adf39 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -464,6 +464,14 @@ public class IcNatServiceImpl extends BaseServiceImpl imp return baseDao.updateIsResiFlag(customerId,icResiUserId); } + @Override + @Transactional(rollbackFor = Exception.class) + public void updateBatchNat(List entities) { + if (CollectionUtils.isNotEmpty(entities)){ + baseDao.updateBatchNat(entities); + } + } + /** * 批量持久化 * @param entities diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index 0295d92f3f..ea4f9a8bc6 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -164,7 +164,7 @@ WHERE del_flag = '0' AND USER_ID = #{l.userId} AND ID_CARD = #{l.idCard} - AND UNIX_TIMESTAMP(NAT_TIME) = UNIX_TIMESTAMP(#{l.natTime}) + AND UNIX_TIMESTAMP(SAMPLE_TIME) = UNIX_TIMESTAMP(#{l.sampleTime}) @@ -189,4 +189,36 @@ m.ID_CARD = t.ID_CARD AND m.DEL_FLAG = '0' + + UPDATE ic_nat + + + + when USER_ID = #{l.userId} AND ID_CARD = #{l.idCard} then #{l.natTime} + + + + + when USER_ID = #{l.userId} AND ID_CARD = #{l.idCard} then #{l.natAddress} + + + + + when USER_ID = #{l.userId} AND ID_CARD = #{l.idCard} then #{l.natResult} + + + + + when USER_ID = #{l.userId} AND ID_CARD = #{l.idCard} then #{l.mobile} + + + UPDATED_TIME = NOW() + + WHERE DEL_FLAG = '0' + + AND USER_ID = #{l.userId} + AND ID_CARD = #{l.idCard} + + + From b55b324fc480d1e9eae4f3920e0918e4e584ce50 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 18 Oct 2022 10:49:10 +0800 Subject: [PATCH 102/109] =?UTF-8?q?=E5=85=88=E6=8A=8A=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=8F=91=E9=80=81=E6=8B=BF=E5=88=B0controller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/IcResiUserController.java | 18 ++++++++++++++++++ .../impl/IcResiUserExportServiceImpl.java | 14 -------------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 5b78b84775..701968bcf0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -22,6 +22,8 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.fill.FillWrapper; import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.constants.TopicConstants; +import com.epmet.commons.rocketmq.messages.CheckMQMsg; import com.epmet.commons.rocketmq.messages.IcResiUserAddMQMsg; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.MaskResponse; @@ -85,6 +87,8 @@ import org.jetbrains.annotations.NotNull; import org.redisson.api.RLock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.multipart.MultipartFile; import javax.servlet.ServletOutputStream; @@ -558,6 +562,20 @@ public class IcResiUserController implements ResultDataResolver { } else { icResiUserExportService.exportIcResiUser(tokenDto, pageFormDTO, response,false); } + CheckMQMsg msg = new CheckMQMsg(); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + msg.setOperateTime(new Date()); + msg.setContent("导出居民数据"); + msg.setType("exportIcResiUser"); + msg.setTypeDisplay("导出居民数据"); + msg.setUserId(tokenDto.getUserId()); + msg.setFromApp(tokenDto.getApp()); + msg.setIp(IpUtils.getIpAddr(request)); + msg.setFromClient(tokenDto.getClient()); + SystemMsgFormDTO form = new SystemMsgFormDTO(); + form.setMessageType(TopicConstants.CHECK_OR_EXPORT); + form.setContent(msg); + epmetMessageOpenFeignClient.sendSystemMsgByMQ(form); } catch (EpmetException e) { response.reset(); response.setCharacterEncoding("UTF-8"); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java index e5d691a8c0..ec754bb2b8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java @@ -204,20 +204,6 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { excelWriter.write(resultData, writeSheet); } } while (!searchForm.getIsPage() && mapListPage.getResult().size() == searchForm.getPageSize()); - CheckMQMsg msg = new CheckMQMsg(); - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - msg.setOperateTime(new Date()); - msg.setContent("导出居民数据"); - msg.setType("exportIcResiUser"); - msg.setTypeDisplay("导出居民数据"); - msg.setUserId(tokenDto.getUserId()); - msg.setFromApp(tokenDto.getApp()); - msg.setIp(IpUtils.getIpAddr(request)); - msg.setFromClient(tokenDto.getClient()); - SystemMsgFormDTO form = new SystemMsgFormDTO(); - form.setMessageType(TopicConstants.CHECK_OR_EXPORT); - form.setContent(msg); - epmetMessageOpenFeignClient.sendSystemMsgByMQ(form); } catch (IOException e) { log.error("exportIcResiUser exception", e); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMessage(), "导出失败"); From 1e73bf6b5fdc6a1a681646b90525a0012db5d2ae Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 18 Oct 2022 15:13:18 +0800 Subject: [PATCH 103/109] =?UTF-8?q?/resi/partymember/icPartyMember/1570322?= =?UTF-8?q?92946977587=E6=89=8B=E6=9C=BA=E5=8F=B7=E8=BA=AB=E4=BB=BD?= =?UTF-8?q?=E8=AF=81=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/partymember/controller/IcPartyMemberController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java index a27833eb76..84c079c14a 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java @@ -89,6 +89,7 @@ public class IcPartyMemberController implements ResultDataResolver { return new Result>().ok(page); } + @MaskResponse(fieldNames = { "mobile", "idCard" }, fieldsMaskType = { MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD }) @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) public Result get(@LoginUser TokenDto tokenDto, @PathVariable("id") String id){ IcPartyMemberDTO data = icPartyMemberService.get(tokenDto, id); From 79640cf5d2f2b4e444e8805fc3a0233bf3ebc23e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 18 Oct 2022 15:15:48 +0800 Subject: [PATCH 104/109] =?UTF-8?q?/resi/partymember/icPartyMember/1570322?= =?UTF-8?q?92946977587=E6=89=8B=E6=9C=BA=E5=8F=B7=E8=BA=AB=E4=BB=BD?= =?UTF-8?q?=E8=AF=81=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resi/partymember/dto/partymember/IcPartyMemberDTO.java | 3 ++- .../partymember/controller/IcPartyMemberController.java | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartyMemberDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartyMemberDTO.java index 9832a35e5e..74c7166a2c 100644 --- a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartyMemberDTO.java +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartyMemberDTO.java @@ -63,7 +63,8 @@ public class IcPartyMemberDTO implements Serializable { */ @NotBlank(message = "当前网格id不能为空",groups ={AddGroup.class, UpdateGroup.class}) private String mobile; - + private String showMobile; + private String showIdCard; /** * 身份证号 */ diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java index 84c079c14a..7628cfbb82 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java @@ -89,10 +89,14 @@ public class IcPartyMemberController implements ResultDataResolver { return new Result>().ok(page); } - @MaskResponse(fieldNames = { "mobile", "idCard" }, fieldsMaskType = { MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD }) + @MaskResponse(fieldNames = { "showMobile", "showIdCard" }, fieldsMaskType = { MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD }) @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) public Result get(@LoginUser TokenDto tokenDto, @PathVariable("id") String id){ IcPartyMemberDTO data = icPartyMemberService.get(tokenDto, id); + if(null!=data){ + data.setShowMobile(data.getMobile()); + data.setShowIdCard(data.getIdCard()); + } return new Result().ok(data); } @NoRepeatSubmit From a3b78a873b2564fe63b3102cdedf4e93e4edd57f Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 18 Oct 2022 17:42:49 +0800 Subject: [PATCH 105/109] ai --- .../java/com/epmet/excel/handler/IcNatExcelImportListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java index 59f5eaab7b..c600349029 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -68,7 +68,7 @@ public class IcNatExcelImportListener implements ReadListener Date: Tue, 18 Oct 2022 22:15:59 +0800 Subject: [PATCH 106/109] =?UTF-8?q?=E4=BA=94=E5=A4=A7=E5=9B=BE=E5=B1=82?= =?UTF-8?q?=E8=84=B1=E6=95=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/processor/MaskProcessor.java | 7 ++++--- .../epmet/dataaggre/service/impl/CoverageServiceImpl.java | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java index a7b42dd438..0ebc34c00c 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java @@ -15,7 +15,6 @@ import java.lang.reflect.Field; import java.util.Arrays; import java.util.List; import java.util.Map; -import java.util.regex.Pattern; /** * desc:脱敏处理器 @@ -173,7 +172,7 @@ public class MaskProcessor { * @param originString * @return */ - private String maskIdCard(String originString) { + public static String maskIdCard(String originString) { IdCardRegexUtils regexUtil = IdCardRegexUtils.parse(originString); if (regexUtil == null) { @@ -221,7 +220,9 @@ public class MaskProcessor { public static void main(String[] args) { String[] idc = {"idCard"}; String[] idct = {MaskResponse.MASK_TYPE_ID_CARD}; - String r = new MaskProcessor(idc, idct).maskString("333333333333333333", MaskResponse.MASK_TYPE_ID_CARD); + String r = new MaskProcessor(idc, idct).maskString("王五(372284152412022222)", MaskResponse.MASK_TYPE_ID_CARD); System.out.println(r); + String s = MaskProcessor.maskIdCard("372284152412022222"); + System.out.println(s); } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java index ff931888c3..f4553cd9b8 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java @@ -9,6 +9,7 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.processor.MaskProcessor; import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; @@ -670,7 +671,7 @@ public class CoverageServiceImpl implements CoverageService { return new CoverageAnalisisDataListResultDTO( re.getId(), categoryKey, isPage ? categoryDict.getCategoryName() : null, placeType, - re.getName().concat(StrConstant.BRACKET_LEFT).concat(re.getIdCard()).concat(StrConstant.BRACKET_RIGNT), + re.getName().concat(StrConstant.BRACKET_LEFT).concat(MaskProcessor.maskIdCard(re.getIdCard())).concat(StrConstant.BRACKET_RIGNT), coordinates[1], coordinates[0]); }).collect(Collectors.toList()); @@ -684,7 +685,7 @@ public class CoverageServiceImpl implements CoverageService { return new CoverageAnalisisDataListResultDTO( re.getId(), categoryKey, isPage ? categoryDict.getCategoryName() : null, placeType, - re.getName().concat(StrConstant.BRACKET_LEFT).concat(re.getIdNum()).concat(StrConstant.BRACKET_RIGNT), + re.getName().concat(StrConstant.BRACKET_LEFT).concat(MaskProcessor.maskIdCard(re.getIdNum())).concat(StrConstant.BRACKET_RIGNT), coordinates[1], coordinates[0]); }).collect(Collectors.toList()); @@ -1276,4 +1277,4 @@ public class CoverageServiceImpl implements CoverageService { } return resultList; } -} \ No newline at end of file +} From 87486760e64dbbdb3b71674b350d8a3d2569fac0 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 19 Oct 2022 08:47:10 +0800 Subject: [PATCH 107/109] =?UTF-8?q?/data/aggregator/coverage/search?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E8=BA=AB=E4=BB=BD=E8=AF=81=E5=8F=B7?= =?UTF-8?q?=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dataaggre/controller/CoverageController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java index 7a451a9f94..7815998386 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java @@ -1,6 +1,7 @@ package com.epmet.dataaggre.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.dto.result.ZhzlCategorySelectDTO; import com.epmet.commons.tools.enums.ZhzlResiCategoryEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -74,6 +75,7 @@ public class CoverageController { * @author zxc * @date 2022/7/26 16:29 */ + @MaskResponse(fieldNames = {"mobile","idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE,MaskResponse.MASK_TYPE_ID_CARD}) @PostMapping("search") public Result coverageHomeSearch(@RequestBody CoverageHomeSearchFormDTO formDTO, @LoginUser TokenDto tokenDto){ formDTO.setCustomerId(tokenDto.getCustomerId()); From 1014523743a0602f87e19a0d79feaaa253f2d26c Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 20 Oct 2022 08:56:21 +0800 Subject: [PATCH 108/109] =?UTF-8?q?=E8=AF=81=E4=BB=B6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/result/NatListResultDTO.java | 2 +- .../excel/data/IcNatImportExcelData.java | 6 +++--- .../src/main/resources/excel/ic_nat.xlsx | Bin 9203 -> 9198 bytes 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java index 43f9582b8c..ee3f03e5e9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java @@ -60,7 +60,7 @@ public class NatListResultDTO implements Serializable { * 身份证号 */ @ColumnWidth(25) - @ExcelProperty(value = "身份证号",order = 3) + @ExcelProperty(value = "证件号",order = 3) private String idCard; /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java index ae0cb210d7..b54c571f8f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java @@ -24,9 +24,9 @@ public class IcNatImportExcelData { @Length(max = 15, message = "手机号长度不正确,应小于15位") private String mobile; - @NotBlank(message = "身份证号为必填项") - @ExcelProperty("身份证号") - @Length(max = 18, message = "身份证号长度不正确,应小于18位") + @NotBlank(message = "证件号为必填项") + @ExcelProperty("证件号") + @Length(max = 18, message = "证件号长度不正确,应小于18位") private String idCard; // @NotNull(message = "检测时间为必填项") diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx index 31cc19219bf74629dbeba6c13449990ad7f8208e..524d327bd7032cf01b51e60fcf15ec903428035d 100644 GIT binary patch delta 4508 zcmV;N5o7N2NA5?klK};y%iTXTlb8V>e?d=#Fc5|BCjJM~JG8)RHVv=`&7L$dagD}X z)6PO8Elpcx*I#deUBqbOt?hgB&6`fKIjA=J0PAF@OOz%AMWA^nq^?W!wA;pO6gkhd zU~Q+NL`QIFQ(ayZ+)&m|4-khG)Rl&JCEP>daKKrxpDhYsStvx@m}f3-C> zjK8rOa7M^AR^XXnp5Xx)o0*7CNWo{MdAIEd5FA4b3bc1PO;Y^r^Da|a)0+Yjv7ln{1pdO6@pW4f%(o>J=66;GX2?v zLxC4caE+lRD~Kqxp;M@{@|@q?IPSKn%1D;QB#(2lBRNf1l#thf^`m}hJ3Xkd!oB>T zn36aP#5KLjX|`Gr&w#4HzgAs+0Z>Z=1d~1?8nXujYykxo9nI)~lXwIrf6I>3FcjS* z@eh#~tRRW|NFOvsOgk+|fJO|DwI^{~Yn(XPPCLVj&)^UE0Qe>({(@`gF-=lLyQq`v zb5G8F_$IR#cL{g)R4OLY5MkFx4oxEwvveDxj~`ag#>i2cq%q+lr6Ibf3cZ*=el$A> zd8>AmY6lon6{4Ni+0^q?f3%|sQLe~n3OgGi6Qbc(ZatMrN@DAjaIfe4ftL`LqJm*6 z&*2c84U6bfM0r9}U64r1i3a^@$1+v1-Nk3|#gZH#)=JNj#AUHl^Wi~9U&10Ol-OuD z5{Xwx>qa^8CXG0gs6%ujSqYK1dG-v5GYIa6ai;HWxM)7JDZG;2e|#1*NQ0@JBk3kY zFY$EUM_{*zPmCVa(Y2$=%{ApT(lmxzBj>9S$#q0H)D`!j^7Z{YQ#D>%O{H&yxHWXI z!O=GgERA_Ci8R~O1?2!=^q^V3SS4@?GQ3*H@pYwXWqadFIx*dloa=?)pINMTA)2^& z&>Ig&)jz5r@5SL2e`VX925loZK#s^YXDNL{_msnCh(N-z4LCy-7%h?D@L>3N5@uQ* zISIM5>)~GyRr=oMrgSeH;Q`hW*3uD!jvDGjxzZvj1Hlc~e(4Hp>Dn8(K`;rbU?*o1 z4N4+dE26&J$Gzd1{(!SFfbc4Yp*tF2|0v^UMKmgjV6BMye{L{pl4haDGm-Cd#J6-h#5+FI)ZMEjPa$h+Wvs%QDEKA{h7BnG$rDq zLYQtbE{nEd**09Z4Xd_cePr-JUoFy{m99u*4G}a*EfTjxb`iZM!k)q=N56?!b~y%3 z#AO#TY$8@&e?-tkthViYrG(b=pXn0HH zmO((AZXh4NJAy$bi`PMMqeW(Q-Utmt*k117n}fn(_T3@IV}DrvVD@c<(5JUx0u+8L z3o*l{1^(cf{{@g9vpWbQ27hpH@TYDH007rd000dD004MwFLQKxY-MvUcx`OeTy1aL z))oFfVE=(ouzd(-i=?Qx)N&TfCQzUo3M2ytY(pSRludvlJ(3FS4h6EMnYRuZFr-_y zqQJTqUiM+}wr*I1u1Wt)q{yH87k2IoFYlEuUmRN$V|}nh@!WIHbAO(5?ji4`Hm)Cz z9OaJX2e#*SD%!eQQ7pIb4QzL>Q~ALybFEcTg0SZfdXDE>oyw6FRIYD+^BWsMc;r|& z_bn?_UMRH~7EyfL+TW9GD9Rp!)PrRL@wU!Nae z?rf^3@-GE9)1B1jji63qDdr*llsImcMt5^#=(%x_brqtFj(==!1n($!dJgbUM_~6o z$McmCXarH#F#NrdMb4O<{^rHAhxn}ho*w}Fh+xe?$1wNknIqfvd~~o%bj)eO;}T8& z-fpL2n&yq>wyNe*htJAZwu?-PT;mi{*J` zXoM?*NMpSXf3;S-p|@L_ik(@aewsEn>ga`#UZO5K<+oStt7-0RwY$amiu-~kLdv=u z)9e=HQhy^3Uk#Yrtk+w0t*skcyBJ98vHoIHWs$y3@V})sTCG;wsA&b2isp*_=kPDq zf5!E0v%9lou2Egx#*VpkU6fbcq_YxUbG#}xuGIg6W*-jbmAJ{x^u_9r(nmMpwdC}n zA>}BwlBt4=^-A>POM@lO{w#A?^SBZ>mp$=E%zuRzr@d@l6jH9qDK<+N^{-?yD6E$$ z`if&E3BuL<3+l(0wQwQ5>-hs%U{dJXj)rdglVh73jx`JcR^Q&+NB=|b0D{-s-RaK6x5H#{lLNrXEXFTWL=wkLnY=hhz6#u=VcXKt3-vWJPctMI{mc-M zc$p!Q*T)RbCUJ?Rb3VGJ!N>(aE72+NoPR_<7&(EQFme)kVNCNeUM$H=6;2|bkDNeG zA32GpB*>q&Iq1YV`xut#B0)f_w z(Ut@B7H;O!w`A%eA2v67j=krOEEiUwEkCsTX#KhmA1$)zd^k)V7CN?Q*czjbs}AKk(eY5e&{WI=rBZQl#6euy`7pn3KJMxqT4)OQUoj>>5y zk0fkXD5sGKz6eTPfD)Rmlz0~wUmb39mlHaUggSs#A|uIeq^vSQ!fQe~iF4G1tcpKv z6`IsszUa`@l?YFuV0P6lGn{a*xqn1(a+4Sr^BUw+>5bINmFRLL_16JOy|m2*iZPoK zg^7EWQzD-!5cYCr3e=ehIk2~!HuBSUX@S%@B+>iQLkX+aB{dRR7LihjHylrCaK%n& zx$Q1&EoLUd@^?vr1j8a61smZ*3XV%gjw_40P^;luW_4Dfz3H-RbFenWsDC0Umy{Hc zA-OHwD)jPztJ_*>8yqf?g<4ZGSPf)n=6xi>gz{V<@(d_f_h=x~UOPNtwM$;6O2$@X zCIy#k&EaU?u1GAbt1DaQFu7PGxtoCJuyK{Ja`S#^J5R)0+64%=4WOS-n`4C=a?5R> z_=+lYPhfhAiN%tW3$<{Ax_?YIazK{$Y7JdkM0_lBmK&&he*Gp>jsgO@<>~o33*l|v z$+OsGPimmS;FN+S&P2{!iD8TkyI~FjLfIHlV4skmNW14~<2kcZPPoK^nzsI4vJGLEohK+CswwufgG}Lb? zYs%!yFJ}L|H~qu$8E$6e?FN!`2FPmz3InaGFg#Iu&yqVMK$dB3nnsG#H3|! z`tkAECx2987)0Vg$0pPB_|voF_osIsL(!jp^mnFE zcC#G8+n!<}^5p8g&dd-#0%+Y>f`$S7%&5~P@f$Rk+LmDrl-GK&!e zMX+2t%}ndf48f;-L<&lA}R`bbT$ ziRGy-9e+krSy_F9Hb5|43SD9Zm>u9UKTKT;{R0S-^0(YK#b^F zZ`*gg5D(F*#P8oi&l-{PZyknj1@M3n{8z@l-KqR+XRF!X-ZAyHmb%qiGip|StzF;R zUaK43t?g~It?Fv`UC0>pi+9%!HDlpd??!gt_X2MiuJ_>)CT}>j`_|&`-nFak=$G$c zkT+|A184cvS!(>v_*kdHeIVvzxWH@xEpnn7uwUfc{6A1j0|XQR000O8hfd-^{W0a% zGywnr7L)!M9)C*1Koo`dg6|M!-_9iQr<5e!`2_j^p&8piGAWr+bk_={Nbv_MR53_P z7hTpx?Jv@o$xO{#I1*4CdUp4G=Ww}Pt8x_v+9i&u9}yeqMFccVs*&fDnhnlQPYNZV zQRWiQ4I+YVaE&RbIQx4RrA(7uLTylItWk!LR_i!)X@4LOzu4ZjzxXPVvZOrvi3rZn&P9IZib>Yu^@9S_(SsqANTm< zo$89)u1Hq=VXlI&Nh@8?c7S|`=+CnLR4rwlju^~$v%JTX_wCJ6?d5E{?uoZVW!w91 zx_VMwy)*PH6`9BAzjQTWAOjVUSuk}?H_Q5=%H;v+dc0Zo&ZB02#YlhGnJ0zn9qUe@{=uAP~jxCVq#8dkb{`#3gO_pxKiqCe~=Y z5t!{Z7D@o^uAg4ouC+!JZ@_!=n>S3hJ*p;p2kYuq=ZGc*MW971YhC5&vE0R1C~}@_ z$(vR~j!xjvwz#~=gkhq!aBo`!*4N;oK+=v0lcR(8hGFc)0Tg#haOfcJTdTMae^*;! z!^JDF0H=hku>#K}_Z;`Y*i1xpMoKXu&6{lofD{-SP@uiTG@%l7bXThM%oT~OG z6J|QcowKDF#mRki^I z;gI2(5?n*5(F!sOZP*ylfVK$wT{9AG6QM+fr0k@t9-}wt0opSa$SpdgEX9&sz+RZr@Xgbk4@a7u zKP24QQmL3oLxf!)IW&z#%+hs;zI6-b#Cfq(@!?)eU&10Olvrsu5{XwxYezZq zMzuJTs6})nSqYJMd3FZG83cFBIMa_dTr{276y8X0e>#a7q`}nAk#rTJ3p`$S5!fx_ zE2BGgaP4Sv`-yTIX&OVVk@H=MO!;JTP1J_GQ3L1;dQBLVSD37Ix$_5oa>q3-&m|SAsV^3*BSN)y2Utf~_l_8JR8S|%l@`f95L|PG^jKF|_pY6u8w8`E40d!PQEyKKYf02~ zySURo(I0SD2na7@=(~d+_75_CQbdD25v(Oqf7cBLwbGqL1Y@QsN6;NUN7e3wip+FZ zQBvDubE3&~BE`;uV-K}e88Jf%j|b4LkuhEvtL+bH9tGCz)Sq};L$gO*mI%`=#%0zt z%$tU*reV=EEDsDG=&M9R{~Qr%tRaF1sYK$2$Tp%=N6gxYZXGdiBYJhjRU6T-BNlB$ ze^5s(+lWDhsHMV;jds0^)z-2~#jtX><+*GlMs>ujjlhkf&yPSFDYs*-t^_wAiz6(J zvcO<&#)F^hQskqUmqjlpRIcq@RZb-G)J!~R+RFMo@a>H8stp)&F&u`kgfm#pYw^&( zzUAo042C~vN+XAGE_Rokq<1z}wGq4Pe>BVWd#V&!n|A~R0LCjRg{&Eik-zMWm)P&Y z*$+UddGY6*;OVRTT2AeX~^1Y_IG09B;o__{j}_YolJ! zhGEC+bzI-Gn}uV0Sh%|V-S2D-!(-RJeqh_71}wZ`vv3fGhgXWlVfVlubcUP$q3yvp zeLomD{`oX13rOi_5ruLfR+n;YN{+@8zApfpj#Y}#9 zQ!5lB{X}KTv&zg!zpTxOyG+$h$={geuQqm}rRpywGZ!1F&niKU#8k{edKSyKNTa*G z)%QIfWTOO8Mpw4ChHq)NIxgVPK+f*^t{-S2zzCwOWA}FkHo0Sb_M2yaPwwNp4m!aQ z&_@W%Cc1{PNADaso*$r#MIvKH66Q-J1^au=f@N9PYCEM;DslL(mlO6vX1%(crP{NH zTpWc;a3Hm*oXU6lGD2mQ;4hW9lr9{_m`1UI#97ud1v-lb)-3c{rocT>UsET@p|@=4Q+E3UoHx2r&TdoVx<9p<$9xPH0pW@8?$=(4dmq2i^<3uT!mI>O_cvI zAhp}scn%&JBS@|VAhk8iudGXc6l=qR&x&Im$+C7^jaB1{%DPrTpRDX^*V?-)mPK0} z0WUSEr**wruh$!YW?5f#L1!^+w;LH%RUtRaU~8>XsaN!dVd@#l7ks@I`9f{XHr5nt z4PKkFl~1wOuI^e{<&|LTTE?L&_w`z^w(9ahAtiL6YcaEyO_dfZSGJi$-He|WSJ)^r zF|2u8iv{#lh zuzSvEz~sz-mv|F(sAkP9)y#@f#ZMWjWk<$H@uH@*4D>;zJTYqX6bZ4LCrFCmJjIIr zOCX*ugp1tBC)U%tQJ_fYMu8xu8wHBAZj5YH<6dB>Nby9Pc{>wH6qY8^q_tH}{m61D zNmw2toFwZa-JVtrrC^!}d^svDtOSaAcT2X-i%=MUm_V_}MmluBNYu4m_c|Ife%fcl zk=cM^chnb__F)SIS}R6d4$vV?=F&ql^pKP7t&Z#Ldjs2p6=*vMoi19x?!u`}7M+j! z@odrF0m`-v$0A>?b9m?;|9CXmvjYonoxob)t1Uc`^7Ctv2K>^Sfgjr45O3x{6JlX$U8&HEgZxc}vf2ixXFCa^_YOzru0Ro)Cq9 zX`g%z+$O5uiSu$KvGVi4jk=$xbY74efD-?LsVsmN^~ZeBTwD^et*sZ&twP6SNWDm& z+zPrxXqBFKVU$=j$VyXktL>fybizAtIYp-sYiWu)PoWka3CH!6{32rR0Z(!#}RYo<_+a{H_N{DB7nk8*Y875P>c8xAJgobtseh3GmACYlSYVG43*q3S8N_U{SfUIWGT>$$ z$Y{uj&V}@p^*rzc=PfAw!hVI6I~X$1J=Kl{j3mI0u%ScV&cTqTdGNyl&BFM9@#E>k z_XMx*jT{$VQ6kuZEj64OSJQvqnf&2o{OG~?XP-HYED(?}vJrkn!WQH4Y^ zPHzxL^oG$^;8Mo#Zlt!JaY225CfB7*-p8HQ{yz`LkKc*pq6VK+;Qj5hVioRU0?~NP z$;)`-_$>YNKRq44|Le&=K8j?bSrATyUq70qiG>Tqm%;@VU(ThBH*=?E1Ma45WZ0QX zmnl5J^^g$I@}z&u_o`?C~QeQ-+@Vldl-bOc7Immc7ZRC+DC2QR8lqfdl)nRB|4Eetz=d=Qm z7&M(B46w=)Eh1Ha$Q86sBakW!1I+G=yWq{* zthWbX^z43TnX5K<^rn@^2r7Zw%oDA^5M2 z0;gH{)o!cS*x9v=je4n7-!RK|WusAP?QB%cc57$HYLtvp`)$Y=^ow^_j&yVGSMLT+ zH}HpkKiurXD@=aB?{w|?-@R)T8__S{0h2337w!tEu~hl%{93ahoDlV~yFhJlT4Y3V z$bOM;`~OfDO9KQH000080EbTEK-sm<(EZEXe6c;YKunSu?BEC#!G;h(AKuZVD?w;=)E|;rU zuUtpD!~wNEVgR*>fPzWQtJ|bufV0z+LK!HOS)^_`9>E5<#uQY|{XLyhres}04bWuF zuRus^P3(VKwCMSmWaQinT#IF6(16qruvMo`jG61e5<*ANwQK^Ens-51w)X&-I<-xm znPMneTe@Wq-(v7AVsr=m6fb7A&c^Bc2F8m|QbK9l?(Kmn$cJs>jy z%9C**lLgJ7JdZV#2_aMg>62a|Kmiz&pCK>-@{`aZHUb$PlQ10|lO!S#8`-taDL4TD z02u-R02BZK000000096X0002zlTRWi8&fO?Rcs0X0M}0d01W^D000000096X0000` zlaV4i0UeXfA~pd;lLI3_0a24gBRl~)lYt{493obx>w*IS05u5!02lxO000000096X X0001G1e1US8k5)~5C+yC00000gV1hy From 41da88ef7c320575a988017f6ca47e37f76ec983 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 20 Oct 2022 09:13:55 +0800 Subject: [PATCH 109/109] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E8=AF=A6=E6=83=85/go?= =?UTF-8?q?v/project/icEvent/detail=E8=BA=AB=E4=BB=BD=E8=AF=81=E5=8F=B7?= =?UTF-8?q?=E8=84=B1=E6=95=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/IcEventController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java index 3eb4d8eefa..711e66623d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java @@ -275,6 +275,7 @@ public class IcEventController { * @Author sun * @Description 事件管理-详情 **/ + @MaskResponse(fieldNames = { "idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_ID_CARD }) @PostMapping("detail") public Result detail(@LoginUser TokenDto tokenDto, @RequestBody IcEventListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId());