From 8a1f312d9f7842bb02c97b200e017926f0af63a5 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 17 九月 2025 14:48:08 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/BasMapController.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 50 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/BasMapController.java b/src/main/java/com/zy/asrs/controller/BasMapController.java index 2d248c1..16ca989 100644 --- a/src/main/java/com/zy/asrs/controller/BasMapController.java +++ b/src/main/java/com/zy/asrs/controller/BasMapController.java @@ -1,20 +1,31 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.common.DateUtils; import com.zy.asrs.entity.BasMap; +import com.zy.asrs.entity.BasShuttleCharge; import com.zy.asrs.service.BasMapService; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.R; +import com.zy.asrs.service.BasShuttleChargeService; +import com.zy.asrs.utils.MapExcelUtils; +import com.zy.common.model.MapNode; +import com.zy.common.utils.RedisUtil; import com.zy.common.web.BaseController; +import com.zy.core.enums.RedisKeyType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import java.io.File; +import java.io.IOException; import java.util.*; @RestController @@ -22,6 +33,10 @@ @Autowired private BasMapService basMapService; + @Autowired + private BasShuttleChargeService basShuttleChargeService; + @Autowired + private RedisUtil redisUtil; @RequestMapping(value = "/basMap/{id}/auth") @ManagerAuth @@ -122,4 +137,39 @@ return R.ok(); } + @Autowired + private MapExcelUtils mapExcelUtils; + + @PostMapping("/basMap/upload") + public R uploadExcel(@RequestParam("file") MultipartFile file) throws IOException { + // 淇濆瓨涓婁紶鐨勬枃浠跺埌涓存椂浣嶇疆 + String tempFilePath = System.getProperty("java.io.tmpdir") + file.getOriginalFilename(); + file.transferTo(new File(tempFilePath)); + + HashMap<Integer, List<List<HashMap<String, Object>>>> dataMap = mapExcelUtils.readExcel(tempFilePath); + HashMap<Integer, List<List<MapNode>>> levMap = mapExcelUtils.processExcelData(dataMap); + + // 鍒犻櫎涓存椂鏂囦欢 + new File(tempFilePath).delete(); + + basMapService.delete(new EntityWrapper<>()); + + for (Map.Entry<Integer, List<List<MapNode>>> entry : levMap.entrySet()) { + Integer lev = entry.getKey(); + List<List<MapNode>> map = entry.getValue(); + + Date now = new Date(); + BasMap basMap = new BasMap(); + basMap.setLev(lev); + basMap.setOriginData(JSON.toJSONString(map, SerializerFeature.DisableCircularReferenceDetect)); + basMap.setCreateTime(now); + basMap.setUpdateTime(now); + basMapService.insert(basMap); + + redisUtil.del(RedisKeyType.MAP.key + lev); + } + + return R.ok(); + } + } -- Gitblit v1.9.1