From e741e0f0499ce2941caae91c341eb0b7ec4f629c Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期二, 28 五月 2024 14:28:09 +0800 Subject: [PATCH] 开通城市 --- ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.java | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 106 insertions(+), 4 deletions(-) diff --git a/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.java b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.java index 04e08e9..dd5b3b0 100644 --- a/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.java +++ b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.java @@ -10,7 +10,9 @@ import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.util.DateUtil; import com.stylefeng.guns.core.util.SinataUtil; +import com.stylefeng.guns.modular.system.dao.TOpenCitySiteMapper; import com.stylefeng.guns.modular.system.model.TOpenCityBusiness; +import com.stylefeng.guns.modular.system.model.TOpenCitySite; import com.stylefeng.guns.modular.system.model.TRegion; import com.stylefeng.guns.modular.system.service.ITOpenCityBusinessService; import com.stylefeng.guns.modular.system.service.ITRegionService; @@ -26,10 +28,13 @@ import com.stylefeng.guns.modular.system.model.TOpenCity; import com.stylefeng.guns.modular.system.service.ITOpenCityService; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * 城市管理控制器 @@ -51,7 +56,8 @@ @Autowired private ITOpenCityBusinessService tOpenCityBusinessService; - + @Autowired + private TOpenCitySiteMapper tOpenCitySiteMapper; /** * 跳转到城市管理首页 */ @@ -78,7 +84,6 @@ TOpenCity tOpenCity = tOpenCityService.selectById(tOpenCityId); model.addAttribute("item",tOpenCity); LogObjectHolder.me().set(tOpenCity); - //省 List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); model.addAttribute("provinceList",provinceList); @@ -91,6 +96,16 @@ //经营业务 List<Map<String,Object>> businessList = tOpenCityService.getBusinessByCityId(tOpenCityId); model.addAttribute("businessList",businessList); + // 机场/动车站点 + List<TOpenCitySite> siteList = tOpenCitySiteMapper.selectList(new EntityWrapper<TOpenCitySite>() + .eq("openCityId", tOpenCityId) + .ne("flag",3)); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd"); + for (TOpenCitySite openCitySite : siteList) { + String format = simpleDateFormat.format(openCitySite.getInsertTime()); + openCitySite.setInsertTime1(format); + } + model.addAttribute("siteList",siteList); return PREFIX + "tOpenCity_edit.html"; } @@ -127,7 +142,10 @@ */ @RequestMapping(value = "/add") @ResponseBody - public Object add(TOpenCity tOpenCity,@RequestParam String businessTypeStr,Integer areaId,Integer cityId,Integer provinceId) { + public Object add(TOpenCity tOpenCity,@RequestParam String businessTypeStr, + String sites, + Integer areaId,Integer cityId, + Integer provinceId) { //获取code if (SinataUtil.isNotEmpty(areaId)){ TRegion area = tRegionService.selectById(areaId); @@ -163,6 +181,35 @@ //添加经营业务 testJSONStrToJSONArray(businessTypeStr,tOpenCity.getId()); + // 添加机场/动车站点 + JSONArray jsonArray = JSON.parseArray(sites); + int size = jsonArray.size(); + for (int i = 0; i < size; i++){ + JSONObject jsonObject = jsonArray.getJSONObject(i); + TOpenCitySite openCitySite = new TOpenCitySite(); + openCitySite.setOpenCityId(tOpenCity.getId()); + String string = jsonObject.getString("lonAndLat"); + // 去除转义符 + String unescaped = string.replaceAll("& #40;", "(").replaceAll("& #41;", ")"); + // 提取括号中的内容 + Pattern pattern = Pattern.compile("\\(([^)]+)\\)"); + Matcher matcher = pattern.matcher(unescaped); + if (matcher.find()) { + String lonAndLat = matcher.group(1); + System.out.println("括号中的内容: " + lonAndLat); + // 使用逗号分割字符串 + String[] parts = lonAndLat.split(","); + // 提取需要的部分 + String lon = parts[0]; + String lat = parts[1]; + openCitySite.setLon(lon); + openCitySite.setLat(lat); + } + openCitySite.setFlag(1); + openCitySite.setName(jsonObject.getString("name")); + openCitySite.setInsertTime(DateUtil.parse(jsonObject.getString("time")+" 00:00:00","yyyy-MM-dd HH:mm:ss")); + tOpenCitySiteMapper.insert(openCitySite); + } return SUCCESS_TIP; } @@ -224,7 +271,7 @@ */ @RequestMapping(value = "/update") @ResponseBody - public Object update(TOpenCity tOpenCity,@RequestParam String businessTypeStr,Integer areaId,Integer cityId,Integer provinceId) { + public Object update(TOpenCity tOpenCity,@RequestParam String businessTypeStr,Integer areaId,Integer cityId,Integer provinceId,String sites) { if (SinataUtil.isNotEmpty(areaId)){ TRegion area = tRegionService.selectById(areaId); tOpenCity.setCode(area.getCode()); @@ -279,6 +326,61 @@ tOpenCityBusinessService.update(business,new EntityWrapper<TOpenCityBusiness>().eq("openCityId",tOpenCity.getId())); //添加经营业务 testJSONStrToJSONArray(businessTypeStr,tOpenCity.getId()); +// TOpenCitySite openCitySite = new TOpenCitySite(); +// // 删除站点 +// tOpenCitySiteMapper.update(openCitySite,new EntityWrapper<TOpenCitySite>().eq("openCityId",tOpenCity.getId())); + List<TOpenCitySite> openCityId = tOpenCitySiteMapper.selectList(new EntityWrapper<TOpenCitySite>() + .eq("openCityId", tOpenCity.getId())); + for (TOpenCitySite openCitySite : openCityId) { + openCitySite.setFlag(3); + tOpenCitySiteMapper.updateById(openCitySite); + } + // 添加站点 + // 添加机场/动车站点 + JSONArray jsonArray = JSON.parseArray(sites); + int size = jsonArray.size(); + for (int i = 0; i < size; i++){ + JSONObject jsonObject = jsonArray.getJSONObject(i); + String string = jsonObject.getString("lonAndLat"); + // 去除转义符 + String unescaped = string.replaceAll("& #40;", "(").replaceAll("& #41;", ")"); + // 提取括号中的内容 + Pattern pattern = Pattern.compile("\\(([^)]+)\\)"); + Matcher matcher = pattern.matcher(unescaped); + String lon = ""; + String lat = ""; + if (matcher.find()) { + String lonAndLat = matcher.group(1); + System.out.println("括号中的内容: " + lonAndLat); + // 使用逗号分割字符串 + String[] parts = lonAndLat.split(","); + // 提取需要的部分 + lon = parts[0]; + lat = parts[1]; + } + if (SinataUtil.isNotEmpty(jsonObject.getInteger("busId")) && jsonObject.getInteger("busId") != 0){ + // 修改 + TOpenCitySite openCitySite1 = tOpenCitySiteMapper.selectById(jsonObject.getInteger("busId")); + openCitySite1.setLon(lon); + openCitySite1.setLat(lat); + openCitySite1.setName(jsonObject.getString("name")); + openCitySite1.setFlag(2); + openCitySite1.setType(jsonObject.getInteger("siteType")); + tOpenCitySiteMapper.updateById(openCitySite1); + }else{ + // 新增 + TOpenCitySite openCitySite3 = new TOpenCitySite(); + openCitySite3.setOpenCityId(tOpenCity.getId()); + openCitySite3.setLon(lon); + openCitySite3.setLat(lat); + openCitySite3.setFlag(1); + openCitySite3.setName(jsonObject.getString("name")); + openCitySite3.setType(jsonObject.getInteger("siteType")); + openCitySite3.setInsertTime(DateUtil.parse(jsonObject.getString("time")+" 00:00:00","yyyy-MM-dd HH:mm:ss")); + tOpenCitySiteMapper.insert(openCitySite3); + } + + } return SUCCESS_TIP; } -- Gitblit v1.7.1