package com.javaweb.geo.controller; import java.util.List; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import com.javaweb.common.annotation.Log; import com.javaweb.common.enums.BusinessType; import com.javaweb.geo.domain.ProjectData; import com.javaweb.geo.service.IProjectDataService; import com.javaweb.common.core.controller.BaseController; import com.javaweb.common.core.domain.AjaxResult; import com.javaweb.common.utils.poi.ExcelUtil; import com.javaweb.common.core.page.TableDataInfo; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; /** * 项目资料Controller * * @author cxy * @date 2024-05-16 */ @Controller @RequestMapping("/geo/projectData") public class ProjectDataController extends BaseController { private String prefix = "geo/projectData"; @Autowired private IProjectDataService projectDataService; @RequiresPermissions("geo:projectData:view") @GetMapping() public String projectData(String id, String type, ModelMap mmap) { mmap.put("projectId", id); mmap.put("type", type); return prefix + "/projectData"; } @RequiresPermissions("geo:projectData:view") @GetMapping("/2") public String projectData2(String id, String type, ModelMap mmap) { mmap.put("projectId", id); mmap.put("type", type); return prefix + "/projectData2"; } /** * 导入压缩包 */ @GetMapping("/importImg") public String importPdf(){ return prefix + "/upload"; } /** * 图片展示 */ @GetMapping("/viewImage") public String viewImage(ModelMap mmap, @RequestParam("id") String id){ ProjectData data = projectDataService.selectProjectDataById(id); String path = ""; if (!ObjectUtils.isEmpty(data)){ path = data.getDataUrl(); } mmap.put("urlAddress",path); return prefix + "/image_view"; } /** * 查询项目资料列表 */ @RequiresPermissions("geo:projectData:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(ProjectData projectData) { startPage(); List list = projectDataService.selectProjectDataList(projectData); return getDataTable(list); } /** * 导出项目资料列表 */ @RequiresPermissions("geo:projectData:export") @Log(title = "项目资料", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody public AjaxResult export(ProjectData projectData) { List list = projectDataService.selectProjectDataList(projectData); ExcelUtil util = new ExcelUtil(ProjectData.class); return util.exportExcel(list, "projectData"); } /** * 新增项目资料 */ @GetMapping("/add") public String add(String projectId, String dataType, ModelMap mmap) { mmap.put("projectId", projectId); mmap.put("dataType", dataType); return prefix + "/add"; } /** * 新增保存项目资料 */ @RequiresPermissions("geo:projectData:add") @Log(title = "项目资料", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(ProjectData projectData) { return toAjax(projectDataService.insertProjectData(projectData)); } /** * 修改项目资料 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") String id, ModelMap mmap) { ProjectData projectData = projectDataService.selectProjectDataById(id); mmap.put("projectData", projectData); return prefix + "/edit"; } /** * 修改保存项目资料 */ @RequiresPermissions("geo:projectData:edit") @Log(title = "项目资料", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(ProjectData projectData) { return toAjax(projectDataService.updateProjectData(projectData)); } /** * 删除项目资料 */ @RequiresPermissions("geo:projectData:remove") @Log(title = "项目资料", businessType = BusinessType.DELETE) @PostMapping("/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(projectDataService.deleteProjectDataByIds(ids)); } /** * 上传压缩包 */ @PostMapping("/uploadZIP") @ResponseBody public AjaxResult uploadZIP(MultipartFile file, HttpServletRequest request){ return projectDataService.uploadZIP(file,request); } }