From 29dc1f1b83a562ac877cc4466a17a2112529c184 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 27 十月 2025 17:16:47 +0800
Subject: [PATCH] 场地管理接口
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java | 277 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 161 insertions(+), 116 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 5544936..75abdb6 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
@@ -1,18 +1,12 @@
package com.dsh.guns.modular.system.controller.code;
-import java.math.BigDecimal;
import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.crypto.SecureUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsh.course.feignClient.account.CityClient;
import com.dsh.course.feignClient.account.CityManagerClient;
-import com.dsh.course.feignClient.account.StoreStaffClient;
-import com.dsh.course.feignClient.account.model.CityListQuery;
import com.dsh.course.feignClient.account.model.CityManager;
-import com.dsh.course.feignClient.account.model.TCityManager;
import com.dsh.course.feignClient.competition.CompetitionClient;
import com.dsh.course.feignClient.other.SiteClient;
import com.dsh.course.feignClient.other.SiteLockClient;
@@ -24,33 +18,46 @@
import com.dsh.course.mapper.UserMapper;
import com.dsh.guns.config.UserExt;
import com.dsh.guns.core.base.controller.BaseController;
-import com.dsh.guns.core.base.tips.SuccessTip;
-import com.dsh.guns.core.common.constant.factory.PageFactory;
-import com.dsh.guns.core.util.ToolUtil;
-import com.dsh.guns.modular.system.model.*;
-import com.dsh.guns.modular.system.service.*;
+import com.dsh.guns.modular.system.model.ExpireSiteSearchVO;
+import com.dsh.guns.modular.system.model.Region;
+import com.dsh.guns.modular.system.model.SiteSearchVO;
+import com.dsh.guns.modular.system.model.Store;
+import com.dsh.guns.modular.system.model.TCity;
+import com.dsh.guns.modular.system.model.TOperator;
+import com.dsh.guns.modular.system.model.TOperatorCity;
+import com.dsh.guns.modular.system.model.TSite;
+import com.dsh.guns.modular.system.model.TSitePrice;
+import com.dsh.guns.modular.system.model.TSiteType;
+import com.dsh.guns.modular.system.model.TStore;
+import com.dsh.guns.modular.system.service.ICityService;
+import com.dsh.guns.modular.system.service.IRegionService;
+import com.dsh.guns.modular.system.service.IStoreService;
+import com.dsh.guns.modular.system.service.ITSitePriceService;
+import com.dsh.guns.modular.system.service.ITSiteService;
+import com.dsh.guns.modular.system.service.ITSiteTypeService;
+import com.dsh.guns.modular.system.service.StoreConfigService;
+import com.dsh.guns.modular.system.service.TOperatorCityService;
+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 groovyjarjarpicocli.CommandLine;
-import net.bytebuddy.asm.Advice;
-import org.apache.http.HttpResponse;
-import org.apache.poi.ss.formula.functions.T;
-import org.aspectj.weaver.ast.Var;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.resource.HttpResource;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
-import java.lang.reflect.Type;
+import java.math.BigDecimal;
import java.text.DateFormat;
-import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
/**
* 车辆管理控制器
@@ -95,6 +102,8 @@
private IRegionService regionService;
@Autowired
private SiteLockClient siteLockClient;
+ @Autowired
+ private ITSitePriceService sitePriceService;
/**
@@ -116,29 +125,10 @@
Integer objectType = UserExt.getUser().getObjectType();
Integer objectId = UserExt.getUser().getObjectId();
model.addAttribute("userType",objectType);
- List<CityManager> province = cityManagerClient.listAll();
- // 已有城市管理的省
- ArrayList<String> list1 = new ArrayList<>();
- // 已有城市管理的市
- ArrayList<String> list2 = new ArrayList<>();
- for (CityManager cityManager : province) {
- list1.add(cityManager.getProvince());
- list2.add(cityManager.getCity());
- }
- HashSet<String> set = new HashSet<String>(list1);
- List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
QueryWrapper<TSiteType> wrapper = new QueryWrapper<>();
wrapper.eq("state",1);
List<TSiteType> siteType = siteTypeService.list(wrapper);
-
List<TCity> list3 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
-
-
-
-
-
-
-
model.addAttribute("list",list3);
model.addAttribute("siteType",siteType);
String roleid = UserExt.getUser().getRoleid();
@@ -146,12 +136,8 @@
model.addAttribute("objectType",objectType);
model.addAttribute("objectId",objectId);
model.addAttribute("type",1);
-
-
List<TOperator> list5 = tOperatorService.list();
-
model.addAttribute("list5",list5);
-
return PREFIX + "TSite.html";
}
/**
@@ -275,13 +261,52 @@
strings.add(cityManager.getCity());
}
HashSet<String> set1 = new HashSet<String>(strings);
- List<Store> stores = new ArrayList<>();
- if (objectType ==2 ){
- stores= storeClient.getStoreByCityManagerId(objectId);
- }else if(objectType == 3){
- stores= storeClient.getStoreByStoreStaffId(objectId);;
+ List<TStore> stores = new ArrayList<>();
+// // 先判断
+// if (objectType ==2 ){
+// stores= storeClient.getStoreByCityManagerId(objectId);
+// }else if(objectType == 3){
+// stores= storeClient.getStoreByStoreStaffId(objectId);;
+// }else{
+// stores = storeClient.getStore(site.getCity());
+// }
+ // 根据门店id 确定是平台还是运营商的
+ TStore byId = storeService.getById(site.getStoreId());
+ if (byId.getType()==1){
+ // 查询平台的门店
+ if (objectType ==2 ){
+ stores = storeService.list(new QueryWrapper<TStore>()
+ .eq("state", 1)
+ .eq("type", 1)
+ .eq("operatorId",objectId));
+ }else if (objectType ==2 ){
+ stores = storeService.list(new QueryWrapper<TStore>()
+ .eq("state", 1)
+ .eq("id",objectId));
+ }else{
+ stores = storeService.list(new QueryWrapper<TStore>()
+ .eq("state", 1)
+ .eq("type", 1)
+ );
+ }
}else{
- stores = storeClient.getStore(site.getCity());
+ // 查询平台的门店
+ if(objectType == 2){
+ stores = storeService.list(new QueryWrapper<TStore>()
+ .eq("state", 1)
+ .eq("type", 2)
+ .eq("operatorId",objectId));
+ }else if (objectType == 3){
+ stores = storeService.list(new QueryWrapper<TStore>()
+ .eq("state", 1)
+ .eq("id",objectId));
+ }else{
+ stores = storeService.list(new QueryWrapper<TStore>()
+ .eq("state", 1)
+ .eq("type", 2)
+ );
+ }
+
}
List<CityManager> accounts = cityManagerClient.getAccount(site.getCity());
model.addAttribute("list",site);
@@ -294,6 +319,7 @@
model.addAttribute("type",1);
model.addAttribute("objectType",objectType);
model.addAttribute("objectId",objectId);
+
model.addAttribute("stores",stores);
String nextName = site.getNextName();
@@ -333,7 +359,7 @@
*/
@RequestMapping("/lockSite/{id}")
public String lockSite(Model model,@PathVariable("id") Integer id) {
- DateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd hh:mm");
+ DateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
List<TSiteLockDTO> listById = siteLockClient.getListById(id);
for (TSiteLockDTO tSiteLockDTO : listById) {
tSiteLockDTO.setSsTime(dateformat.format(tSiteLockDTO.getStartTime()));
@@ -471,33 +497,62 @@
site.setCityManagerId(cityManagerId);
site.setInsertTime(new Date());
site.setState(1);
- site.setOperatorId(UserExt.getUser().getObjectId());
- Integer integer1 = siteClient.addSite(site);
+ site.setOperatorId(store.getOperatorId());
+// site.setOperatorId(UserExt.getUser().getObjectId());
// 添加场地
HashMap<String, String> map = new HashMap<>();
map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
map.put("name",site.getName());
- map.put("space_id",integer1.toString());
- map.put("area_id",store.getId().toString());
+ map.put("space_id",store.getId().toString());
String s = HttpRequestUtil.postRequest
- ("https://try.daowepark.com/v7/user_api/general/addSpaceArea", map);
- // 添加门禁
+ ("https://port.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);
+ Integer integer1 = siteClient.addSite1(site);
// Integer integer = Integer.valueOf(spaceId);
- if(StringUtils.hasLength( site.getIds())) {
- for (String s1 : site.getIds().split(",")) {
- HashMap<String, String> map1 = new HashMap<>();
- map1.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
- map1.put("space_id", integer1 + "");
- map1.put("device_id", s1);
- map1.put("region_id", store.getId().toString() + "");
- String s2 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map1);
- System.out.println("添加闸机:" + s2);
- }
+
+ // 保存价格数据
+ if (site.getPriceDTOS() != null && !site.getPriceDTOS().isEmpty()) {
+ saveSitePriceDetails(site.getId(), site.getPriceDTOS());
}
+
return ResultUtil.success("添加成功");
+ }
+
+ /**
+ * 保存场地价格详情到 t_site_price 表
+ * @param siteId 场地ID
+ * @param priceDTOS 价格详情列表
+ */
+ private void saveSitePriceDetails(Integer siteId, List<Site.PriceDTO> priceDTOS) {
+ Date now = new Date();
+
+ // 批量保存价格数据
+ List<TSitePrice> sitePrices = new ArrayList<>();
+ for (Site.PriceDTO detail : priceDTOS) {
+ TSitePrice sitePrice = new TSitePrice();
+ sitePrice.setSiteId(siteId);
+ sitePrice.setStartTime(detail.getStartTime());
+ sitePrice.setEndTime(detail.getEndTime());
+ sitePrice.setDayOfWeek(detail.getDayOfWeek());
+ 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.setInsertTime(now);
+ sitePrice.setUpdateTime(now);
+
+ sitePrices.add(sitePrice);
+ }
+
+ // 批量插入
+ if (!sitePrices.isEmpty()) {
+ sitePriceService.saveBatch(sitePrices);
+ }
}
/**
* 编辑场地管理
@@ -508,51 +563,26 @@
if(site.getInsuranceImg().equals("")){
site.setInsuranceImg(null);
}
-
- TSite byId = siteService.getById(site.getId());
-
Store store = storeClient.getStoreById(site.getStoreId());
-
String province = store.getProvince();
String provinceCode = store.getProvinceCode();
String city = store.getCity();
String cityCode = store.getCityCode();
- Integer cityManagerId = store.getCityManagerId();
-
+ site.setOperatorId(store.getOperatorId());
site.setProvince(province);
site.setProvinceCode(provinceCode);
site.setCity(city);
site.setCityCode(cityCode);
- site.setCityManagerId(cityManagerId);
-
+ site.setCityManagerId(store.getOperatorId());
site.setInsertTime(new Date());
site.setState(1);
siteClient.addSite(site);
-
- String ids = byId.getIds();
- HashMap<String, String> map = new HashMap<>();
- map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
- if(StringUtils.hasLength(ids)) {
- for (String s : ids.split(",")) {
- String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/deleteDevice/ids/" + s, map);
- System.out.println(s1);
- }
+ // 保存价格数据
+ if (site.getPriceDTOS() != null && !site.getPriceDTOS().isEmpty()) {
+ // 先删除原有价格数据
+ sitePriceService.remove(new QueryWrapper<TSitePrice>().eq("siteId", site.getId()));
+ saveSitePriceDetails(site.getId(), site.getPriceDTOS());
}
- if(StringUtils.hasLength( site.getIds())) {
- for (String s : site.getIds().split(",")) {
- HashMap<String, String> map1 = new HashMap<>();
- map1.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
- map1.put("space_id", store.getId() + "");
- map1.put("device_id", s);
- map1.put("region_id", site.getId() + "");
- // 添加门禁
- String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map1);
- System.out.println(s1);
- }
- }
-
-
-
return ResultUtil.success();
}
/**
@@ -603,26 +633,43 @@
vo.setObjectType(type);
vo.setObjectId(objectId);
vo.setOpId(opId);
- return siteClient.listExipre(vo);
+ List<TSiteDTO> tSiteDTOS = siteClient.listExipre(vo);
+ for (TSiteDTO tSiteDTO : tSiteDTOS) {
+ Integer storeId = tSiteDTO.getStoreId();
+ TStore byId = storeService.getById(storeId);
+ if (byId!=null){
+ if (byId.getOperatorId()==null || byId.getOperatorId()==0){
+ tSiteDTO.setOperator("平台");
+ }
+ }
+ }
+ return tSiteDTOS;
}
@Autowired
private TOperatorService tOperatorService;
-
+ @Autowired
+ private TOperatorCityService operatorCityService;
/**
* 跳转到添加场地管理
*/
@RequestMapping("/add")
public String tCompetitionAdd(Model model) {
- List<CityManager> province = cityManagerClient.listAll();
- System.out.println(province);
- // 已有城市管理的省
- ArrayList<String> list1 = new ArrayList<>();
- // 已有城市管理的市
- ArrayList<String> list2 = new ArrayList<>();
- for (CityManager cityManager : province) {
- list1.add(cityManager.getProvince());
- list2.add(cityManager.getCity());
+ if (UserExt.getUser().getObjectType()==2){
+ // 查询这个运营商管理的省
+ TOperator id = tOperatorService.getOne(new QueryWrapper<TOperator>().eq("id", UserExt.getUser().getObjectId()));
+ if (id.getType()==1){
+ // 全国
+ List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+ model.addAttribute("list",list);
+ }else{
+ // 找到他管理的省
+ List<TOperatorCity> list = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("operatorId", UserExt.getUser().getObjectId()).eq("pid", 0));
+ model.addAttribute("list",list);
+ }
+ }else{
+ List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+ model.addAttribute("list",list);
}
Integer objectType = UserExt.getUser().getObjectType();
Integer objectId = UserExt.getUser().getObjectId();
@@ -639,13 +686,11 @@
List<TOperator> list = tOperatorService.list();
model.addAttribute("yysList",list);
model.addAttribute("userType",objectType);
- HashSet<String> set = new HashSet<String>(list1);
QueryWrapper<TSiteType> wrapper = new QueryWrapper<>();
wrapper.eq("state",1);
List<TSiteType> siteType = siteTypeService.list(wrapper);
model.addAttribute("siteType",siteType);
- model.addAttribute("province",set);
- model.addAttribute("city",list2);
+ model.addAttribute("province",list);
String roleid = UserExt.getUser().getRoleid();
model.addAttribute("role",roleid);
model.addAttribute("objectType",objectType);
--
Gitblit v1.7.1