From 24797ef3f03b3b59f9ddced9a7d4962a7efc413c Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 01 Nov 2021 09:05:09 +0800
Subject: [PATCH] 资格审查内网穿透
---
src/main/java/org/springblade/common/config/BladeConfiguration.java | 1
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml | 19 ++
src/main/java/org/springblade/modules/investigate/Investigate.java | 236 +++++++++++++++++++++++++++++++++
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | 9 +
src/main/java/org/springblade/common/utils/InvestigateUtil.java | 93 +++++++++++++
src/main/resources/application-dev.yml | 6
src/main/java/org/springblade/modules/system/entity/User.java | 14 ++
src/main/java/org/springblade/modules/system/mapper/UserMapper.java | 6
src/main/java/org/springblade/modules/system/service/IUserService.java | 6
9 files changed, 386 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/springblade/common/config/BladeConfiguration.java b/src/main/java/org/springblade/common/config/BladeConfiguration.java
index 610bb6b..e81bf16 100644
--- a/src/main/java/org/springblade/common/config/BladeConfiguration.java
+++ b/src/main/java/org/springblade/common/config/BladeConfiguration.java
@@ -100,6 +100,7 @@
secureRegistry.excludePathPatterns("/likes/**");
secureRegistry.excludePathPatterns("/comment/**");
secureRegistry.excludePathPatterns("/collect/**");
+ secureRegistry.excludePathPatterns("/investigate/**");
return secureRegistry;
}
diff --git a/src/main/java/org/springblade/common/utils/InvestigateUtil.java b/src/main/java/org/springblade/common/utils/InvestigateUtil.java
new file mode 100644
index 0000000..7951167
--- /dev/null
+++ b/src/main/java/org/springblade/common/utils/InvestigateUtil.java
@@ -0,0 +1,93 @@
+package org.springblade.common.utils;
+
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+
+import java.util.function.BiConsumer;
+import java.util.function.Consumer;
+
+/**
+ * @author zhongrj
+ * @date 2021-08-12
+ */
+public class InvestigateUtil {
+
+ /**
+ * 人员审查
+ * @param idCardNo 人员身份证号
+ * @return
+ */
+ public static String httpGet(String idCardNo,Integer pageNum,Integer pageSize) {
+ OkHttpClient client = new OkHttpClient();
+ Request request = new Request.Builder()
+ .url("http://47.49.27.44:8000/dbapi/dmc_bjhc?page_num="+pageNum+"&page_size="+pageSize+"&sfzh="+idCardNo)
+ .get()
+ .addHeader("Authorization","Bearer eyJ0eXAiOiJqd3QiLCJhbGciOiJIUzI1NiIsInVjIjoiMzYwNjAyMTk4OTA3MDgxMDE4IiwidG9rZW5fdHlwZSI6MX0.eyJpc3MiOiJITGdGVGYwZWwwNTRDYlNWNUptMUY1eXA3UjRWNnpuMyIsImlhdCI6MTYyOTc5NDk4MH0.KOyEdkXDc5FP98KFLYOBnDgthJZF6VDOxJvlYFrXmrA")
+ .build();
+ try{
+ Response response = client.newCall(request).execute();
+ return response.body().string();
+ } catch(Exception e) {
+
+ }
+ return null;
+ }
+
+ /**
+ * 人员审查
+ * @param idCardNo 人员身份证号
+ * @return
+ */
+ public static String httpGetOne(String idCardNo) {
+ OkHttpClient client = new OkHttpClient();
+ Request request = new Request.Builder()
+ .url("http://47.49.27.44:8000/dbapi/dmc_bjhc?page_num=1&page_size=1000&sfzh="+idCardNo)
+ .get()
+ .addHeader("Authorization","Bearer eyJ0eXAiOiJqd3QiLCJhbGciOiJIUzI1NiIsInVjIjoiMzYwNjAyMTk4OTA3MDgxMDE4IiwidG9rZW5fdHlwZSI6MX0.eyJpc3MiOiJITGdGVGYwZWwwNTRDYlNWNUptMUY1eXA3UjRWNnpuMyIsImlhdCI6MTYyOTc5NDk4MH0.KOyEdkXDc5FP98KFLYOBnDgthJZF6VDOxJvlYFrXmrA")
+ .build();
+ try{
+ Response response = client.newCall(request).execute();
+ return response.body().string();
+ } catch(Exception e) {
+
+ }
+ return null;
+ }
+
+ /**
+ * 枪支定位
+ * @param idCardNo 护卫员身份证号
+ * @param deptName 所在单位名称
+ * @param startTime 定位开始时间
+ * @param endTime 定位结束时间
+ */
+ public static String httpGetGunPosition(String idCardNo,String deptName,String startTime,String endTime,Integer pageNum,Integer pageSize) {
+ OkHttpClient client = new OkHttpClient();
+ Request request = new Request.Builder()
+ .url("http://47.49.27.44:8000/dbapi/dmc_qzdw?page_num="+pageNum+"&page_size="+pageSize+"&hwysfzh="+idCardNo+"&szdw="+deptName+"&kssj="+startTime+"&jssj="+endTime)
+ .get()
+ .addHeader("Authorization","Bearer eyJ0eXAiOiJqd3QiLCJhbGciOiJIUzI1NiIsInVjIjoiMzYwNjAyMTk4OTA3MDgxMDE4IiwidG9rZW5fdHlwZSI6MX0.eyJpc3MiOiI3aWN5MXplc3N2eVBPVlJKUVk2aHpPRTJhc0JMdkw1MyIsImlhdCI6MTYyOTI1MTMzOX0.DLasFawQHexpRBFORQU64tbSR_n76bpway42GfIwPf4")
+ .build();
+ try{
+ Response response = client.newCall(request).execute();
+ return response.body().string();
+ } catch(Exception e) {
+
+ }
+ return null;
+ }
+
+
+ // 工具方法
+ public static <T> Consumer<T> consumerWithIndex(BiConsumer<T, Integer> consumer) {
+ class Obj {
+ int i;
+ }
+ Obj obj = new Obj();
+ return t -> {
+ int index = obj.i++;
+ consumer.accept(t, index);
+ };
+ }
+}
diff --git a/src/main/java/org/springblade/modules/investigate/Investigate.java b/src/main/java/org/springblade/modules/investigate/Investigate.java
new file mode 100644
index 0000000..fa9e102
--- /dev/null
+++ b/src/main/java/org/springblade/modules/investigate/Investigate.java
@@ -0,0 +1,236 @@
+package org.springblade.modules.investigate;
+
+import lombok.AllArgsConstructor;
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.springblade.common.utils.InvestigateUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IUserService;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author zhongrj
+ *
+ * 资格审核测试接口
+ */
+@RestController
+@AllArgsConstructor
+public class Investigate {
+
+ private final IUserService userService;
+
+ /**
+ * 单个人员审查
+ * @param idCardNo 身份证号码
+ * @return
+ */
+ @GetMapping("/investigate")
+ public String getInvestigate(String idCardNo,
+ @RequestParam(defaultValue = "1")Integer pageNum,
+ @RequestParam(defaultValue = "10")Integer pageSize){
+ return InvestigateUtil.httpGetOne(idCardNo);
+ }
+
+ /**
+ * 枪支定位
+ * @param idCardNo 护卫员身份证号
+ * @param deptName 所在单位名称
+ * @param startTime 定位开始时间
+ * @param endTime 定位结束时间
+ */
+ @GetMapping("/investigate/gun")
+ public String getInvestigateGun(String idCardNo,
+ String deptName,
+ String startTime,
+ String endTime,
+ @RequestParam(defaultValue = "1")Integer pageNum,
+ @RequestParam(defaultValue = "10")Integer pageSize){
+ return InvestigateUtil.httpGetGunPosition(idCardNo,deptName,startTime,endTime,pageNum,pageSize);
+ }
+
+
+
+
+// /**
+// *
+// * @return
+// */
+// @GetMapping("/investigate/byUser")
+// public R investigateByUser(){
+// //查询用户数据,未删除的
+// List<User> users = userService.getAllUserList();
+// //遍历
+// users.forEach(InvestigateUtil.consumerWithIndex((user,index) ->{
+// if (index==80){
+// try {
+// Thread.sleep(500);
+// } catch (InterruptedException e) {
+// e.printStackTrace();
+// }
+// }
+// String body = InvestigateUtil.httpGet(user.getCardid());
+// JSONObject jsonObject = new JSONObject(body);
+// Object data = jsonObject.get("data");
+// JSONObject jsonData = new JSONObject(data.toString());
+// JSONArray res = jsonData.getJSONArray("res");
+// if (res.length()==0){
+// //没有数据正常
+// user.setExamination_type("0");
+// }else {
+// user.setExamination_type("1");
+// user.setExamination_mx(res.getJSONObject(0).get("zdxsfzqkry").toString());
+// }
+// //更新用户数据
+// userService.updateById(user);
+// }));
+// return R.data(users.size());
+// }
+
+ /**
+ * 人员审查
+ * @return
+ */
+ @GetMapping("/investigate/byUser")
+ public R investigateByUser(@RequestParam(defaultValue = "1") Integer pageNum,
+ @RequestParam(defaultValue = "1000")Integer pageSize){
+ //查询用户数据,未删除的,未审核的
+ List<User> users = userService.getNotAuditAllUserList();
+ //遍历
+ users.forEach(InvestigateUtil.consumerWithIndex((user,index) ->{
+ if (null!=user.getCardid() && user.getCardid()!="") {
+ if (index == 1000) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+ String body = InvestigateUtil.httpGetOne(user.getCardid());
+ JSONObject jsonObject = new JSONObject(body);
+ Object data = jsonObject.get("data");
+ JSONObject jsonData = new JSONObject(data.toString());
+ JSONArray res = jsonData.getJSONArray("res");
+ //设置审核时间
+ user.setAuditTime(new Date());
+ if (res.length() == 0) {
+ //没有数据正常
+ user.setExamination_type("0");
+ } else {
+ int count = 0;
+ user.setExamination_type("1");
+ for (int i = 0; i < res.length(); i++) {
+ if (res.getJSONObject(i).get("zdrylbjh").toString() != null
+ && res.getJSONObject(i).get("zdrylbjh").toString() != ""
+ && res.getJSONObject(i).get("zdrylbjh").toString() != "null"
+ ) {
+ user.setExamination_mx(res.getJSONObject(i).get("zdrylbjh").toString());
+ //更新用户数据
+ userService.updateById(user);
+ break;
+ }
+ if (res.getJSONObject(i).get("zdryxlmc").toString() != null
+ && res.getJSONObject(i).get("zdryxlmc").toString() != ""
+ && res.getJSONObject(i).get("zdryxlmc").toString() != "null"
+ ) {
+ user.setExamination_mx(res.getJSONObject(i).get("zdryxlmc").toString());
+ //更新用户数据
+ userService.updateById(user);
+ break;
+ }
+ if (res.getJSONObject(i).get("ztrylx").toString() != null
+ && res.getJSONObject(i).get("ztrylx").toString() != ""
+ && res.getJSONObject(i).get("ztrylx").toString() != "null"
+ ) {
+ user.setExamination_mx(res.getJSONObject(i).get("ztrylx").toString());
+ //更新用户数据
+ userService.updateById(user);
+ break;
+ }
+// if (res.getJSONObject(i).get("ajlbmc").toString() != null
+// && res.getJSONObject(i).get("ajlbmc").toString() != "") {
+// user.setExamination_mx(res.getJSONObject(i).get("ajlbmc").toString());
+// //更新用户数据
+// userService.updateById(user);
+// break;
+// }
+ count++;
+ //条件中的数据都为空,则审查为正常
+ if (count==res.length()){
+ //更新用户数据,设为正常
+ user.setExamination_type("0");
+ userService.updateById(user);
+ }
+ }
+ }
+ //更新用户数据
+ userService.updateById(user);
+ }
+ }));
+ return R.data(users.size());
+ }
+
+ /**
+ * 数据反向测试
+ * @param body 数据反向测试
+ * @return
+ */
+ @PostMapping("/investigate/testBody")
+ public R testBody(@RequestBody String body){
+ JSONObject jsonObject = new JSONObject(body);
+ Object data = jsonObject.get("data");
+ JSONObject jsonData = new JSONObject(data.toString());
+ JSONArray res = jsonData.getJSONArray("res");
+ User user = new User();
+ if (res.length()>0){
+// String zdxsfzqkry = res.getJSONObject(0).get("zdxsfzqkry").toString();
+ int count = 0;
+ for (int i = 0; i < res.length(); i++) {
+ System.out.println("res.length() =" + res.length());
+ if (res.getJSONObject(i).get("zdrylbjh").toString() != null
+ && res.getJSONObject(i).get("zdrylbjh").toString() != ""
+ && res.getJSONObject(i).get("zdrylbjh").toString() != "null"
+ ) {
+ user.setExamination_mx(res.getJSONObject(i).get("zdrylbjh").toString());
+ //更新用户数据
+ userService.updateById(user);
+ break;
+ }
+ if (res.getJSONObject(i).get("zdryxlmc").toString() != null
+ && res.getJSONObject(i).get("zdryxlmc").toString() != ""
+ && res.getJSONObject(i).get("zdryxlmc").toString() != "null"
+ ) {
+ user.setExamination_mx(res.getJSONObject(i).get("zdryxlmc").toString());
+ //更新用户数据
+ userService.updateById(user);
+ break;
+ }
+ if (res.getJSONObject(i).get("ztrylx").toString() != null
+ && res.getJSONObject(i).get("ztrylx").toString() != ""
+ && res.getJSONObject(i).get("ztrylx").toString() != "null"
+ ) {
+ user.setExamination_mx(res.getJSONObject(i).get("ztrylx").toString());
+ //更新用户数据
+ userService.updateById(user);
+ break;
+ }
+ count++;
+ System.out.println("count = " + count);
+// if (res.getJSONObject(i).get("ajlbmc").toString() != null
+// && res.getJSONObject(i).get("ajlbmc").toString() != ""
+// && res.getJSONObject(i).get("ajlbmc").toString() != "null"
+// ) {
+// user.setExamination_mx(res.getJSONObject(i).get("ajlbmc").toString());
+// //更新用户数据
+// userService.updateById(user);
+// break;
+// }
+ }
+ return R.data(user);
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/org/springblade/modules/system/entity/User.java b/src/main/java/org/springblade/modules/system/entity/User.java
index 70562a7..4cd92e3 100644
--- a/src/main/java/org/springblade/modules/system/entity/User.java
+++ b/src/main/java/org/springblade/modules/system/entity/User.java
@@ -23,6 +23,7 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
+import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@@ -117,4 +118,17 @@
@ApiModelProperty(value = "行政区")
private String district;
+ /**
+ * 审查时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField("audit_time")
+ private Date auditTime;
+
+ /**
+ * 身份证号
+ */
+ private String cardid;
+
}
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
index 04c9c93..5727b62 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -110,4 +110,10 @@
List<UserDistrictStatisVO> getUserDistrictTypeCount();
+ /**
+ * 查询用户数据,未删除的,未审核的
+ * @return
+ */
+ List<User> getNotAuditAllUserList();
+
}
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index 83cf1b4..3c355ba 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -29,6 +29,8 @@
<result column="work_status" property="work_status"/>
<result column="examination_type" property="examination_type"/>
<result column="examination_mx" property="examination_mx"/>
+ <result column="audit_time" property="auditTime"/>
+ <result column="cardid" property="cardid"/>
<result column="district" property="district"/>
</resultMap>
<resultMap id="userResultMaps" type="org.springblade.modules.system.vo.UsersVo">
@@ -60,6 +62,8 @@
<result column="examination_type" property="examination_type"/>
<result column="examination_mx" property="examination_mx"/>
<result column="dept_name" property="deptName"/>
+ <result column="audit_time" property="auditTime"/>
+ <result column="cardid" property="cardid"/>
</resultMap>
<select id="selectUserPage" resultMap="userResultMap">
@@ -105,7 +109,7 @@
blade_role br
on
s.role_id=br.id
- where s.is_deleted = 0 and br.role_alias ='qfqkdw'
+ where s.is_deleted = 0
<if test="user.account!=null and user.account != ''">
and s.account = #{user.account}
</if>
@@ -213,8 +217,7 @@
on
bu.role_id=br.id
where
- br.role_alias ='qfqkdw'
- and bu.is_deleted=0
+ bu.is_deleted=0
<if test="user.realName!=null and user.realName !=''">
<bind name="realName" value="'%'+user.realName+'%'"/>
and bu.real_name like #{realName}
@@ -325,4 +328,14 @@
GROUP BY
bu.district
</select>
+
+
+ <!--查询用户数据,未审核的-->
+ <select id="getNotAuditAllUserList" resultType="org.springblade.modules.system.entity.User">
+ select id, cardid
+ from blade_user
+ where examination_type is null
+ </select>
+
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/IUserService.java b/src/main/java/org/springblade/modules/system/service/IUserService.java
index 6952a57..ecc3c0f 100644
--- a/src/main/java/org/springblade/modules/system/service/IUserService.java
+++ b/src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -270,4 +270,10 @@
List<UserRegisterStatisVO> getUserTypeCount();
List<UserDistrictStatisVO> getUserDistrictTypeCount();
+
+ /**
+ * 查询用户数据,未删除的,未审核的
+ * @return
+ */
+ List<User> getNotAuditAllUserList();
}
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index ce2e8f7..ad9614f 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -506,4 +506,13 @@
public List<UserDistrictStatisVO> getUserDistrictTypeCount() {
return baseMapper.getUserDistrictTypeCount();
}
+
+ /**
+ * 查询用户数据,未删除的,未审核的
+ * @return
+ */
+ @Override
+ public List<User> getNotAuditAllUserList() {
+ return baseMapper.getNotAuditAllUserList();
+ }
}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index ff900ce..00b656d 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -21,7 +21,11 @@
# username: root
# password: zhba0728
- url: jdbc:mysql://223.82.109.183:2083/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+# url: jdbc:mysql://223.82.109.183:2083/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+# username: root
+# password: zhba0728
+
+ url: jdbc:mysql://47.49.36.191:3306/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
username: root
password: zhba0728
--
Gitblit v1.9.3