| | |
| | | package org.springblade.modules.investigate; |
| | | |
| | | import com.alibaba.druid.support.json.JSONUtils; |
| | | import com.alibaba.fastjson.JSON; |
| | | 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.location.vo.GunLiveLocationVO; |
| | | 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.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Comparator; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.function.BiConsumer; |
| | | import java.util.function.Consumer; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @author zhongrj |
| | |
| | | private final IUserService userService; |
| | | |
| | | /** |
| | | * |
| | | * 单个人员审查 |
| | | * @param idCardNo 身份证号码 |
| | | * @return |
| | | */ |
| | | @GetMapping("/investigate") |
| | | public String getInvestigate(String idCardNo){ |
| | | System.out.println("idCardNo = " + idCardNo); |
| | | return InvestigateUtil.httpGet(idCardNo); |
| | | 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.setExaminationType("0"); |
| | | // }else { |
| | | // user.setExaminationType("1"); |
| | | // user.setExaminationMx(res.getJSONObject(0).get("zdxsfzqkry").toString()); |
| | | // } |
| | | // //更新用户数据 |
| | | // userService.updateById(user); |
| | | // })); |
| | | // return R.data(users.size()); |
| | | // } |
| | | |
| | | /** |
| | | * |
| | | * @param idCardNo 身份证号码 |
| | | * 人员审查 |
| | | * @return |
| | | */ |
| | | @GetMapping("/investigate/byUser") |
| | | public R investigateByUser(){ |
| | | //查询用户数据,未删除的 |
| | | List<User> users = userService.getAllUserList(); |
| | | 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 (index==99){ |
| | | try { |
| | | Thread.sleep(1000); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | users.forEach(InvestigateUtil.consumerWithIndex((user,index) -> { |
| | | if (null != user.getCardid() && !user.getCardid().equals("")) { |
| | | if (index == 1000) { |
| | | try { |
| | | Thread.sleep(1000); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | // System.out.println("cardid = " + user.getCardid()); |
| | | String body = InvestigateUtil.httpGetOne(user.getCardid()); |
| | | // System.out.println("body = " + body); |
| | | if (null != body && !body.equals("")) { |
| | | 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.setExaminationType("0"); |
| | | // System.out.println("审查正常:user.getExaminationType() = " + user.getExaminationType()); |
| | | } else { |
| | | int count = 0; |
| | | user.setExaminationType("1"); |
| | | // System.out.println("审查异常:user.getExaminationType() = " + user.getExaminationType()); |
| | | |
| | | 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"); |
| | | // System.out.println("审查有数据,数据为空 = user.getExaminationType() " + user.getExaminationType()); |
| | | userService.updateById(user); |
| | | } |
| | | } |
| | | } |
| | | //更新用户数据 |
| | | userService.updateById(user); |
| | | } |
| | | } |
| | | 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 |
| | | */ |
| | | @PostMapping("/investigate/testBody") |
| | | public String testBody(@RequestBody String body){ |
| | | public R 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; |
| | | 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; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 数据反向测试 -- 枪支 |
| | | * @param body 数据反向测试 |
| | | * @return |
| | | */ |
| | | @PostMapping("/investigate/testBodyGun") |
| | | public R testBodyGun(@RequestBody String body){ |
| | | JSONObject jsonObject = new JSONObject(body); |
| | | Object data = jsonObject.get("data"); |
| | | JSONObject jsonData = new JSONObject(data.toString()); |
| | | JSONArray res = jsonData.getJSONArray("res"); |
| | | //转换string |
| | | String resToString = res.toString(); |
| | | if (res.length()>0){ |
| | | List<GunLiveLocationVO> gunLiveLocationVOS = JSON.parseArray(resToString, GunLiveLocationVO.class); |
| | | System.out.println("gunLiveLocationVOS = " + gunLiveLocationVOS); |
| | | //按时间排序(reversed降序) |
| | | List<GunLiveLocationVO> gunLiveLocationVOList = |
| | | gunLiveLocationVOS.stream().sorted(Comparator.comparing(GunLiveLocationVO::getDwsj).reversed()).collect(Collectors.toList()); |
| | | GunLiveLocationVO gunLiveLocationVO = gunLiveLocationVOList.get(0); |
| | | System.out.println("gunLiveLocationVO = " + gunLiveLocationVO); |
| | | } |
| | | return null; |
| | | } |