智慧保安后台管理项目备份
zhongrj
2022-08-24 324860235dd32081f6c89c83efca92d7a3488b78
枪支定位报错修改,新增人员cardno判空处理
1 files modified
77 ■■■■ changed files
src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java 77 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springblade.common.utils.InvestigateUtil;
@@ -89,45 +90,47 @@
                String endTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
                //遍历
                gunList.forEach(gun -> {
                    //远程调用
                    String body = InvestigateUtil.httpGetGunPosition(gun.getCardNo(),null,startTime,endTime,null,null);
                    if (!StringUtils.isBlank(gun.getCardNo())) {
                        //远程调用
                        String body = InvestigateUtil.httpGetGunPosition(gun.getCardNo(), null, startTime, endTime, null, null);
//                    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");
                        //转换string
                        String resToString = res.toString();
                        if (res.length() == 0) {
                        } else {
                            LiveLocationVo locationVo = new LiveLocationVo();
                            List<GunLiveLocationVO> gunLiveLocationVOS = JSON.parseArray(resToString, GunLiveLocationVO.class);
                            //按时间排序(降序)
                            List<GunLiveLocationVO> gunLiveLocationVOList =
                                gunLiveLocationVOS.stream().sorted(Comparator.comparing(GunLiveLocationVO::getDwsj).reversed()).collect(Collectors.toList());
                            GunLiveLocationVO gunLiveLocationVO = gunLiveLocationVOList.get(0);
                            //取出第一个
                            locationVo.setRecordTime(gunLiveLocationVO.getDwsj());
                            locationVo.setLinkman(gunLiveLocationVO.getHwy());
                            locationVo.setCardNo(gunLiveLocationVO.getHwysfzh());
                            locationVo.setGunNum(gunLiveLocationVO.getQzbh());
                            locationVo.setNumber(gunLiveLocationVO.getQzxh());
                            locationVo.setQh(gunLiveLocationVO.getQh());
                            locationVo.setLongitude(gunLiveLocationVO.getDwjd().toString());
                            locationVo.setLatitude(gunLiveLocationVO.getDwwd().toString());
                            locationVo.setCompany(gunLiveLocationVO.getSzdw());
                            if (null!=gun.getIssueUnit() && !gun.getIssueUnit().equals("")){
                                locationVo.setIssueUnit(gun.getIssueUnit());
                        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");
                            //转换string
                            String resToString = res.toString();
                            if (res.length() == 0) {
                            } else {
                                LiveLocationVo locationVo = new LiveLocationVo();
                                List<GunLiveLocationVO> gunLiveLocationVOS = JSON.parseArray(resToString, GunLiveLocationVO.class);
                                //按时间排序(降序)
                                List<GunLiveLocationVO> gunLiveLocationVOList =
                                    gunLiveLocationVOS.stream().sorted(Comparator.comparing(GunLiveLocationVO::getDwsj).reversed()).collect(Collectors.toList());
                                GunLiveLocationVO gunLiveLocationVO = gunLiveLocationVOList.get(0);
                                //取出第一个
                                locationVo.setRecordTime(gunLiveLocationVO.getDwsj());
                                locationVo.setLinkman(gunLiveLocationVO.getHwy());
                                locationVo.setCardNo(gunLiveLocationVO.getHwysfzh());
                                locationVo.setGunNum(gunLiveLocationVO.getQzbh());
                                locationVo.setNumber(gunLiveLocationVO.getQzxh());
                                locationVo.setQh(gunLiveLocationVO.getQh());
                                locationVo.setLongitude(gunLiveLocationVO.getDwjd().toString());
                                locationVo.setLatitude(gunLiveLocationVO.getDwwd().toString());
                                locationVo.setCompany(gunLiveLocationVO.getSzdw());
                                if (null != gun.getIssueUnit() && !gun.getIssueUnit().equals("")) {
                                    locationVo.setIssueUnit(gun.getIssueUnit());
                                }
                                if (null != gun.getIssueTime() && !gun.getIssueTime().equals("")) {
                                    locationVo.setIssueTime(gun.getIssueTime());
                                }
                                if (null != gun.getValidTime() && !gun.getValidTime().equals("")) {
                                    locationVo.setValidTime(gun.getValidTime());
                                }
                                //存入集合
                                list.add(locationVo);
                            }
                            if (null!=gun.getIssueTime() && !gun.getIssueTime().equals("")){
                                locationVo.setIssueTime(gun.getIssueTime());
                            }
                            if (null!=gun.getValidTime() && !gun.getValidTime().equals("")){
                                locationVo.setValidTime(gun.getValidTime());
                            }
                            //存入集合
                            list.add(locationVo);
                        }
                    }
                });