package org.springblade.modules.investigate; import com.alibaba.druid.support.json.JSONUtils; 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.core.tool.jackson.JsonUtil; import org.springblade.modules.system.entity.User; import org.springblade.modules.system.service.IUserService; import org.springframework.retry.backoff.Sleeper; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.function.BiConsumer; import java.util.function.Consumer; /** * @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 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.setExaminationType("0"); // }else { // user.setExaminationType("1"); // user.setExaminationMx(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 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"); if (res.length() == 0) { //没有数据正常 user.setExaminationType("0"); } else { int count = 0; user.setExaminationType("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.setExaminationMx(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.setExaminationMx(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.setExaminationMx(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.setExaminationMx(res.getJSONObject(i).get("ajlbmc").toString()); // //更新用户数据 // userService.updateById(user); // break; // } count++; //条件中的数据都为空,则审查为正常 if (count==res.length()){ //更新用户数据,设为正常 user.setExaminationType("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.setExaminationMx(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.setExaminationMx(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.setExaminationMx(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.setExaminationMx(res.getJSONObject(i).get("ajlbmc").toString()); // //更新用户数据 // userService.updateById(user); // break; // } } return R.data(user); } return null; } }