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 { 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() != "") { 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() != "") { 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() != "") { 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; } } } //更新用户数据 userService.updateById(user); } })); return R.data(users.size()); } /** * 数据反向测试 * @param body 数据反向测试 * @return */ @PostMapping("/investigate/testBody") public String testBody(@RequestBody String body){ JSONObject jsonObject = new JSONObject(body); Object data = jsonObject.get("data"); JSONObject jsonData = new JSONObject(data.toString()); JSONArray jsonArray = jsonData.getJSONArray("res"); if (jsonArray.length()>0){ String zdxsfzqkry = jsonArray.getJSONObject(0).get("zdxsfzqkry").toString(); return zdxsfzqkry; } return null; } }