From c16becdd1bf5197fbe9dab3a6a8f440f79b938af Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 19 十一月 2025 20:56:40 +0800
Subject: [PATCH] bug修改
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java | 86 ++++++++++++++++++++++++++++++------------
1 files changed, 61 insertions(+), 25 deletions(-)
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
index cd757eb..3495e14 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
@@ -40,6 +40,7 @@
import com.dsh.guns.modular.system.service.TOperatorService;
import com.dsh.guns.modular.system.util.HttpRequestUtil;
import com.dsh.guns.modular.system.util.ResultUtil;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -54,6 +55,8 @@
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -342,19 +345,17 @@
model.addAttribute("typeNames",strings3);
String halfNames = site.getHalfName();
- ArrayList<String> strings2 = new ArrayList<>();
- String[] split = halfNames.split(",");
- String halfName=null;
- for (int i = 0; i < split.length; i++) {
- if(i==0){
- halfName = split[0];
- }else {
- strings2.add(split[i]);
- }
+ if (StringUtils.isNotBlank(halfNames) && site.getIshalf().equals(1)) {
+ List<String> strings2 = Arrays.asList(halfNames.split(","));
+ model.addAttribute("halfNames",strings2);
+ model.addAttribute("halfName",strings2.get(0));
+ }else {
+ model.addAttribute("halfNames", Collections.emptyList());
+ model.addAttribute("halfName", "");
}
- model.addAttribute("halfNames",strings2);
- model.addAttribute("halfName",halfName);
-
+ // 显式传递运营商ID和是否可预约字段,确保回显正确
+ model.addAttribute("operatorId", site.getOperatorId());
+ model.addAttribute("reservation", site.getReservation());
// 添加价格配置相关字段
TSite fullSite = siteService.getById(id);
model.addAttribute("targetAudience", fullSite.getTargetAudience());
@@ -441,18 +442,14 @@
String halfNames = site.getHalfName();
- ArrayList<String> strings2 = new ArrayList<>();
- String[] split = halfNames.split(",");
- String halfName=null;
- for (int i = 0; i < split.length; i++) {
- if(i==0){
- halfName = split[0];
- }else {
- strings2.add(split[i]);
- }
+ if (StringUtils.isNotBlank(halfNames) && site.getIshalf().equals(1)) {
+ List<String> strings2 = Arrays.asList(halfNames.split(","));
+ model.addAttribute("halfNames",strings2);
+ model.addAttribute("halfName",strings2.get(0));
+ }else {
+ model.addAttribute("halfNames", Collections.emptyList());
+ model.addAttribute("halfName", "");
}
- model.addAttribute("halfNames",strings2);
- model.addAttribute("halfName",halfName);
List<CityManager> accounts = cityManagerClient.getAccount(site.getCity());
model.addAttribute("list",site);
@@ -466,6 +463,11 @@
model.addAttribute("objectType",objectType);
model.addAttribute("objectId",objectId);
model.addAttribute("stores",stores);
+ // 显式传递运营商ID和是否可预约字段,确保回显正确
+ model.addAttribute("operatorId", site.getOperatorId());
+ model.addAttribute("reservation", site.getReservation());
+ model.addAttribute("targetAudience", site.getTargetAudience());
+ model.addAttribute("walkinCapacity", site.getWalkinCapacity());
return PREFIX + "TSite_edit.html";
}
/**
@@ -487,6 +489,20 @@
new QueryWrapper<TSitePrice>().eq("siteId", siteId)
);
return ResultUtil.success(prices);
+ }
+
+ /**
+ * 管理后台 - 获取场地预约时间段数据(供预约新增页面使用)
+ */
+ @ResponseBody
+ @RequestMapping("/querySiteTimes")
+ public ResultUtil querySiteTimes(Integer id, String day, String halfName, String siteName, Integer targetAudience) {
+ try {
+ return ResultUtil.success(siteService.querySiteTimes(id, day, halfName, siteName, targetAudience));
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResultUtil.error("获取时间段失败");
+ }
}
/**
@@ -519,6 +535,7 @@
site.setInsertTime(new Date());
site.setState(1);
site.setOperatorId(store.getOperatorId());
+
// site.setOperatorId(UserExt.getUser().getObjectId());
// 添加场地
@@ -528,17 +545,26 @@
map.put("space_id",store.getId().toString());
String s = HttpRequestUtil.postRequest
("https://port.daowepark.com/v7/user_api/general/addSpaceArea", map);
+// ("https://try.daowepark.com/v7/user_api/general/addSpaceArea", map);
JSONObject jsonObject = JSONObject.parseObject(s);
JSONObject data = jsonObject.getJSONObject("data");
String area_id = data.getString("area_id");
Integer integer = Integer.valueOf(area_id);
site.setId(integer);
+ if (site.getIshalf()==2){
+ site.setHalfName("");
+ }
Integer integer1 = siteClient.addSite1(site);
// Integer integer = Integer.valueOf(spaceId);
// 保存价格数据
if (site.getPriceDTOS() != null && !site.getPriceDTOS().isEmpty()) {
saveSitePriceDetails(site.getId(), site.getPriceDTOS());
+ List<Site.PriceDTO> priceDTOS = site.getPriceDTOS();
+ site.setAppointmentStartTime(priceDTOS.get(0).getStartTime());
+ site.setAppointmentEndTime(priceDTOS.get(priceDTOS.size()-1).getEndTime());
+ siteClient.addSite(site);
+
}
return ResultUtil.success("添加成功");
@@ -563,7 +589,7 @@
sitePrice.setTargetAudience(detail.getTargetAudience());
sitePrice.setFieldType(detail.getFieldType());
sitePrice.setCashPrice(detail.getCashPrice() != null ? BigDecimal.valueOf(detail.getCashPrice()) : BigDecimal.ZERO);
- sitePrice.setCoinPrice(detail.getCoinPrice() != null ? BigDecimal.valueOf(detail.getCoinPrice()) : BigDecimal.ZERO);
+ sitePrice.setCoinPrice(detail.getCoinPrice() != null ? detail.getCoinPrice() : 0);
sitePrice.setInsertTime(now);
sitePrice.setUpdateTime(now);
@@ -581,7 +607,9 @@
@ResponseBody
@RequestMapping(value = "/updateSite")
public ResultUtil updateSite(@RequestBody Site site) {
- if(site.getInsuranceImg().equals("")){
+ System.out.println(JSONObject.toJSONString(site));
+ // 防止空指针异常:如果 insuranceImg 为 null 或空字符串,设置为 null
+ if(site.getInsuranceImg() == null || site.getInsuranceImg().equals("")){
site.setInsuranceImg(null);
}
Store store = storeClient.getStoreById(site.getStoreId());
@@ -597,12 +625,20 @@
site.setCityManagerId(store.getOperatorId());
site.setInsertTime(new Date());
site.setState(1);
+ if (site.getIshalf()==2){
+ site.setHalfName("");
+ }
siteClient.addSite(site);
// 保存价格数据
if (site.getPriceDTOS() != null && !site.getPriceDTOS().isEmpty()) {
// 先删除原有价格数据
sitePriceService.remove(new QueryWrapper<TSitePrice>().eq("siteId", site.getId()));
saveSitePriceDetails(site.getId(), site.getPriceDTOS());
+ List<Site.PriceDTO> priceDTOS = site.getPriceDTOS();
+ site.setAppointmentStartTime(priceDTOS.get(0).getStartTime());
+ site.setAppointmentEndTime(priceDTOS.get(priceDTOS.size()-1).getEndTime());
+ siteClient.addSite(site);
+
}
return ResultUtil.success();
}
--
Gitblit v1.7.1