doum
17 小时以前 d4e8aa814b95a4b727d9ec9c88669e536ce54635
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCustomerServiceImpl.java
@@ -111,6 +111,12 @@
                .set(JkCustomer::getLatitude,jkCustomer.getLatitude())
                .set(JkCustomer::getLongitude,jkCustomer.getLongitude())
                .set(JkCustomer::getEditor,jkCustomer.getLoginUserInfo().getId())
                .set(JkCustomer::getStartDistance,null)
                .set(JkCustomer::getEndDistance,null)
                .set(JkCustomer::getStartSteps,null)
                .set(JkCustomer::getEndSteps,null)
                .set(JkCustomer::getDistanceStatus,Constants.ZERO)
                .set(JkCustomer::getDistance,null)
                .set(JkCustomer::getEditDate,new Date())
                .eq(JkCustomer::getId,jkCustomer.getId())
        );
@@ -233,14 +239,14 @@
        if(importing!=null && importing){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,上次任务正在执行中,请稍后再试!");
        }
        redisTemplate.opsForValue().set(Constants.RedisKeys.CHECKING_JKCUSTOMER_LOCATION,true);
        redisTemplate.opsForValue().set(Constants.RedisKeys.CHECKING_JKCUSTOMER_LOCATION,true,60,TimeUnit.MINUTES);
        try {
            LambdaQueryWrapper<JkCustomer> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.isNotNull(JkCustomer::getLocation);
            queryWrapper.isNotNull(JkCustomer::getLocation);
            queryWrapper.and(wrapper ->{
                wrapper.isNull(JkCustomer::getLatitude)
                        .or().isNull(JkCustomer::getLongitude); });
                        .or().isNull(JkCustomer::getLongitude)
                        .or().eq(JkCustomer::getDistanceStatus,Constants.TWO);});
            //查询全部有地址,但是没有经纬度的客户信息
            List<JkCustomer>  list = jkCustomerMapper.selectList(queryWrapper);
            if(list ==null || list.size()==0){
@@ -249,8 +255,9 @@
            String url = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.GAODE_LOCATION_GEOAPI_URL).getCode();
            for(JkCustomer c : list){
                try {
                    String addr =c.getLocation().replaceAll("[^a-zA-Z0-9\\u4e00-\\u9fa5]", "");
                    String urlStr =url.replace("${param}"
                            ,c.getLocation().replaceAll("[^a-zA-Z0-9\\u4e00-\\u9fa5]", ""));
                            ,addr);
                    String result = HttpsUtil.get(urlStr,true);
                    JSONObject json = JSONObject.parseObject(result);
                    if(json!=null
@@ -269,13 +276,18 @@
                            jkCustomerMapper.update(null,new UpdateWrapper<JkCustomer>().lambda()
                                    .set(JkCustomer::getLatitude,c.getLatitude())
                                    .set(JkCustomer::getLongitude,c.getLongitude())
                                    .set(JkCustomer::getStartDistance,null)
                                    .set(JkCustomer::getEndDistance,null)
                                    .set(JkCustomer::getStartSteps,null)
                                    .set(JkCustomer::getEndSteps,null)
                                    .set(JkCustomer::getDistanceStatus,Constants.ZERO)
                                    .set(JkCustomer::getDistance,null)
                                    .set(JkCustomer::getEditDate,new Date())
                                    .eq(JkCustomer::getId,c.getId())
                            );
                        }
                    }else{
                        log.error("更新交控中心客户经纬度信息=====获取json=========="+json);
                        log.error("更新交控中心客户经纬度信息=====获取失败=========="+urlStr+c.getName()+"-"+c.getLocation());
                        log.error("更新交控中心客户经纬度信息=====获取json=========="+urlStr+"\n"+c.getName()+"\n"+json);
                    }
                }catch (Exception e){
                    log.error("更新交控中心客户经纬度信息=====失败=========="+c.getName()+"-"+c.getLocation());
@@ -394,10 +406,17 @@
            tModel.setCreator(loginUserInfo.getId());
            tModel.setCreateDate(new Date());
            tModel.setIsnew(Constants.ONE);
            tModel.setDistanceStatus(Constants.TWO);//需要重新定位
            tModel.setStatus(Constants.ZERO);
            tModel.setDistanceStatus(Constants.ZERO);
            newList.add(tModel);
        }else{
            if(StringUtils.isBlank(model.getLocation()) ||
                    StringUtils.equals(tModel.getLocation().replaceAll("[^a-zA-Z0-9\\u4e00-\\u9fa5]","")
                    ,model.getLocation().replaceAll("[^a-zA-Z0-9\\u4e00-\\u9fa5]",""))){
                //如果位置信息发生变化
                tModel.setDistanceStatus(Constants.TWO);//需要重新定位
            }
            tModel.setIsnew(Constants.ZERO);
            updateList.add(tModel);
        }