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.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; 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){ System.out.println("idCardNo = " + idCardNo); return InvestigateUtil.httpGet(idCardNo); } /** * * @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()); } /** * 数据反向测试 * @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; } }