ResourceController.java 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698
  1. package cn.ubitech.ttc.controller;
  2. import cn.ubitech.ttc.common.ImageSpiderCommon;
  3. import cn.ubitech.ttc.common.Util;
  4. import cn.ubitech.ttc.dao.LabelIntelligentCommonInfoMapper;
  5. import cn.ubitech.ttc.dao.ResourcelibraryMapper;
  6. import cn.ubitech.ttc.entity.*;
  7. import cn.ubitech.ttc.model.common.*;
  8. import cn.ubitech.ttc.model.information.ExportIndexModel;
  9. import cn.ubitech.ttc.model.information.ResourceIndexTitleModel;
  10. import cn.ubitech.ttc.model.label.LabelModel;
  11. import cn.ubitech.ttc.model.resource.ResDetailForOrgCode;
  12. import cn.ubitech.ttc.model.user.DemandRewardDetailModel;
  13. import cn.ubitech.ttc.model.user.UserModel;
  14. import cn.ubitech.ttc.service.impl.label.LabelRecordServiceImpl;
  15. import cn.ubitech.ttc.service.impl.resource.ResourceLibraryServiceImpl;
  16. import cn.ubitech.ttc.service.impl.resource.ResourceServiceImpl;
  17. import cn.ubitech.ttc.service.impl.resourceChoice.ResouceChoiceServiceImpl;
  18. import cn.ubitech.ttc.service.impl.search.SearchServiceImpl;
  19. import cn.ubitech.ttc.service.impl.user.UserServiceImpl;
  20. import com.alibaba.fastjson.JSON;
  21. import com.baomidou.mybatisplus.mapper.EntityWrapper;
  22. import io.swagger.annotations.Api;
  23. import io.swagger.annotations.ApiImplicitParam;
  24. import io.swagger.annotations.ApiImplicitParams;
  25. import io.swagger.annotations.ApiOperation;
  26. import lombok.extern.slf4j.Slf4j;
  27. import org.apache.commons.collections.CollectionUtils;
  28. import org.apache.commons.io.IOUtils;
  29. import org.apache.commons.lang.StringUtils;
  30. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  31. import org.apache.poi.xssf.streaming.SXSSFWorkbook;
  32. import org.springframework.beans.factory.annotation.Autowired;
  33. import org.springframework.data.domain.Page;
  34. import org.springframework.mock.web.MockMultipartFile;
  35. import org.springframework.web.bind.annotation.*;
  36. import org.springframework.web.multipart.MultipartFile;
  37. import javax.servlet.http.HttpServletRequest;
  38. import java.io.File;
  39. import java.io.FileInputStream;
  40. import java.io.FileOutputStream;
  41. import java.util.*;
  42. /**
  43. * code is far away from bug with the animal protecting
  44. * ┏┓   ┏┓
  45. * ┏┛┻━━━┛┻┓
  46. * ┃       ┃
  47. * ┃   ━   ┃
  48. * ┃ ┳┛ ┗┳ ┃
  49. * ┃       ┃
  50. * ┃   ┻   ┃
  51. * ┃       ┃
  52. * ┗━┓   ┏━┛
  53. *   ┃   ┃神兽保佑
  54. *   ┃   ┃代码无BUG!
  55. *   ┃   ┗━━━┓
  56. *   ┃       ┣┓
  57. *   ┃       ┏┛
  58. *   ┗┓┓┏━┳┓┏┛
  59. *    ┃┫┫ ┃┫┫
  60. *    ┗┻┛ ┗┻┛
  61. *
  62. * @author chen.cong
  63. * @version 3.0
  64. * @Date: Create in 2018/5/31 15:28
  65. * @Modifyed By:
  66. * @Description: 资源的controller
  67. */
  68. @RestController
  69. @RequestMapping("/resource")
  70. @Api(description = "资源库接口")
  71. @Slf4j
  72. public class ResourceController {
  73. @Autowired
  74. private ResourceServiceImpl resourceServiceImpl;
  75. @Autowired
  76. private ResourceLibraryServiceImpl resourceLibraryService;
  77. @Autowired
  78. private LabelRecordServiceImpl labelRecordService;
  79. @Autowired
  80. private LabelIntelligentCommonInfoMapper labelIntelligentCommonInfoMapper;
  81. @Autowired
  82. private ImageSpiderCommon imageSpiderCommon;
  83. /**
  84. * 通过关键词查询资源;默认是从索引库中查找,找出列表后可以获取该资源的resourceid和type
  85. *
  86. * @param keyword
  87. * @param pagenum
  88. * @param userid
  89. * @param sort
  90. * @param groupid
  91. * @param moduleid
  92. * @param category
  93. * @param tracetype
  94. * @param labelName
  95. * @return
  96. */
  97. @RequestMapping(value = "/resourcelist/{keyword}/{sort}/{groupid}/{moduleid}/{userid}/{pagenum}/{category}/{tracetype}/{labelName}/{node}/{morescreening}/{potentiallibrary}", method = RequestMethod.GET)
  98. @ApiOperation(value = "资源库搜索", notes = "通过关键词查询资源库的列表")
  99. @ApiImplicitParams({
  100. @ApiImplicitParam(name = "keyword", paramType = "path", dataType = "String", value = "关键词"),
  101. @ApiImplicitParam(name = "sort", paramType = "path", dataType = "String", value = "排序"),
  102. @ApiImplicitParam(name = "groupid", paramType = "path", dataType = "String", value = "文件夹id"),
  103. @ApiImplicitParam(name = "moduleid", paramType = "path", dataType = "int", value = "类型,1:需求,2:成果,6:企业,7:高校,8:人才"),
  104. @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id"),
  105. @ApiImplicitParam(name = "pagenum", paramType = "path", dataType = "int", value = "页码,从0开始"),
  106. @ApiImplicitParam(name = "category", paramType = "path", dataType = "String", value = "行业"),
  107. @ApiImplicitParam(name = "tracetype", paramType = "path", dataType = "int", value = "痕迹类型,2619是收藏"),
  108. @ApiImplicitParam(name = "labelName", paramType = "path", dataType = "String", value = "筛选条件"),
  109. @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点信息"),
  110. @ApiImplicitParam(name = "morescreening", paramType = "path", dataType = "String", value = "更多筛选"),
  111. @ApiImplicitParam(name = "potentiallibrary", paramType = "path", dataType = "String", value = "潜力库筛选,1:国高,2:省科小,3:雏鹰,4:市级研发中心,5:省级研发中心,6:省级研究院,7:飞地研发中心")
  112. })
  113. public ResultModel getResourcelist(@PathVariable String keyword, @PathVariable Integer pagenum, @PathVariable long userid,
  114. @PathVariable String sort, @PathVariable String groupid, @PathVariable Integer moduleid,
  115. @PathVariable String category, @PathVariable Integer tracetype, @PathVariable String labelName,
  116. @PathVariable String node, @PathVariable String morescreening, @PathVariable String potentiallibrary) {
  117. log.info("keyword:{},userid:{},sort:{},groupid:{},moduleid:{},category:{},tracetype:{},labelName:{},node:{},morescreening:{},potentiallibrary:{}",keyword,userid,sort,groupid,moduleid,category,tracetype,
  118. labelName,node,morescreening,potentiallibrary);
  119. log.info("potentiallibrary:{}",potentiallibrary);
  120. ResultModel resultModel = new ResultModel();
  121. try {
  122. if (moduleid != 0) {
  123. resourceLibraryService.getResourceList(keyword, pagenum, userid, sort, groupid, moduleid,
  124. category, tracetype, labelName, resultModel, node, morescreening,Integer.valueOf(potentiallibrary));
  125. }
  126. //含有“武进区科技创新创业联盟入驻企业”标签的企业列表
  127. if (groupid.equals("231") && moduleid == 0) {
  128. resourceLibraryService.getResListForWJUnion(userid, pagenum, resultModel, keyword);
  129. }
  130. } catch (Exception e) {//异常
  131. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  132. resultModel.setMessage(e.toString());
  133. e.printStackTrace();
  134. }
  135. return resultModel;
  136. }
  137. /**
  138. * 通过关键词查询资源;默认是从索引库中查找,找出列表后可以获取该资源的resourceid和type
  139. *
  140. * @param keyword 关键词
  141. * @return List
  142. */
  143. @RequestMapping(value = "/collectresourcelist/{keyword}/{sort}/{groupid}/{restype}/{userid}/{pagenum}", method = RequestMethod.GET)
  144. @ApiOperation(value = "我的收藏资源", notes = "关键词查询我的收藏资源")
  145. @ApiImplicitParams({
  146. @ApiImplicitParam(name = "keyword", paramType = "path", dataType = "String", value = "关键词"),
  147. @ApiImplicitParam(name = "sort", paramType = "path", dataType = "String", value = "排序"),
  148. @ApiImplicitParam(name = "groupid", paramType = "path", dataType = "String", value = "文件夹id"),
  149. @ApiImplicitParam(name = "restype", paramType = "path", dataType = "int", value = "类型,1:需求,2:成果,6:企业,7:高校,8:人才"),
  150. @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id"),
  151. @ApiImplicitParam(name = "pagenum", paramType = "path", dataType = "int", value = "页码,从1开始"),
  152. })
  153. public ResultModel getMyCollectResourcelist(@PathVariable String keyword, @PathVariable Integer pagenum, @PathVariable long userid,
  154. @PathVariable String sort, @PathVariable String groupid, @PathVariable Integer restype) {
  155. ResultModel resultModel = new ResultModel();
  156. try {
  157. resultModel = resourceLibraryService.getMyCollectResourceLibrary(pagenum, keyword.trim(), userid, 30001, Constant.TRACE_TYPE_2619, restype);
  158. } catch (Exception e) {//异常
  159. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  160. resultModel.setMessage(e.toString());
  161. e.printStackTrace();
  162. }
  163. return resultModel;
  164. }
  165. /**
  166. * 通过资源id和type来查找对应的资源详情
  167. *
  168. * @param resourceid 资源id
  169. * @param type 区分企业、人才、需求、成果等等
  170. * @return
  171. */
  172. @RequestMapping(value = "/detail/{resourceid}/{type}/{userid}/{node}/{pagecode}/{innertype}", method = RequestMethod.GET)
  173. @ApiOperation(value = "资源详情", notes = "查询资源的详情")
  174. @ApiImplicitParams({
  175. @ApiImplicitParam(name = "resourceid", paramType = "path", dataType = "long", value = "资源id"),
  176. @ApiImplicitParam(name = "type", paramType = "path", dataType = "String", value = "对应的categoryModuleid,1/2/6/7/8"),
  177. @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id"),
  178. @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点号"),
  179. @ApiImplicitParam(name = "pagecode", paramType = "path", dataType = "String", value = "页面编号"),
  180. @ApiImplicitParam(name = "innertype", paramType = "path", dataType = "int", value = "内部类型(通常用于单个表有多个属性)")
  181. })
  182. public ResultModel getResourceDetail(@PathVariable long resourceid, @PathVariable String type, @PathVariable long userid,
  183. @PathVariable String node, @PathVariable Integer pagecode, @PathVariable Integer innertype) {
  184. // System.out.println("resourceid:" + resourceid + ",type:" + type + ",userid:" + userid + ",node:"
  185. // + node + ",pagecode:" + pagecode + ",innertype:" + innertype);
  186. ResultModel resultModel = new ResultModel();
  187. try {
  188. resultModel.setData(resourceServiceImpl.getResourceDetail(resourceid, userid, node, pagecode, innertype));
  189. //
  190. // 显示该条资源的关键词,detail/111129/8/3002/320117400/1000001/0
  191. resultModel.setOtherObj(labelRecordService.taskInfoKeywordList(resourceid, node));
  192. } catch (Exception e) {//异常
  193. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  194. resultModel.setMessage(e.toString());
  195. e.printStackTrace();
  196. }
  197. return resultModel;
  198. }
  199. @RequestMapping(value = "/detail/get/{resid}/{node}", method = RequestMethod.GET)
  200. @ApiOperation(value = "资源详情", notes = "查询资源的详情")
  201. @ApiImplicitParams({
  202. @ApiImplicitParam(name = "resid", paramType = "path", dataType = "long", value = "资源id"),
  203. @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点")
  204. })
  205. public ResultModel getResDetail(@PathVariable long resid, @PathVariable String node) {
  206. ResultModel resultModel = new ResultModel();
  207. try {
  208. resultModel.setData(resourceServiceImpl.getResDetail(resid));
  209. //显示该条资源的关键词
  210. resultModel.setOtherObj(labelRecordService.taskInfoKeywordList(resid, node));
  211. } catch (Exception e) {//异常
  212. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  213. resultModel.setMessage(e.toString());
  214. e.printStackTrace();
  215. }
  216. return resultModel;
  217. }
  218. /**
  219. * 通过资源id和type来查找对应的资源详情
  220. *
  221. * @param resourceid 资源id
  222. * @param type 区分企业、人才、需求、成果等等
  223. * @return
  224. */
  225. @RequestMapping(value = "/otherdetail/{resourceid}/{type}/{userid}/{node}/{pagecode}/{innertype}", method = RequestMethod.GET)
  226. @ApiOperation(value = "资源详情附属信息", notes = "查询资源的附属详情")
  227. @ApiImplicitParams({
  228. @ApiImplicitParam(name = "resourceid", paramType = "path", dataType = "long", value = "资源id"),
  229. @ApiImplicitParam(name = "type", paramType = "path", dataType = "String", value = "对应的categoryModuleid,1/2/6/7/8"),
  230. @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id"),
  231. @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点号"),
  232. @ApiImplicitParam(name = "pagecode", paramType = "path", dataType = "String", value = "页面编号"),
  233. @ApiImplicitParam(name = "innertype", paramType = "path", dataType = "int", value = "内部类型(通常用于单个表有多个属性)")
  234. })
  235. public ResultModel getResourceOtherDetail(@PathVariable long resourceid, @PathVariable String type, @PathVariable long userid,
  236. @PathVariable String node, @PathVariable Integer pagecode, @PathVariable Integer innertype) {
  237. ResultModel resultModel = new ResultModel();
  238. try {
  239. resultModel.setData(resourceServiceImpl.getResourceOtherDetail(resourceid, userid, node, pagecode, innertype, true));
  240. } catch (Exception e) {//异常
  241. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  242. resultModel.setMessage(e.toString());
  243. e.printStackTrace();
  244. }
  245. return resultModel;
  246. }
  247. /**
  248. * 获取资源库文件夹
  249. *
  250. * @param node
  251. * @param keyword
  252. * @return
  253. */
  254. @RequestMapping(value = "/claidlist/{keyword}/{node}/{userid}", method = RequestMethod.GET)
  255. @ApiOperation(value = "获取文件夹", notes = "查询node对应的文件夹列表")
  256. @ApiImplicitParams({
  257. @ApiImplicitParam(name = "keyword", paramType = "path", dataType = "String", value = "关键词"),
  258. @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点号"),
  259. @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "当前登录用户id"),
  260. })
  261. public ResultModel getConinfoClaslist(@PathVariable String node, @PathVariable String keyword, @PathVariable long userid) {
  262. ResultModel resultModel = new ResultModel();
  263. try {
  264. List<ConinfoClassification> list = resourceServiceImpl.getConClaidByNode(node, keyword.trim(), userid);
  265. log.info("***list:{}", JSON.toJSONString(list));
  266. resultModel.setData(list);
  267. } catch (Exception e) {//异常
  268. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  269. resultModel.setMessage(e.toString());
  270. e.printStackTrace();
  271. }
  272. return resultModel;
  273. }
  274. /**
  275. * 根据节点获取资源库id
  276. *
  277. * @param node
  278. * @return
  279. */
  280. @RequestMapping(value = "/claidinfo/{node}", method = RequestMethod.GET)
  281. @ApiOperation(value = "获取文件夹", notes = "查询node对应的文件夹列表")
  282. @ApiImplicitParams({
  283. @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点号"),
  284. })
  285. public ResultModel getClaidinfo(@PathVariable String node) {
  286. System.err.println("获取文件夹,test....");
  287. ResultModel resultModel = new ResultModel();
  288. try {
  289. NodeClassificationLk nodeClassificationLk = resourceServiceImpl.getClaidByNode(node);
  290. resultModel.setData(nodeClassificationLk.getClaid());
  291. } catch (Exception e) {//异常
  292. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  293. resultModel.setMessage(e.toString());
  294. e.printStackTrace();
  295. }
  296. return resultModel;
  297. }
  298. /**
  299. * 获取2019武进人工智能外籍院士列表信息
  300. *
  301. * @return
  302. */
  303. @RequestMapping(value = "/ai/academician/list", method = RequestMethod.GET)
  304. @ApiOperation(value = "2019武进人工智能外籍院士", notes = "2019武进人工智能外籍院士")
  305. @ApiImplicitParams({
  306. })
  307. public ResultModel wjAIAcademicianList() {
  308. ResultModel resultModel = new ResultModel();
  309. try {
  310. List<Resourcelibrary> list = resourceServiceImpl.wjAIAcademicianList();
  311. resultModel.setData(list);
  312. } catch (Exception e) {//异常
  313. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  314. resultModel.setMessage(e.toString());
  315. e.printStackTrace();
  316. }
  317. return resultModel;
  318. }
  319. @RequestMapping(value = "/demand/reward/get/{taskid}/{userid}", method = RequestMethod.GET)
  320. @ApiOperation(value = "桐庐对接记录申请奖励", notes = "桐庐对接记录申请奖励")
  321. @ApiImplicitParams({
  322. @ApiImplicitParam(name = "taskid", paramType = "path", dataType = "long", value = "任务id"),
  323. @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id")
  324. })
  325. public ResultModel getDemandReward(@PathVariable long taskid, @PathVariable long userid) {
  326. ResultModel resultModel = new ResultModel();
  327. try {
  328. boolean b = resourceServiceImpl.getDemandReward(taskid, userid);
  329. resultModel.setData(b);
  330. } catch (Exception e) {//异常
  331. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  332. resultModel.setMessage(e.toString());
  333. e.printStackTrace();
  334. }
  335. return resultModel;
  336. }
  337. @RequestMapping(value = "/demand/reward/detail/get/{resid}/{userid}/{insertDBFlag}/{orguser}/{orgtel}/{node}", method = RequestMethod.GET)
  338. @ApiOperation(value = "获取桐庐对接记录申请奖励页面显示元素", notes = "获取桐庐对接记录申请奖励页面显示元素")
  339. @ApiImplicitParams({
  340. @ApiImplicitParam(name = "resid", paramType = "path", dataType = "long", value = "资源id"),
  341. @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id"),
  342. @ApiImplicitParam(name = "insertDBFlag", paramType = "path", dataType = "boolean", value = "是否需要插入数据库"),
  343. @ApiImplicitParam(name = "orguser", paramType = "path", dataType = "String", value = "机构用户"),
  344. @ApiImplicitParam(name = "orgtel", paramType = "path", dataType = "String", value = "机构用户联系方式"),
  345. @ApiImplicitParam(name = "node", paramType = "path", dataType = "long", value = "节点")
  346. })
  347. public ResultModel getDemandRewardDetail(@PathVariable long resid, @PathVariable long userid, @PathVariable boolean insertDBFlag, @PathVariable String orguser, @PathVariable String orgtel, @PathVariable long node) {
  348. ResultModel resultModel = new ResultModel();
  349. try {
  350. DemandRewardDetailModel demandRewardDetail = resourceServiceImpl.getDemandRewardDetail(resid, userid, insertDBFlag, orguser, orgtel, node);
  351. resultModel.setData(demandRewardDetail);
  352. } catch (Exception e) {//异常
  353. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  354. resultModel.setMessage(e.toString());
  355. e.printStackTrace();
  356. }
  357. return resultModel;
  358. }
  359. @RequestMapping(value = "/org/get/{orgname}/{node}", method = RequestMethod.GET)
  360. @ApiOperation(value = "由机构名称获取机构信息", notes = "由机构名称获取机构信息")
  361. @ApiImplicitParams({
  362. @ApiImplicitParam(name = "orgname", paramType = "path", dataType = "String", value = "企业名称"),
  363. @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点")
  364. })
  365. public ResultModel getOrgByName(@PathVariable String orgname, @PathVariable String node) {
  366. ResultModel resultModel = new ResultModel();
  367. try {
  368. resultModel.setData(resourceServiceImpl.getOrgByName(orgname, node));
  369. } catch (Exception e) {//异常
  370. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  371. resultModel.setMessage(e.toString());
  372. e.printStackTrace();
  373. }
  374. return resultModel;
  375. }
  376. @RequestMapping(value = "/org/delete/{unionorgid}/{viceorgid}", method = RequestMethod.GET)
  377. @ApiOperation(value = "武进联盟删除入驻企业", notes = "武进联盟删除入驻企业")
  378. @ApiImplicitParams({
  379. @ApiImplicitParam(name = "unionorgid", paramType = "path", dataType = "long", value = "武进联盟id"),
  380. @ApiImplicitParam(name = "viceorgid", paramType = "path", dataType = "long", value = "入驻企业id")
  381. })
  382. public ResultModel deleteOrg(@PathVariable long unionorgid, @PathVariable long viceorgid) {
  383. ResultModel resultModel = new ResultModel();
  384. try {
  385. resourceServiceImpl.deleteOrg(unionorgid, viceorgid);
  386. resultModel.setData("");
  387. } catch (Exception e) {//异常
  388. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  389. resultModel.setMessage(e.toString());
  390. e.printStackTrace();
  391. }
  392. return resultModel;
  393. }
  394. @RequestMapping(value = "/claid/get/{moduleid}", method = RequestMethod.GET)
  395. @ApiOperation(value = "获取对应文件夹", notes = "获取对应文件夹")
  396. @ApiImplicitParams({
  397. @ApiImplicitParam(name = "moduleid", paramType = "path", dataType = "long", value = "文件夹所属类别(类似资源库的restype)"),
  398. })
  399. public ResultModel getClaid(@PathVariable long moduleid) {
  400. ResultModel resultModel = new ResultModel();
  401. try {
  402. resultModel.setData(resourceServiceImpl.getClaid(moduleid));
  403. } catch (Exception e) {//异常
  404. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  405. resultModel.setMessage(e.toString());
  406. e.printStackTrace();
  407. }
  408. return resultModel;
  409. }
  410. @RequestMapping(value = "/industryList", method = RequestMethod.GET)
  411. @ApiOperation(value = "查询所有行业", notes = "查询所有行业")
  412. @ApiImplicitParams({
  413. })
  414. public ResultModel resourcelistIndustryList() {
  415. ResultModel resultModel = new ResultModel();
  416. try {
  417. resultModel.setData(labelIntelligentCommonInfoMapper.selectList(new EntityWrapper<LabelIntelligentCommonInfo>().lt("id", 492)));
  418. } catch (Exception e) {//异常
  419. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  420. resultModel.setMessage(e.toString());
  421. e.printStackTrace();
  422. }
  423. return resultModel;
  424. }
  425. @RequestMapping(value = "/list/eslist/{esIdList}/{role}", method = RequestMethod.GET)
  426. @ApiOperation(value = " 通过索引库资源查询数据库资源", notes = "通过索引库资源查询数据库资源")
  427. @ApiImplicitParams({
  428. @ApiImplicitParam(name = "esIdList", paramType = "path", dataType = "String", value = "es库索引id列表"),
  429. @ApiImplicitParam(name = "role", paramType = "path", dataType = "String", value = "用户角色")
  430. })
  431. public ResultModel getResourceTypeList(@PathVariable List<String> esIdList, @PathVariable String role) {
  432. ResultModel resultModel = new ResultModel();
  433. try {
  434. resultModel.setData(resourceLibraryService.getResourceListByES(esIdList, role));
  435. } catch (Exception e) {//异常
  436. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  437. resultModel.setMessage(e.toString());
  438. e.printStackTrace();
  439. }
  440. return resultModel;
  441. }
  442. @RequestMapping(value = "/sms/list/{node}", method = RequestMethod.GET)
  443. @ApiOperation(value = "查询短信发送的历史记录", notes = "查询短信发送的历史记录")
  444. @ApiImplicitParams({
  445. @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点")
  446. })
  447. public ResultModel getSmsList(@PathVariable String node) {
  448. ResultModel resultModel = new ResultModel();
  449. try {
  450. resultModel.setData(resourceLibraryService.getSmsList(node));
  451. } catch (Exception e) {//异常
  452. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  453. resultModel.setMessage(e.toString());
  454. e.printStackTrace();
  455. }
  456. return resultModel;
  457. }
  458. @RequestMapping(value = "/year/report/list/{title}/{node}", method = RequestMethod.GET)
  459. @ApiOperation(value = " 获取企业年报数据", notes = "获取企业年报数据")
  460. @ApiImplicitParams({
  461. @ApiImplicitParam(name = "title", paramType = "path", dataType = "String", value = "企业名称"),
  462. @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点")
  463. })
  464. public ResultModel getYearReportList(@PathVariable String title, @PathVariable String node) {
  465. ResultModel resultModel = new ResultModel();
  466. try {
  467. resultModel.setData(resourceLibraryService.getYearReportList(title, node));
  468. } catch (Exception e) {//异常
  469. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  470. resultModel.setMessage(e.toString());
  471. e.printStackTrace();
  472. }
  473. return resultModel;
  474. }
  475. /**
  476. * 发送短信拉取全部数据
  477. *
  478. * @param keyword
  479. * @param pagenum
  480. * @param userid
  481. * @param sort
  482. * @param groupid
  483. * @param moduleid
  484. * @param category
  485. * @param tracetype
  486. * @param labelName
  487. * @return
  488. */
  489. @RequestMapping(value = "/resourcelist/all/{keyword}/{sort}/{groupid}/{moduleid}/{userid}/{pagenum}/{category}/{tracetype}/{labelName}/{node}", method = RequestMethod.GET)
  490. @ApiOperation(value = "资源库筛选功能获取全部数据", notes = "资源库筛选功能获取全部数据")
  491. @ApiImplicitParams({
  492. @ApiImplicitParam(name = "keyword", paramType = "path", dataType = "String", value = "关键词"),
  493. @ApiImplicitParam(name = "sort", paramType = "path", dataType = "String", value = "排序"),
  494. @ApiImplicitParam(name = "groupid", paramType = "path", dataType = "String", value = "文件夹id"),
  495. @ApiImplicitParam(name = "moduleid", paramType = "path", dataType = "int", value = "类型,1:需求,2:成果,6:企业,7:高校,8:人才"),
  496. @ApiImplicitParam(name = "userid", paramType = "path", dataType = "long", value = "用户id"),
  497. @ApiImplicitParam(name = "pagenum", paramType = "path", dataType = "int", value = "页码,从0开始"),
  498. @ApiImplicitParam(name = "category", paramType = "path", dataType = "String", value = "行业"),
  499. @ApiImplicitParam(name = "tracetype", paramType = "path", dataType = "int", value = "痕迹类型,2619是收藏"),
  500. @ApiImplicitParam(name = "labelName", paramType = "path", dataType = "String", value = "筛选条件"),
  501. @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点信息")
  502. })
  503. public ResultModel getResourcelistForAll(@PathVariable String keyword, @PathVariable Integer pagenum, @PathVariable long userid,
  504. @PathVariable String sort, @PathVariable String groupid, @PathVariable Integer moduleid,
  505. @PathVariable String category, @PathVariable Integer tracetype, @PathVariable String labelName, @PathVariable String node) {
  506. ResultModel resultModel = new ResultModel();
  507. try {
  508. if (moduleid != 0) {
  509. resourceLibraryService.getResourcelistForAll(keyword, pagenum, userid, sort, groupid, moduleid,
  510. category, tracetype, labelName, resultModel, node);
  511. }
  512. //含有“武进区科技创新创业联盟入驻企业”标签的企业列表
  513. if (groupid.equals("231") && moduleid == 0) {
  514. resourceLibraryService.getResListForWJUnion(userid, pagenum, resultModel, keyword);
  515. }
  516. } catch (Exception e) {//异常
  517. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  518. resultModel.setMessage(e.toString());
  519. e.printStackTrace();
  520. }
  521. return resultModel;
  522. }
  523. @RequestMapping(value = "/detail/orgcode/get", method = RequestMethod.POST)
  524. @ApiOperation(value = "通过orgcode获取资源相关资源信息", notes = "通过orgcode获取资源相关资源信息")
  525. @ApiImplicitParams({
  526. })
  527. public ResultModel getResByOrgcode(@RequestBody ResDetailForOrgCode resDetailForOrgCode) {
  528. ResultModel resultModel = new ResultModel();
  529. try {
  530. resultModel.setData(resourceLibraryService.getResByOrgcode(resDetailForOrgCode.getOrgcode(), resDetailForOrgCode.getYear()));
  531. } catch (Exception e) {//异常
  532. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  533. resultModel.setMessage(e.toString());
  534. e.printStackTrace();
  535. }
  536. return resultModel;
  537. }
  538. @RequestMapping(value = "/delete/resid/{resid}", method = RequestMethod.GET)
  539. @ApiOperation(value = "通过resid来删除对应的通知公告库的数据库和索引库数据", notes = "通过resid来删除对应的通知公告库的数据库和索引库数据")
  540. @ApiImplicitParams({
  541. @ApiImplicitParam(name = "resid", paramType = "path", dataType = "String", value = "资源id"),
  542. })
  543. public ResultModel deleteNotice(@PathVariable String resid) {
  544. ResultModel resultModel = new ResultModel();
  545. try {
  546. resourceLibraryService.deleteNotice(resid);
  547. resultModel.setData("");
  548. } catch (Exception e) {//异常
  549. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  550. resultModel.setMessage(e.toString());
  551. e.printStackTrace();
  552. }
  553. return resultModel;
  554. }
  555. @RequestMapping(value = "/picture/list/{resid}/{creator}", method = RequestMethod.GET)
  556. @ApiOperation(value = "通过resid来获取通知公告库对应的附件", notes = "通过resid来获取通知公告库对应的附件")
  557. @ApiImplicitParams({
  558. @ApiImplicitParam(name = "resid", paramType = "path", dataType = "String", value = "资源id"),
  559. @ApiImplicitParam(name = "creator", paramType = "path", dataType = "long", value = "创建用户id")
  560. })
  561. public ResultModel getPictureList(@PathVariable String resid, @PathVariable long creator) {
  562. ResultModel resultModel = new ResultModel();
  563. try {
  564. resultModel.setData(resourceLibraryService.getPictureList(resid, creator));
  565. } catch (Exception e) {//异常
  566. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  567. resultModel.setMessage(e.toString());
  568. e.printStackTrace();
  569. }
  570. return resultModel;
  571. }
  572. @RequestMapping(value = "es/get/unique/{unique}", method = RequestMethod.GET)
  573. @ApiOperation(value = "通过unique来获取对应的es索引库数据", notes = "通过unique来获取对应的es索引库数据")
  574. @ApiImplicitParams({
  575. @ApiImplicitParam(name = "unique", paramType = "path", dataType = "Long", value = "索引id(即资源id)"),
  576. })
  577. public ResultModel getESDataByUnique(@PathVariable Long unique) {
  578. ResultModel resultModel = new ResultModel();
  579. try {
  580. resultModel.setData(resourceLibraryService.getESDataByUnique(unique));
  581. } catch (Exception e) {//异常
  582. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  583. resultModel.setMessage(e.toString());
  584. e.printStackTrace();
  585. }
  586. return resultModel;
  587. }
  588. @PostMapping(value = "/list/export")
  589. @ApiOperation(value = "桐庐需求库导出", notes = "桐庐需求库导出")
  590. @ApiImplicitParams({
  591. })
  592. public ResultModel exportResourceList(@RequestBody RequestModel requestModel) {
  593. ResultModel resultModel = new ResultModel();
  594. try {
  595. ExportIndexModel exportIndexModel = Util.fromJson(Util.toJson(requestModel.getData()), ExportIndexModel.class);
  596. HSSFWorkbook workbook = resourceLibraryService.exportResourceList(requestModel, exportIndexModel);
  597. //文档输出
  598. Long time = new Date().getTime();
  599. String path = time + ".xls";
  600. FileOutputStream out = new FileOutputStream(path);
  601. workbook.write(out);
  602. out.close();
  603. SystemPicture systemPicture = new SystemPicture();
  604. File file = new File(path);
  605. FileInputStream input = new FileInputStream(new File(path));
  606. MultipartFile multipartFile = new MockMultipartFile("file", file.getName(), "text/plain", IOUtils.toByteArray(input));
  607. if (!multipartFile.isEmpty()) {
  608. String[] filename = imageSpiderCommon.getImagePath(multipartFile).toString().split(",");
  609. systemPicture.setPhotoName(filename[0].trim());//缩略图
  610. systemPicture.setOriginalName(filename[1].trim());//放大图
  611. systemPicture.setSourceName(filename[2].trim());//原图
  612. systemPicture.setSourceSize(filename[3].trim());//大小
  613. if (StringUtils.isBlank(systemPicture.getSourceName()) && filename.length > 5) {
  614. systemPicture.setSourceName(filename[4].trim());//原图
  615. }
  616. String fileExtName = filename[0].trim().substring(filename[0].trim().lastIndexOf(".") + 1);
  617. // System.out.println(fileExtName);
  618. systemPicture.setDoctype(Util.getAttachmentType(fileExtName));
  619. }
  620. resultModel.setData(systemPicture);
  621. } catch (Exception e) {
  622. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  623. resultModel.setData(e.toString());
  624. e.printStackTrace();
  625. throw new RuntimeException("桐庐需求库导出数据出现异常");
  626. }
  627. return resultModel;
  628. }
  629. @RequestMapping(value = "/export/field/list/{type}/{node}", method = RequestMethod.GET)
  630. @ApiOperation(value = "获取资源库导出字段列表", notes = "获取资源库导出字段列表")
  631. @ApiImplicitParams({
  632. @ApiImplicitParam(name = "type", paramType = "path", dataType = "String", value = "对应的categoryModuleid,1/2/6/7/8"),
  633. @ApiImplicitParam(name = "node", paramType = "path", dataType = "String", value = "节点号")
  634. })
  635. public ResultModel getExportFieldList(@PathVariable String type, @PathVariable String node) {
  636. ResultModel resultModel = new ResultModel();
  637. try {
  638. resultModel.setData(resourceServiceImpl.getExportFieldList(type, node));
  639. } catch (Exception e) {//异常
  640. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  641. resultModel.setMessage(e.toString());
  642. e.printStackTrace();
  643. }
  644. return resultModel;
  645. }
  646. // @RequestMapping(value = "/achievement/handle",method = RequestMethod.GET)
  647. // @ApiOperation(value = "成果数据增加至溧水经开区节点", notes = "成果数据增加至溧水经开区节点")
  648. // @ApiImplicitParams({
  649. // })
  650. // public ResultModel setAchievementHandle() {
  651. // ResultModel resultModel = new ResultModel();
  652. // try {
  653. // resourceServiceImpl.setAchievementHandle();
  654. // resultModel.setData("");
  655. // } catch (Exception e) {//异常
  656. // resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  657. // resultModel.setMessage(e.toString());
  658. // e.printStackTrace();
  659. // }
  660. // return resultModel;
  661. // }
  662. }