智慧保安后台管理项目备份
zhongrj
2024-05-24 b5960d1968e007b91d4d33dd7cbb74f1b566f2c1
src/main/java/org/springblade/modules/investigate/Investigate.java
@@ -1,20 +1,25 @@
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.*;
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
@@ -104,8 +109,8 @@
      //查询用户数据,未删除的,未审核的
      List<User> users = userService.getNotAuditAllUserList();
      //遍历
      users.forEach(InvestigateUtil.consumerWithIndex((user,index) ->{
         if (null!=user.getCardid() && user.getCardid()!="") {
      users.forEach(InvestigateUtil.consumerWithIndex((user,index) -> {
         if (null != user.getCardid() && !user.getCardid().equals("")) {
            if (index == 1000) {
               try {
                  Thread.sleep(1000);
@@ -113,49 +118,73 @@
                  e.printStackTrace();
               }
            }
//            System.out.println("cardid = " + user.getCardid());
            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;
//            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);
            }
            //更新用户数据
            userService.updateById(user);
         }
      }));
      return R.data(users.size());
@@ -167,14 +196,83 @@
    * @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;
   }