package com.landtool.lanbase.modules.res.controller; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.UUID; import org.apache.commons.io.FileUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import com.landtool.lanbase.common.annotation.LogAction; import com.landtool.lanbase.config.SysTemPropertyConfig; import com.landtool.lanbase.modules.res.entity.Res_Ext3D; import com.landtool.lanbase.modules.res.entity.Res_MainInfo; import com.landtool.lanbase.modules.res.service.ResExt3DService; import com.landtool.lanbase.modules.res.service.ResMainInfoService; import com.landtool.lanbase.modules.sys.service.SysFieldvalueService; /** * @author ykm * @Description: * @date 2018/3/24 14:46 */ @Controller @RequestMapping("/res") public class ResExt3DController { @Autowired private ResExt3DService resExt3DService; @Autowired private ResMainInfoService resMainInfoService; @Autowired private SysTemPropertyConfig sysConfig; @Autowired private SysFieldvalueService FieldUtils; /** * 访问三维模型扩展信息页面 * @param resMainInfoId * @param model * @return */ @RequestMapping("/ResManage/ResRegister/Ext3D") public String Ext3D(Integer resMainInfoId, Model model) { Res_Ext3D res_ext3D = resExt3DService.selectByPrimaryKey(resMainInfoId); if (res_ext3D != null) { model.addAttribute("resExt3d", res_ext3D); model.addAttribute("resMainInfoId", resMainInfoId); Res_MainInfo res_mainInfo = resMainInfoService.selectByPrimaryKey(resMainInfoId); model.addAttribute("resMainInfo", res_mainInfo); } else { Res_Ext3D res_ext3D1 = new Res_Ext3D(); model.addAttribute("resExt3d", res_ext3D1); Res_MainInfo res_mainInfo = new Res_MainInfo(); model.addAttribute("resMainInfo", res_mainInfo); } if(SecurityUtils.getSubject().isPermitted("org_user_admin")) { //判断当前用户是否是管理员,是管理员或是未提交的资源才可以修改资源相关信息 model.addAttribute("admin",true); } else { model.addAttribute("admin",false); } //alert ykm 2019/02/25 Res_MainInfo res_mainInfo = resMainInfoService.selectByPrimaryKey(resMainInfoId); model.addAttribute("resMainInfo", res_mainInfo); HashMap ResourceTypeList = FieldUtils.getFieldListByKey("ResourceType");// 获取资源类型列表 model.addAttribute("resourcename", ResourceTypeList.get(res_mainInfo.getResourceclass())); model.addAttribute("ipHost",sysConfig.getIpHost()); model.addAttribute("gisHost",sysConfig.getGisHost()); return "ResManage/ResRegister/Ext3D"; } /*** * 根据资源ID删除相关信息 * @param resourceid * @return */ @ResponseBody @RequestMapping("/resExt3D/deleteByPrimaryKey") public int deleteByPrimaryKey(Integer resourceid) { return resExt3DService.deleteByPrimaryKey(resourceid); } @ResponseBody @RequestMapping("/resExt3D/insert") public int insert(Res_Ext3D record) { return resExt3DService.insert(record); } @ResponseBody @RequestMapping("/resExt3D/insertSelective") public int insertSelective(Res_Ext3D record) { return resExt3DService.insertSelective(record); } @ResponseBody @RequestMapping("/resExt3D/selectByPrimaryKey") public Res_Ext3D selectByPrimaryKey(Integer resourceid) { return resExt3DService.selectByPrimaryKey(resourceid); } @ResponseBody @RequestMapping("/resExt3D/updateByPrimaryKeySelective") public int updateByPrimaryKeySelective(Res_Ext3D record) { return resExt3DService.updateByPrimaryKeySelective(record); } @ResponseBody @RequestMapping("/resExt3D/updateByPrimaryKey") public int updateByPrimaryKey(Res_Ext3D record) { return resExt3DService.updateByPrimaryKey(record); } /** * 新增、修改 * @param record * @param resMainInfo * @return */ @ResponseBody @RequestMapping("/resExt3D/insertSelectiveAndUpdate") @LogAction("资源管理,资源发布,资源修改,修改|zy") public int insertSelectiveAndUpdate(Res_Ext3D record, Res_MainInfo resMainInfo) { Res_Ext3D res_ext3D = resExt3DService.selectByPrimaryKey(record.getResourceid()); if (res_ext3D == null) { //添加 int mainResult = resMainInfoService.updateByPrimaryKeySelective(resMainInfo); int dResult = resExt3DService.insertSelective(record); int result; if (mainResult == 1 && dResult == 1) { result = 1; } else { result = 0; } return result; } else { //更新 int mainResult = resMainInfoService.updateByPrimaryKeySelective(resMainInfo); int dResult = resExt3DService.updateByPrimaryKeySelective(record); int result; if (mainResult == 1 && dResult == 1) { result = 1; } else { result = 0; } return result; } } /** * 服务地址上传 */ @ResponseBody @RequestMapping("/resExt3D/fileUpload3D") public String fileUpload3D(@RequestParam("file") MultipartFile multipartFile) { if (multipartFile.isEmpty()) { return "No File"; } String uuid = UUID.randomUUID().toString().replaceAll("-", ""); String name = multipartFile.getOriginalFilename(); String fileType = name.substring(name.lastIndexOf(".")); String leixing = fileType.replace(".", ""); //名称 String Filename = uuid + fileType; String path = sysConfig.getUploadPath(); String path2 = "/ResExt3DServer/"; File desFile = new File(path + Filename); String info = desFile.getAbsolutePath(); System.out.println("info:" + info); try { FileUtils.copyInputStreamToFile(multipartFile.getInputStream(), desFile); return "{'result':'1','Path':'" + path2 + Filename + "','Filename':'" + name.substring(name.lastIndexOf("\\") + 1, name.lastIndexOf(".")) + "','FileType':'" + leixing + "'}"; } catch (IOException e) { e.printStackTrace(); return "{'result':'0'}"; } } }