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<String, String> 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'}";
|
}
|
}
|
}
|