diff --git a/src/main/java/com/xkrs/controller/DispatchFirePointController.java b/src/main/java/com/xkrs/controller/DispatchFirePointController.java index 8dec24b..5d0790f 100644 --- a/src/main/java/com/xkrs/controller/DispatchFirePointController.java +++ b/src/main/java/com/xkrs/controller/DispatchFirePointController.java @@ -5,22 +5,29 @@ import com.xkrs.dao.FirePointOrdinaryDao; import com.xkrs.dao.StreetDao; import com.xkrs.dao.SysUserDao; import com.xkrs.fireseason.FireSeasonConfigService; -import com.xkrs.model.entity.SysUserEntity; +import com.xkrs.model.bean.AddressBean; +import com.xkrs.model.entity.FirePointOrdinaryEntity; import com.xkrs.model.qo.AllFirePointQo; import com.xkrs.model.qo.UpdateFirePointQo; import com.xkrs.service.DispatchFirePointService; import com.xkrs.service.impl.FirePointServiceImpl; -import com.xkrs.utilsnew.SMSUtils; +import com.xkrs.utilsnew.FirePointAddressUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.i18n.LocaleContextHolder; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; +import org.springframework.data.jpa.domain.Specification; 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 javax.annotation.Resource; -import java.util.*; +import javax.persistence.criteria.Predicate; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; import static com.xkrs.common.encapsulation.OutputEncapsulation.outputEncapsulationObject; @@ -75,33 +82,74 @@ public class DispatchFirePointController { // } //群发短信-start - int groupCount = 50; - List sysUserList = sysUserDao.findAll(); - Map> sysUserMap = new HashMap<>(); - for (int i = 0; i < sysUserList.size(); i++) { - SysUserEntity sysUser = sysUserList.get(i); - int groupIndex = i / groupCount; - if (sysUserMap.containsKey(groupIndex)) { - List groupSysUserList = sysUserMap.get(groupIndex); - groupSysUserList.add(sysUser); - } else { - List groupSysUserList = new ArrayList<>(); - groupSysUserList.add(sysUser); - sysUserMap.put(groupIndex, groupSysUserList); - } - } - for (Map.Entry> entry : sysUserMap.entrySet()) { - List smsReceiverList = entry.getValue(); - String[] telephoneArray = new String[smsReceiverList.size()]; - for (int i = 0; i < smsReceiverList.size(); i++) { - telephoneArray[i] = "86" + smsReceiverList.get(i).getUserName(); - } - int resValue = SMSUtils.sendSmsToUser(telephoneArray, "1932636", new String[]{}); - System.out.println("resValue = " + resValue); - } +// int groupCount = 50; +// List sysUserList = sysUserDao.findAll(); +// Map> sysUserMap = new HashMap<>(); +// for (int i = 0; i < sysUserList.size(); i++) { +// SysUserEntity sysUser = sysUserList.get(i); +// int groupIndex = i / groupCount; +// if (sysUserMap.containsKey(groupIndex)) { +// List groupSysUserList = sysUserMap.get(groupIndex); +// groupSysUserList.add(sysUser); +// } else { +// List groupSysUserList = new ArrayList<>(); +// groupSysUserList.add(sysUser); +// sysUserMap.put(groupIndex, groupSysUserList); +// } +// } +// for (Map.Entry> entry : sysUserMap.entrySet()) { +// List smsReceiverList = entry.getValue(); +// String[] telephoneArray = new String[smsReceiverList.size()]; +// for (int i = 0; i < smsReceiverList.size(); i++) { +// telephoneArray[i] = "86" + smsReceiverList.get(i).getUserName(); +// } +// int resValue = SMSUtils.sendSmsToUser(telephoneArray, "1932636", new String[]{}); +// System.out.println("resValue = " + resValue); +// } // int resValue = SMSUtils.sendSmsToUser(new String[]{"8615764226530"}, "1932636", new String[]{}); // System.out.println("resValue = " + resValue); //群发短信-end + //使用天地图反查填补历史数据-start + System.out.println("开始解析"); + while (true) { + //查询未审核的普通火点 + Specification specificationOrdinary = (root, criteriaQuery, criteriaBuilder) -> { + List predicateList = new ArrayList<>(); + predicateList.add(criteriaBuilder.isNull(root.get("townCode").as(String.class))); + predicateList.add(criteriaBuilder.equal(root.get("townCode").as(String.class), "")); + predicateList.add(criteriaBuilder.isNull(root.get("townName").as(String.class))); + predicateList.add(criteriaBuilder.equal(root.get("townName").as(String.class), "")); + predicateList.add(criteriaBuilder.isNull(root.get("firePointAddress").as(String.class))); + predicateList.add(criteriaBuilder.equal(root.get("firePointAddress").as(String.class), "")); + return criteriaBuilder.or(predicateList.toArray(new Predicate[predicateList.size()])); + }; + //未审核的普通火点列表 + PageRequest pageRequest = PageRequest.of(1, 1000, Sort.by(Sort.Direction.DESC, "satelliteTime")); + List list = firePointOrdinaryDao.findAll(specificationOrdinary, pageRequest).getContent(); + if (list.isEmpty()) { + break; + } + for (FirePointOrdinaryEntity item : list) { + AddressBean addressBean = FirePointAddressUtils.analysisWithNetwork(item.getLongitude(), item.getLatitude()); + if (addressBean.isSuccess()) { + //使用网络方式解析地址信息成功,就对实体类对象赋值入库。 + item.setProCode(addressBean.getProCode()); + item.setProName(addressBean.getProName()); + item.setCityCode(addressBean.getCityCode()); + item.setCityName(addressBean.getCityName()); + item.setCountyCode(addressBean.getCountyCode()); + item.setCountyName(addressBean.getCountyName()); + item.setTownCode(addressBean.getTownCode()); + item.setTownName(addressBean.getTownName()); + item.setFirePointAddress(addressBean.getFirePointAddress()); + firePointOrdinaryDao.saveAndFlush(item); + System.out.println("解析成功"); + } else { + System.out.println("解析失败" + item.getId()); + } + } + } + //使用天地图反查填补历史数据-end return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "OKKKK", locale); }