From 4bd9195ff5beeb416792b50bbaea84c56a1b500b Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期四, 30 五月 2024 11:05:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 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