package cn.ubitech.ttc.controller; import cn.ubitech.ttc.common.ImageSpiderCommon; import cn.ubitech.ttc.common.Util; import cn.ubitech.ttc.dao.LabelIntelligentCommonInfoMapper; import cn.ubitech.ttc.dao.ResourcelibraryMapper; import cn.ubitech.ttc.entity.*; import cn.ubitech.ttc.model.common.*; import cn.ubitech.ttc.model.information.ExportIndexModel; import cn.ubitech.ttc.model.information.ResourceIndexTitleModel; import cn.ubitech.ttc.model.label.LabelModel; import cn.ubitech.ttc.model.resource.ResDetailForOrgCode; import cn.ubitech.ttc.model.user.DemandRewardDetailModel; import cn.ubitech.ttc.model.user.UserModel; import cn.ubitech.ttc.service.impl.label.LabelRecordServiceImpl; import cn.ubitech.ttc.service.impl.resource.ResourceLibraryServiceImpl; import cn.ubitech.ttc.service.impl.resource.ResourceServiceImpl; import cn.ubitech.ttc.service.impl.resourceChoice.ResouceChoiceServiceImpl; import cn.ubitech.ttc.service.impl.search.SearchServiceImpl; import cn.ubitech.ttc.service.impl.user.UserServiceImpl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.mock.web.MockMultipartFile; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.*; /** * code is far away from bug with the animal protecting * ┏┓   ┏┓ * ┏┛┻━━━┛┻┓ * ┃       ┃ * ┃   ━   ┃ * ┃ ┳┛ ┗┳ ┃ * ┃       ┃ * ┃   ┻   ┃ * ┃       ┃ * ┗━┓   ┏━┛ *   ┃   ┃神兽保佑 *   ┃   ┃代码无BUG! *   ┃   ┗━━━┓ *   ┃       ┣┓ *   ┃       ┏┛ *   ┗┓┓┏━┳┓┏┛ *    ┃┫┫ ┃┫┫ *    ┗┻┛ ┗┻┛ * * @author chen.cong * @version 3.0 * @Date: Create in 2018/5/31 15:28 * @Modifyed By: * @Description: 资源的controller */ @RestController @RequestMapping("/resource") @Api(description = "资源库接口") @Slf4j public class ResourceController { @Autowired private ResourceServiceImpl resourceServiceImpl; @Autowired private ResourceLibraryServiceImpl resourceLibraryService; @Autowired private LabelRecordServiceImpl labelRecordService; @Autowired private LabelIntelligentCommonInfoMapper labelIntelligentCommonInfoMapper; @Autowired private ImageSpiderCommon imageSpiderCommon; /** * 通过关键词查询资源;默认是从索引库中查找,找出列表后可以获取该资源的resourceid和type * * @param keyword * @param pagenum * @param userid * @param sort * @param groupid * @param moduleid * @param category * @param tracetype * @param labelName * @return */ @RequestMapping(value = "/resourcelist/{keyword}/{sort}/{groupid}/{moduleid}/{userid}/{pagenum}/{category}/{tracetype}/{labelName}/{node}/{morescreening}/{potentiallibrary}", method = RequestMethod.GET) @ApiOperation(value = "资源库搜索", notes = "通过关键词查询资源库的列表") @ApiImplicitParams({ @ApiImplicitParam(name = "keyword", paramType = "path", dataType = "String", value = "关键词"), @ApiImplicitParam(name = "sort", paramType = "path", dataType = "String", value = "排序"), @ApiImplicitParam(name = "groupid", paramType = "path", dataType = "String", value = "文件夹id"), @ApiImplicitParam(name = "moduleid", paramType = "path", dataType = "int", value = "类型,1:需求,2:成果,6:企业,7:高校,8:人才"), @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id"), @ApiImplicitParam(name = "pagenum", paramType = "path", dataType = "int", value = "页码,从0开始"), @ApiImplicitParam(name = "category", paramType = "path", dataType = "String", value = "行业"), @ApiImplicitParam(name = "tracetype", paramType = "path", dataType = "int", value = "痕迹类型,2619是收藏"), @ApiImplicitParam(name = "labelName", paramType = "path", dataType = "String", value = "筛选条件"), @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点信息"), @ApiImplicitParam(name = "morescreening", paramType = "path", dataType = "String", value = "更多筛选"), @ApiImplicitParam(name = "potentiallibrary", paramType = "path", dataType = "String", value = "潜力库筛选,1:国高,2:省科小,3:雏鹰,4:市级研发中心,5:省级研发中心,6:省级研究院,7:飞地研发中心") }) public ResultModel getResourcelist(@PathVariable String keyword, @PathVariable Integer pagenum, @PathVariable long userid, @PathVariable String sort, @PathVariable String groupid, @PathVariable Integer moduleid, @PathVariable String category, @PathVariable Integer tracetype, @PathVariable String labelName, @PathVariable String node, @PathVariable String morescreening, @PathVariable String potentiallibrary) { log.info("keyword:{},userid:{},sort:{},groupid:{},moduleid:{},category:{},tracetype:{},labelName:{},node:{},morescreening:{},potentiallibrary:{}",keyword,userid,sort,groupid,moduleid,category,tracetype, labelName,node,morescreening,potentiallibrary); log.info("potentiallibrary:{}",potentiallibrary); ResultModel resultModel = new ResultModel(); try { if (moduleid != 0) { resourceLibraryService.getResourceList(keyword, pagenum, userid, sort, groupid, moduleid, category, tracetype, labelName, resultModel, node, morescreening,Integer.valueOf(potentiallibrary)); } //含有“武进区科技创新创业联盟入驻企业”标签的企业列表 if (groupid.equals("231") && moduleid == 0) { resourceLibraryService.getResListForWJUnion(userid, pagenum, resultModel, keyword); } } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } /** * 通过关键词查询资源;默认是从索引库中查找,找出列表后可以获取该资源的resourceid和type * * @param keyword 关键词 * @return List */ @RequestMapping(value = "/collectresourcelist/{keyword}/{sort}/{groupid}/{restype}/{userid}/{pagenum}", method = RequestMethod.GET) @ApiOperation(value = "我的收藏资源", notes = "关键词查询我的收藏资源") @ApiImplicitParams({ @ApiImplicitParam(name = "keyword", paramType = "path", dataType = "String", value = "关键词"), @ApiImplicitParam(name = "sort", paramType = "path", dataType = "String", value = "排序"), @ApiImplicitParam(name = "groupid", paramType = "path", dataType = "String", value = "文件夹id"), @ApiImplicitParam(name = "restype", paramType = "path", dataType = "int", value = "类型,1:需求,2:成果,6:企业,7:高校,8:人才"), @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id"), @ApiImplicitParam(name = "pagenum", paramType = "path", dataType = "int", value = "页码,从1开始"), }) public ResultModel getMyCollectResourcelist(@PathVariable String keyword, @PathVariable Integer pagenum, @PathVariable long userid, @PathVariable String sort, @PathVariable String groupid, @PathVariable Integer restype) { ResultModel resultModel = new ResultModel(); try { resultModel = resourceLibraryService.getMyCollectResourceLibrary(pagenum, keyword.trim(), userid, 30001, Constant.TRACE_TYPE_2619, restype); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } /** * 通过资源id和type来查找对应的资源详情 * * @param resourceid 资源id * @param type 区分企业、人才、需求、成果等等 * @return */ @RequestMapping(value = "/detail/{resourceid}/{type}/{userid}/{node}/{pagecode}/{innertype}", method = RequestMethod.GET) @ApiOperation(value = "资源详情", notes = "查询资源的详情") @ApiImplicitParams({ @ApiImplicitParam(name = "resourceid", paramType = "path", dataType = "long", value = "资源id"), @ApiImplicitParam(name = "type", paramType = "path", dataType = "String", value = "对应的categoryModuleid,1/2/6/7/8"), @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id"), @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点号"), @ApiImplicitParam(name = "pagecode", paramType = "path", dataType = "String", value = "页面编号"), @ApiImplicitParam(name = "innertype", paramType = "path", dataType = "int", value = "内部类型(通常用于单个表有多个属性)") }) public ResultModel getResourceDetail(@PathVariable long resourceid, @PathVariable String type, @PathVariable long userid, @PathVariable String node, @PathVariable Integer pagecode, @PathVariable Integer innertype) { // System.out.println("resourceid:" + resourceid + ",type:" + type + ",userid:" + userid + ",node:" // + node + ",pagecode:" + pagecode + ",innertype:" + innertype); ResultModel resultModel = new ResultModel(); try { resultModel.setData(resourceServiceImpl.getResourceDetail(resourceid, userid, node, pagecode, innertype)); // // 显示该条资源的关键词,detail/111129/8/3002/320117400/1000001/0 resultModel.setOtherObj(labelRecordService.taskInfoKeywordList(resourceid, node)); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/detail/get/{resid}/{node}", method = RequestMethod.GET) @ApiOperation(value = "资源详情", notes = "查询资源的详情") @ApiImplicitParams({ @ApiImplicitParam(name = "resid", paramType = "path", dataType = "long", value = "资源id"), @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点") }) public ResultModel getResDetail(@PathVariable long resid, @PathVariable String node) { ResultModel resultModel = new ResultModel(); try { resultModel.setData(resourceServiceImpl.getResDetail(resid)); //显示该条资源的关键词 resultModel.setOtherObj(labelRecordService.taskInfoKeywordList(resid, node)); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } /** * 通过资源id和type来查找对应的资源详情 * * @param resourceid 资源id * @param type 区分企业、人才、需求、成果等等 * @return */ @RequestMapping(value = "/otherdetail/{resourceid}/{type}/{userid}/{node}/{pagecode}/{innertype}", method = RequestMethod.GET) @ApiOperation(value = "资源详情附属信息", notes = "查询资源的附属详情") @ApiImplicitParams({ @ApiImplicitParam(name = "resourceid", paramType = "path", dataType = "long", value = "资源id"), @ApiImplicitParam(name = "type", paramType = "path", dataType = "String", value = "对应的categoryModuleid,1/2/6/7/8"), @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id"), @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点号"), @ApiImplicitParam(name = "pagecode", paramType = "path", dataType = "String", value = "页面编号"), @ApiImplicitParam(name = "innertype", paramType = "path", dataType = "int", value = "内部类型(通常用于单个表有多个属性)") }) public ResultModel getResourceOtherDetail(@PathVariable long resourceid, @PathVariable String type, @PathVariable long userid, @PathVariable String node, @PathVariable Integer pagecode, @PathVariable Integer innertype) { ResultModel resultModel = new ResultModel(); try { resultModel.setData(resourceServiceImpl.getResourceOtherDetail(resourceid, userid, node, pagecode, innertype, true)); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } /** * 获取资源库文件夹 * * @param node * @param keyword * @return */ @RequestMapping(value = "/claidlist/{keyword}/{node}/{userid}", method = RequestMethod.GET) @ApiOperation(value = "获取文件夹", notes = "查询node对应的文件夹列表") @ApiImplicitParams({ @ApiImplicitParam(name = "keyword", paramType = "path", dataType = "String", value = "关键词"), @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点号"), @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "当前登录用户id"), }) public ResultModel getConinfoClaslist(@PathVariable String node, @PathVariable String keyword, @PathVariable long userid) { ResultModel resultModel = new ResultModel(); try { List list = resourceServiceImpl.getConClaidByNode(node, keyword.trim(), userid); log.info("***list:{}", JSON.toJSONString(list)); resultModel.setData(list); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } /** * 根据节点获取资源库id * * @param node * @return */ @RequestMapping(value = "/claidinfo/{node}", method = RequestMethod.GET) @ApiOperation(value = "获取文件夹", notes = "查询node对应的文件夹列表") @ApiImplicitParams({ @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点号"), }) public ResultModel getClaidinfo(@PathVariable String node) { System.err.println("获取文件夹,test...."); ResultModel resultModel = new ResultModel(); try { NodeClassificationLk nodeClassificationLk = resourceServiceImpl.getClaidByNode(node); resultModel.setData(nodeClassificationLk.getClaid()); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } /** * 获取2019武进人工智能外籍院士列表信息 * * @return */ @RequestMapping(value = "/ai/academician/list", method = RequestMethod.GET) @ApiOperation(value = "2019武进人工智能外籍院士", notes = "2019武进人工智能外籍院士") @ApiImplicitParams({ }) public ResultModel wjAIAcademicianList() { ResultModel resultModel = new ResultModel(); try { List list = resourceServiceImpl.wjAIAcademicianList(); resultModel.setData(list); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/demand/reward/get/{taskid}/{userid}", method = RequestMethod.GET) @ApiOperation(value = "桐庐对接记录申请奖励", notes = "桐庐对接记录申请奖励") @ApiImplicitParams({ @ApiImplicitParam(name = "taskid", paramType = "path", dataType = "long", value = "任务id"), @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id") }) public ResultModel getDemandReward(@PathVariable long taskid, @PathVariable long userid) { ResultModel resultModel = new ResultModel(); try { boolean b = resourceServiceImpl.getDemandReward(taskid, userid); resultModel.setData(b); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/demand/reward/detail/get/{resid}/{userid}/{insertDBFlag}/{orguser}/{orgtel}/{node}", method = RequestMethod.GET) @ApiOperation(value = "获取桐庐对接记录申请奖励页面显示元素", notes = "获取桐庐对接记录申请奖励页面显示元素") @ApiImplicitParams({ @ApiImplicitParam(name = "resid", paramType = "path", dataType = "long", value = "资源id"), @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id"), @ApiImplicitParam(name = "insertDBFlag", paramType = "path", dataType = "boolean", value = "是否需要插入数据库"), @ApiImplicitParam(name = "orguser", paramType = "path", dataType = "String", value = "机构用户"), @ApiImplicitParam(name = "orgtel", paramType = "path", dataType = "String", value = "机构用户联系方式"), @ApiImplicitParam(name = "node", paramType = "path", dataType = "long", value = "节点") }) public ResultModel getDemandRewardDetail(@PathVariable long resid, @PathVariable long userid, @PathVariable boolean insertDBFlag, @PathVariable String orguser, @PathVariable String orgtel, @PathVariable long node) { ResultModel resultModel = new ResultModel(); try { DemandRewardDetailModel demandRewardDetail = resourceServiceImpl.getDemandRewardDetail(resid, userid, insertDBFlag, orguser, orgtel, node); resultModel.setData(demandRewardDetail); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/org/get/{orgname}/{node}", method = RequestMethod.GET) @ApiOperation(value = "由机构名称获取机构信息", notes = "由机构名称获取机构信息") @ApiImplicitParams({ @ApiImplicitParam(name = "orgname", paramType = "path", dataType = "String", value = "企业名称"), @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点") }) public ResultModel getOrgByName(@PathVariable String orgname, @PathVariable String node) { ResultModel resultModel = new ResultModel(); try { resultModel.setData(resourceServiceImpl.getOrgByName(orgname, node)); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/org/delete/{unionorgid}/{viceorgid}", method = RequestMethod.GET) @ApiOperation(value = "武进联盟删除入驻企业", notes = "武进联盟删除入驻企业") @ApiImplicitParams({ @ApiImplicitParam(name = "unionorgid", paramType = "path", dataType = "long", value = "武进联盟id"), @ApiImplicitParam(name = "viceorgid", paramType = "path", dataType = "long", value = "入驻企业id") }) public ResultModel deleteOrg(@PathVariable long unionorgid, @PathVariable long viceorgid) { ResultModel resultModel = new ResultModel(); try { resourceServiceImpl.deleteOrg(unionorgid, viceorgid); resultModel.setData(""); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/claid/get/{moduleid}", method = RequestMethod.GET) @ApiOperation(value = "获取对应文件夹", notes = "获取对应文件夹") @ApiImplicitParams({ @ApiImplicitParam(name = "moduleid", paramType = "path", dataType = "long", value = "文件夹所属类别(类似资源库的restype)"), }) public ResultModel getClaid(@PathVariable long moduleid) { ResultModel resultModel = new ResultModel(); try { resultModel.setData(resourceServiceImpl.getClaid(moduleid)); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/industryList", method = RequestMethod.GET) @ApiOperation(value = "查询所有行业", notes = "查询所有行业") @ApiImplicitParams({ }) public ResultModel resourcelistIndustryList() { ResultModel resultModel = new ResultModel(); try { resultModel.setData(labelIntelligentCommonInfoMapper.selectList(new EntityWrapper().lt("id", 492))); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/list/eslist/{esIdList}/{role}", method = RequestMethod.GET) @ApiOperation(value = " 通过索引库资源查询数据库资源", notes = "通过索引库资源查询数据库资源") @ApiImplicitParams({ @ApiImplicitParam(name = "esIdList", paramType = "path", dataType = "String", value = "es库索引id列表"), @ApiImplicitParam(name = "role", paramType = "path", dataType = "String", value = "用户角色") }) public ResultModel getResourceTypeList(@PathVariable List esIdList, @PathVariable String role) { ResultModel resultModel = new ResultModel(); try { resultModel.setData(resourceLibraryService.getResourceListByES(esIdList, role)); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/sms/list/{node}", method = RequestMethod.GET) @ApiOperation(value = "查询短信发送的历史记录", notes = "查询短信发送的历史记录") @ApiImplicitParams({ @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点") }) public ResultModel getSmsList(@PathVariable String node) { ResultModel resultModel = new ResultModel(); try { resultModel.setData(resourceLibraryService.getSmsList(node)); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/year/report/list/{title}/{node}", method = RequestMethod.GET) @ApiOperation(value = " 获取企业年报数据", notes = "获取企业年报数据") @ApiImplicitParams({ @ApiImplicitParam(name = "title", paramType = "path", dataType = "String", value = "企业名称"), @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点") }) public ResultModel getYearReportList(@PathVariable String title, @PathVariable String node) { ResultModel resultModel = new ResultModel(); try { resultModel.setData(resourceLibraryService.getYearReportList(title, node)); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } /** * 发送短信拉取全部数据 * * @param keyword * @param pagenum * @param userid * @param sort * @param groupid * @param moduleid * @param category * @param tracetype * @param labelName * @return */ @RequestMapping(value = "/resourcelist/all/{keyword}/{sort}/{groupid}/{moduleid}/{userid}/{pagenum}/{category}/{tracetype}/{labelName}/{node}", method = RequestMethod.GET) @ApiOperation(value = "资源库筛选功能获取全部数据", notes = "资源库筛选功能获取全部数据") @ApiImplicitParams({ @ApiImplicitParam(name = "keyword", paramType = "path", dataType = "String", value = "关键词"), @ApiImplicitParam(name = "sort", paramType = "path", dataType = "String", value = "排序"), @ApiImplicitParam(name = "groupid", paramType = "path", dataType = "String", value = "文件夹id"), @ApiImplicitParam(name = "moduleid", paramType = "path", dataType = "int", value = "类型,1:需求,2:成果,6:企业,7:高校,8:人才"), @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id"), @ApiImplicitParam(name = "pagenum", paramType = "path", dataType = "int", value = "页码,从0开始"), @ApiImplicitParam(name = "category", paramType = "path", dataType = "String", value = "行业"), @ApiImplicitParam(name = "tracetype", paramType = "path", dataType = "int", value = "痕迹类型,2619是收藏"), @ApiImplicitParam(name = "labelName", paramType = "path", dataType = "String", value = "筛选条件"), @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点信息") }) public ResultModel getResourcelistForAll(@PathVariable String keyword, @PathVariable Integer pagenum, @PathVariable long userid, @PathVariable String sort, @PathVariable String groupid, @PathVariable Integer moduleid, @PathVariable String category, @PathVariable Integer tracetype, @PathVariable String labelName, @PathVariable String node) { ResultModel resultModel = new ResultModel(); try { if (moduleid != 0) { resourceLibraryService.getResourcelistForAll(keyword, pagenum, userid, sort, groupid, moduleid, category, tracetype, labelName, resultModel, node); } //含有“武进区科技创新创业联盟入驻企业”标签的企业列表 if (groupid.equals("231") && moduleid == 0) { resourceLibraryService.getResListForWJUnion(userid, pagenum, resultModel, keyword); } } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/detail/orgcode/get", method = RequestMethod.POST) @ApiOperation(value = "通过orgcode获取资源相关资源信息", notes = "通过orgcode获取资源相关资源信息") @ApiImplicitParams({ }) public ResultModel getResByOrgcode(@RequestBody ResDetailForOrgCode resDetailForOrgCode) { ResultModel resultModel = new ResultModel(); try { resultModel.setData(resourceLibraryService.getResByOrgcode(resDetailForOrgCode.getOrgcode(), resDetailForOrgCode.getYear())); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/delete/resid/{resid}", method = RequestMethod.GET) @ApiOperation(value = "通过resid来删除对应的通知公告库的数据库和索引库数据", notes = "通过resid来删除对应的通知公告库的数据库和索引库数据") @ApiImplicitParams({ @ApiImplicitParam(name = "resid", paramType = "path", dataType = "String", value = "资源id"), }) public ResultModel deleteNotice(@PathVariable String resid) { ResultModel resultModel = new ResultModel(); try { resourceLibraryService.deleteNotice(resid); resultModel.setData(""); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "/picture/list/{resid}/{creator}", method = RequestMethod.GET) @ApiOperation(value = "通过resid来获取通知公告库对应的附件", notes = "通过resid来获取通知公告库对应的附件") @ApiImplicitParams({ @ApiImplicitParam(name = "resid", paramType = "path", dataType = "String", value = "资源id"), @ApiImplicitParam(name = "creator", paramType = "path", dataType = "long", value = "创建用户id") }) public ResultModel getPictureList(@PathVariable String resid, @PathVariable long creator) { ResultModel resultModel = new ResultModel(); try { resultModel.setData(resourceLibraryService.getPictureList(resid, creator)); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @RequestMapping(value = "es/get/unique/{unique}", method = RequestMethod.GET) @ApiOperation(value = "通过unique来获取对应的es索引库数据", notes = "通过unique来获取对应的es索引库数据") @ApiImplicitParams({ @ApiImplicitParam(name = "unique", paramType = "path", dataType = "Long", value = "索引id(即资源id)"), }) public ResultModel getESDataByUnique(@PathVariable Long unique) { ResultModel resultModel = new ResultModel(); try { resultModel.setData(resourceLibraryService.getESDataByUnique(unique)); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } @PostMapping(value = "/list/export") @ApiOperation(value = "桐庐需求库导出", notes = "桐庐需求库导出") @ApiImplicitParams({ }) public ResultModel exportResourceList(@RequestBody RequestModel requestModel) { ResultModel resultModel = new ResultModel(); try { ExportIndexModel exportIndexModel = Util.fromJson(Util.toJson(requestModel.getData()), ExportIndexModel.class); HSSFWorkbook workbook = resourceLibraryService.exportResourceList(requestModel, exportIndexModel); //文档输出 Long time = new Date().getTime(); String path = time + ".xls"; FileOutputStream out = new FileOutputStream(path); workbook.write(out); out.close(); SystemPicture systemPicture = new SystemPicture(); File file = new File(path); FileInputStream input = new FileInputStream(new File(path)); MultipartFile multipartFile = new MockMultipartFile("file", file.getName(), "text/plain", IOUtils.toByteArray(input)); if (!multipartFile.isEmpty()) { String[] filename = imageSpiderCommon.getImagePath(multipartFile).toString().split(","); systemPicture.setPhotoName(filename[0].trim());//缩略图 systemPicture.setOriginalName(filename[1].trim());//放大图 systemPicture.setSourceName(filename[2].trim());//原图 systemPicture.setSourceSize(filename[3].trim());//大小 if (StringUtils.isBlank(systemPicture.getSourceName()) && filename.length > 5) { systemPicture.setSourceName(filename[4].trim());//原图 } String fileExtName = filename[0].trim().substring(filename[0].trim().lastIndexOf(".") + 1); // System.out.println(fileExtName); systemPicture.setDoctype(Util.getAttachmentType(fileExtName)); } resultModel.setData(systemPicture); } catch (Exception e) { resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setData(e.toString()); e.printStackTrace(); throw new RuntimeException("桐庐需求库导出数据出现异常"); } return resultModel; } @RequestMapping(value = "/export/field/list/{type}/{node}", method = RequestMethod.GET) @ApiOperation(value = "获取资源库导出字段列表", notes = "获取资源库导出字段列表") @ApiImplicitParams({ @ApiImplicitParam(name = "type", paramType = "path", dataType = "String", value = "对应的categoryModuleid,1/2/6/7/8"), @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点号") }) public ResultModel getExportFieldList(@PathVariable String type, @PathVariable String node) { ResultModel resultModel = new ResultModel(); try { resultModel.setData(resourceServiceImpl.getExportFieldList(type, node)); } catch (Exception e) {//异常 resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); resultModel.setMessage(e.toString()); e.printStackTrace(); } return resultModel; } // @RequestMapping(value = "/achievement/handle",method = RequestMethod.GET) // @ApiOperation(value = "成果数据增加至溧水经开区节点", notes = "成果数据增加至溧水经开区节点") // @ApiImplicitParams({ // }) // public ResultModel setAchievementHandle() { // ResultModel resultModel = new ResultModel(); // try { // resourceServiceImpl.setAchievementHandle(); // resultModel.setData(""); // } catch (Exception e) {//异常 // resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351); // resultModel.setMessage(e.toString()); // e.printStackTrace(); // } // return resultModel; // } }