package cn.com.goldenwater.dcproj.controller.tac; import cn.com.goldenwater.core.web.BaseController; import cn.com.goldenwater.core.web.BaseResponse; import cn.com.goldenwater.dcproj.model.TacWordBase; import cn.com.goldenwater.dcproj.param.TacWordBaseParam; import cn.com.goldenwater.dcproj.service.TacWordBaseService; import cn.com.goldenwater.dcproj.utils.impexcel.ExpAndImpUtil; import cn.com.goldenwater.id.util.UuidUtil; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * @author lune * @date 2019-10-9 */ @Api(value = "TAC 稽察相关文档信息管理", tags = "TAC 稽察相关文档信息管理") @RestController @RequestMapping("/tac/word/base") public class TacWordBaseController extends BaseController { private Logger logger = LoggerFactory.getLogger(getClass()); @Value("${jc.baseinfo.word.path}") private String jcBaseInfoWordPath; @Autowired private TacWordBaseService tacWordBaseService; @ApiOperation(value = "添加/修改稽察相关文档信息") @RequestMapping(value = "", method = RequestMethod.POST) public BaseResponse insert(@ApiParam(name = "tacWordBase", value = "TacWordBase", required = true) @RequestBody TacWordBase tacWordBase) { if (StringUtils.isBlank(tacWordBase.getId())) { String uuid = UuidUtil.uuid(); // 生成uuid tacWordBase.setId(uuid); tacWordBaseService.insert(tacWordBase); } else { tacWordBaseService.update(tacWordBase); } return buildSuccessResponse(tacWordBase); } @ApiOperation(value = "根据ID删除稽察相关文档信息") @RequestMapping(value = "/del/{id}", method = RequestMethod.GET) public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) { int ret = tacWordBaseService.delete(id); return buildSuccessResponse(); } @ApiOperation(value = "根据ID获取稽察相关文档信息(单表)") @RequestMapping(value = "/{id}", method = RequestMethod.GET) public BaseResponse get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) { TacWordBase tacWordBase = tacWordBaseService.get(id); return buildSuccessResponse(tacWordBase); } @ApiOperation(value = "获取稽察相关文档信息(列表所有)") @RequestMapping(value = "/list", method = RequestMethod.POST) public BaseResponse> list(@ApiParam(name = "tacWordBaseParam", value = "tacWordBaseParam", required = true) @RequestBody TacWordBaseParam tacWordBaseParam) { List tacWordBaseList = tacWordBaseService.findList(tacWordBaseParam); return buildSuccessResponse(tacWordBaseList); } @ApiOperation(value = "获取稽察相关文档信息(列表--分页)") @RequestMapping(value = "/page", method = RequestMethod.POST) public BaseResponse> page(@ApiParam(name = "tacWordBaseParam", value = "tacWordBaseParam", required = true) @RequestBody TacWordBaseParam tacWordBaseParam) { PageInfo tacWordBaseList = tacWordBaseService.findPageInfo(tacWordBaseParam); return buildSuccessResponse(tacWordBaseList); } @ApiOperation(value = "根据登记表ID(rgstrId)和专业类型(type)获取对应的基础信息WORD路径") @RequestMapping(value = "/getBaseInfoPath", method = {RequestMethod.GET, RequestMethod.POST}) public BaseResponse getBaseInfoPath(HttpServletRequest request, @ApiParam(name = "rgstrId", value = "rgstrId", required = true) @RequestParam String rgstrId, @ApiParam(name = "type", value = "type", required = true) @RequestParam String type) { TacWordBaseParam tacWordBaseParam = new TacWordBaseParam(); tacWordBaseParam.setBizId(rgstrId); tacWordBaseParam.setType("10" + type); TacWordBase tacWordBase = tacWordBaseService.getBy(tacWordBaseParam); String path = jcBaseInfoWordPath + tacWordBase.getFilePath(); return buildSuccessResponse(path); } @ApiOperation(value = "根据返回路径,下载WORD文档") @RequestMapping(value = "/download", method = {RequestMethod.GET, RequestMethod.POST}) public void download(HttpServletRequest request, HttpServletResponse response, @ApiParam(name = "path", value = "path", required = true) @RequestParam String path) { try { ExpAndImpUtil.downloadFile(response, path, "基础信息"); } catch (Exception e) { e.printStackTrace(); } } @ApiOperation(value = "根据登记表ID(rgstrId)和专业类型(type)下载对应的基础信息WORD文件") @RequestMapping(value = "/getBaseInfo", method = {RequestMethod.GET, RequestMethod.POST}) public BaseResponse getBaseInfo(HttpServletRequest request, HttpServletResponse response, @ApiParam(name = "rgstrId", value = "rgstrId", required = true) @RequestParam String rgstrId, @ApiParam(name = "type", value = "type", required = true) @RequestParam String type) { try { TacWordBaseParam tacWordBaseParam = new TacWordBaseParam(); tacWordBaseParam.setBizId(rgstrId); tacWordBaseParam.setType("10" + type); TacWordBase tacWordBase = tacWordBaseService.getBy(tacWordBaseParam); String path = jcBaseInfoWordPath + tacWordBase.getFilePath(); ExpAndImpUtil.downloadFile(response, path, "基础信息"); } catch (Exception e) { e.printStackTrace(); return buildSuccessResponse("下载失败"); } return buildSuccessResponse("下载成功"); } }