Parcourir la source

大咖说&科技明星&科技讲堂

Antiloveg il y a 8 ans
Parent
commit
9515df641c
22 fichiers modifiés avec 702 ajouts et 171 suppressions
  1. 8 0
      schema/20170714-engaged-field_glossory.sql
  2. 315 0
      schema/data/engaged_field_glossory.sql
  3. 5 1
      src/main/java/com/goafanti/admin/controller/AdminLectureApiController.java
  4. 18 0
      src/main/java/com/goafanti/admin/controller/AdminNewsApiController.java
  5. 2 0
      src/main/java/com/goafanti/admin/controller/AdminStarApiController.java
  6. 7 0
      src/main/java/com/goafanti/common/constant/AFTConstants.java
  7. 17 0
      src/main/java/com/goafanti/common/dao/EngagedFieldGlossoryMapper.java
  8. 82 0
      src/main/java/com/goafanti/common/mapper/EngagedFieldGlossoryMapper.xml
  9. 52 0
      src/main/java/com/goafanti/common/model/EngagedFieldGlossory.java
  10. 10 0
      src/main/java/com/goafanti/engagedFieldGlossory/service/EngagedFieldGlossoryService.java
  11. 35 0
      src/main/java/com/goafanti/engagedFieldGlossory/service/impl/EngagedFieldGlossoryServiceImpl.java
  12. 11 5
      src/main/java/com/goafanti/lecture/service/LectureService.java
  13. 39 4
      src/main/java/com/goafanti/lecture/service/impl/LectureServiceImpl.java
  14. 25 12
      src/main/java/com/goafanti/portal/controller/PortalBigShotController.java
  15. 4 3
      src/main/java/com/goafanti/portal/controller/PortalLectureController.java
  16. 2 2
      src/main/java/com/goafanti/portal/controller/PortalSearchController.java
  17. 25 10
      src/main/java/com/goafanti/portal/controller/PortalStarController.java
  18. 5 1
      src/main/java/com/goafanti/star/service/StarService.java
  19. 26 6
      src/main/java/com/goafanti/star/service/impl/StarServiceImpl.java
  20. 7 76
      src/main/webapp/WEB-INF/views/portal/scienceTechnology/bigShot.html
  21. 4 48
      src/main/webapp/WEB-INF/views/portal/scienceTechnology/lecture.html
  22. 3 3
      src/main/webapp/WEB-INF/views/portal/scienceTechnology/star.html

+ 8 - 0
schema/20170714-engaged-field_glossory.sql

@@ -0,0 +1,8 @@
+CREATE TABLE `engaged_field_glossory` (
+  `id` INT(4) NOT NULL AUTO_INCREMENT,
+  `name` VARCHAR(32) NULL COMMENT '名称',
+  `pid` INT(4) NULL COMMENT '上级ID',
+  `level` INT(1) NULL COMMENT '层级',
+  PRIMARY KEY (`id`))
+ENGINE = InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4
+COMMENT = '从事领域';

+ 315 - 0
schema/data/engaged_field_glossory.sql

@@ -0,0 +1,315 @@
+ INSERT INTO `engaged_field_glossory` VALUES ('1','电子信息','0','1'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('2','生物与新医药','0','1'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('3','航空航天','0','1'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('4','新材料','0','1'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('5','高技术服务','0','1'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('6','新能源与节能','0','1'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('7','资源与环境','0','1'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('8','先进制造与自动化','0','1'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('9','其他领域','0','1'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('10','软件','1','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('11','微电子技术','1','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('12','计算机产品及其网络应用技术','1','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('13','通信技术','1','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('14','广播影视技术','1','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('15','新型电子元器件','1','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('16','信息安全技术','1','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('17','智能交通和轨道交通技术','1','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('18','基础软件','10','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('19','嵌入式软件','10','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('20','计算机辅助设计与辅助工程管理软件','10','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('21','中文及多语种处理软件','10','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('22','图形和图像处理软件','10','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('23','地理信息系统( GIS) 软件','10','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('24','电子商务软件','10','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('25','电子政务软件','10','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('26','企业管理软件','10','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('27','物联网应用软件','10','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('28','云计算与移动互联网软件','10','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('29','Web服务与集成软件','10','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('30','集成电路设计技术','11','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('31','集成电路产品设计技术','11','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('32','集成电路封装技术','11','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('33','集成电路测试技术','11','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('34','集成电路芯片制造工艺技术','11','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('35','集成光电子器件设计、制造与工艺技术','11','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('36','计算机及终端设计与制造技术','12','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('37','计算机外围设备设计与制造技术','12','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('38','网络设备设计与制造技术','12','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('39','网络应用技术','12','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('40','通信网络技术','13','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('41','光传输系统技术','13','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('42','有线宽带接入系统技术','13','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('43','移动通信系统技术','13','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('44','宽带无线通信系统技术','13','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('45','卫星通信系统技术','13','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('46','微波通信系统技术','13','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('47','物联网设备、部件及组网技术','13','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('48','电信网络运营支撑管理技术','13','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('49','电信网与互联网增值业务应用技术','13','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('50','广播电视节目采编播系统技术','14','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('51','广播电视业务集成与支撑系统技术','14','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('52','有线传输与覆盖系统技术','14','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('53','无线传输与覆盖系统技术','14','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('54','广播电视监测监管、安全运行与维护系统技术','14','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('55','数字电影系统技术','14','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('56','数字电视终端技术','14','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('57','专业视频应用服务平台技术','14','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('58','音响、光盘技术','14','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('59','半导体发光技术','15','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('60','片式和集成无源元件','15','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('61','大功率半导体器件','15','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('62','专用特种器件','15','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('63','敏感元器件与传感器','15','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('64','中高档机电组件','15','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('65','平板显示器件','15','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('66','密码技术','16','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('67','认证授权技术','16','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('68','系统与软件安全技术','16','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('69','网络与通信安全技术','16','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('70','安全保密技术','16','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('71','安全测评技术','16','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('72','安全管理技术','16','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('73','应用安全技术','16','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('74','交通控制与管理技术','17','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('75','交通基础信息采集、处理技术','17','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('76','交通运输运营管理技术','17','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('77','车、船载电子设备技术','17','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('78','轨道交通车辆及运行保障技术','17','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('79','轨道交通运营管理与服务技术','17','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('80','医药生物技术','2','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('81','中药、天然药物','2','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('82','化学药研发技术','2','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('83','药物新剂型与制剂创制技术','2','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('84','医疗仪器、设备与医学专用软件','2','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('85','轻工和化工生物技术','2','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('86','农业生物技术','2','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('87','新型疫苗','80','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('88','生物治疗技术和基因工程药物','80','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('89','快速生物检测技术','80','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('90','生物大分子类药物研发技术','80','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('91','天然药物生物合成制备技术','80','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('92','生物分离介质、试剂、装置及相关检测技术','80','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('93','中药资源可持续利用与生态保护技术','81','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('94','创新药物研发技术','81','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('95','中成药二次开发技术','81','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('96','中药质控及有害物质检测技术','81','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('97','创新药物技术','82','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('98','手性药物创制技术','82','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('99','晶型药物创制技术','82','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('100','国家基本药物生产技术','82','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('101','国家基本药物原料药和重要中间体的技术','82','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('102','创新制剂技术','83','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('103','新型给药制剂技术','83','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('104','制剂新辅料开发及生产技术','83','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('105','制药装备技术','83','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('106','医学影像诊断技术','84','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('107','新型治疗、急救与康复技术','84','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('108','新型电生理检测和监护技术','84','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('109','医学检验技术及新设备','84','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('110','医学专用网络新型软件','84','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('111','医用探测及射线计量检测技术','84','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('112','高效工业酶制备与生物催化技术','85','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('113','微生物发酵技术','85','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('114','生物反应及分离技术','85','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('115','天然产物有效成份的分离提取技术','85','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('116','食品安全生产与评价技术','85','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('117','食品安全检测技术','85','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('118','农林植物优良新品种与优质高效安全生产技术','86','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('119','畜禽水产优良新品种与健康养殖技术','86','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('120','重大农林生物灾害与动物疫病防控技术','86','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('121','现代农业装备与信息化技术','86','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('122','农业面源和重金属污染农田综合防治与修复技术','86','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('123','航空技术','3','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('124','航天技术','3','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('125','飞行器','123','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('126','飞行器动力技术','123','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('127','飞行器系统技术','123','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('128','飞行器制造与材料技术','123','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('129','空中管制技术','123','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('130','民航及通用航空运行保障技术','123','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('131','卫星总体技术','124','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('132','运载火箭技术','124','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('133','卫星平台技术','124','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('134','卫星有效载荷技术','124','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('135','航天测控技术','124','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('136','航天电子与航天材料制造技术','124','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('137','先进航天动力设计技术','124','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('138','卫星应用技术','124','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('139','金属材料','4','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('140','无机非金属材料','4','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('141','高分子材料','4','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('142','生物医用材料','4','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('143','精细和专用化学品','4','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('144','与文化艺术产业相关的新材料','4','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('145','精品钢材制备技术','139','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('146','铝、铜、镁、钛合金清洁生产与深加工技术','139','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('147','稀有、稀土金属精深产品制备技术','139','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('148','纳米及粉末冶金新材料制备与应用技术','139','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('149','金属及金属基复合新材料制备技术','139','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('150','半导体新材料制备与应用技术','139','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('151','电工、微电子和光电子新材料制备与应用技术','139','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('152','超导、高效能电池等其它新材料制备与应用技术','139','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('153','结构陶瓷及陶瓷基复合材料强化增韧技术','140','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('154','功能陶瓷制备技术','140','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('155','功能玻璃制备技术','140','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('156','节能与新能源用材料制备技术','140','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('157','环保及环境友好型材料技术','140','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('158','新型功能高分子材料的制备及应用技术','141','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('159','工程和特种工程塑料制备技术','141','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('160','新型橡胶的合成技术及橡胶新材料制备技术','141','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('161','新型纤维及复合材料制备技术','141','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('162','高分子材料制备及循环再利用技术','141','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('163','高分子材料的新型加工和应用技术','141','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('164','介入治疗器具材料制备技术','142','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('165','心脑血管外科用新型生物材料制备技术','142','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('166','骨科内置物制备技术','142','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('167','口腔材料制备技术','142','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('168','组织工程用材料制备技术','142','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('169','新型敷料和止血材料制备技术','142','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('170','专用手术器械和材料制备技术','142','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('171','其他新型医用材料及制备技术','142','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('172','新型催化剂制备及应用技术','143','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('173','电子化学品制备及应用技术','143','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('174','超细功能材料制备及应用技术','143','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('175','精细化学品制备及应用技术','143','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('176','文化载体和介质新材料制备技术','144','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('177','艺术专用新材料制备技术','144','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('178','影视场景和舞台专用新材料的加工生产技术','144','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('179','文化产品印刷新材料制备技术','144','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('180','文物保护新材料制备技术','144','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('181','研发与设计服务','5','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('182','检验检测认证与标准服务','5','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('183','信息技术服务','5','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('184','高技术专业化服务','5','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('185','知识产权与成果转化服务','5','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('186','电子商务与现代物流技术','5','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('187','城市管理与社会服务','5','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('188','文化创意产业支撑技术','5','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('189','研发服务','181','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('190','设计服务','181','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('191','检验检测认证技术','182','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('192','标准化服务技术','182','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('193','云计算服务技术','183','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('194','数据服务技术','183','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('195','其他信息服务技术','183','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('196','电子商务技术','186','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('197','物流与供应链管理技术','186','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('198','智慧城市服务支撑技术','187','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('199','互联网教育','187','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('200','健康管理','187','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('201','现代体育服务支撑技术','187','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('202','创作、设计与制作技术','188','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('203','传播与展示技术','188','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('204','文化遗产发现与再利用技术','188','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('205','运营与管理技术','188','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('206','可再生清洁能源','6','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('207','核能及氢能','6','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('208','新型高效能量转换与储存技术','6','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('209','高效节能技术','6','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('210','太阳能','206','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('211','风能','206','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('212','生物质能','206','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('213','地热能、海洋能及运动能','206','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('214','核能','207','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('215','氢能','207','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('216','高性能绿色电池(组)技术','208','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('217','新型动力电池(组)与储能电池技术','208','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('218','燃料电池技术','208','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('219','超级电容器与热电转换技术','208','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('220','工业节能技术','209','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('221','能量回收利用技术','209','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('222','蓄热式燃烧技术','209','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('223','输配电系统优化技术','209','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('224','高温热泵技术','209','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('225','建筑节能技术','209','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('226','能源系统管理、优化与控制技术','209','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('227','节能监测技术','209','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('228','水污染控制与水资源利用技术','7','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('229','大气污染控制技术','7','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('230','固体废弃物处置与综合利用技术','7','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('231','物理性污染防治技术','7','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('232','环境监测及环境事故应急处理技术','7','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('233','生态环境建设与保护技术','7','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('234','清洁生产技术','7','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('235','资源勘查、高效开采与综合利用技术','7','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('236','城镇污水处理与资源化技术','228','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('237','工业废水处理与资源化技术','228','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('238','农业水污染控制技术','228','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('239','流域水污染治理与富营养化综合控制技术','228','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('240','节水与非常规水资源综合利用技术','228','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('241','饮用水安全保障技术','228','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('242','煤燃烧污染防治技术','229','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('243','机动车排放控制技术','229','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('244','工业炉窑污染防治技术','229','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('245','工业有害废气控制技术','229','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('246','有限空间空气污染防治技术','229','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('247','危险固体废弃物处置技术','230','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('248','工业固体废弃物综合利用技术','230','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('249','生活垃圾处置与资源化技术','230','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('250','建筑垃圾处置与资源化技术','230','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('251','有机固体废物处理与资源化技术','230','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('252','社会源固体废物处置与资源化技术','230','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('253','噪声、振动污染防治技术','231','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('254','核与辐射安全防治技术','231','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('255','环境监测预警技术','232','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('256','应急环境监测技术','232','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('257','生态环境监测技术','232','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('258','非常规污染物监测技术','232','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('259','重污染行业生产过程中节水、减排及资源化关键技术','234','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('260','清洁生产关键技术','234','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('261','环保制造关键技术','234','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('262','资源勘查开采技术','235','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('263','提高矿产资源回收利用率的采矿、选矿技术','235','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('264','伴生有价元素的分选提取技术','235','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('265','低品位资源和尾矿资源综合利用技术','235','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('266','放射性资源勘查开发技术','235','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('267','放射性废物处理处置技术','235','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('268','绿色矿山建设技术','235','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('269','工业生产过程控制系统','8','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('270','安全生产技术','8','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('271','高性能、智能化仪器仪表','8','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('272','先进制造工艺与装备','8','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('273','新型机械','8','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('274','电力系统与设备','8','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('275','汽车及轨道车辆相关技术','8','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('276','高技术船舶与海洋工程装备设计制造技术','8','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('277','传统文化产业改造技术','8','2'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('278','现场总线与工业以太网技术','269','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('279','嵌入式系统技术','269','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('280','新一代工业控制计算机技术','269','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('281','制造执行系统(MES)技术','269','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('282','工业生产过程综合自动化控制系统技术','269','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('283','矿山安全生产技术','270','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('284','危险化学品安全生产技术','270','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('285','其它事故防治及处置技术','270','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('286','新型传感器','271','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('287','新型自动化仪器仪表','271','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('288','科学分析仪器/检测仪器','271','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('289','精确制造中的测控仪器仪表','271','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('290','微机电系统技术','271','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('291','高档数控装备与数控加工技术','272','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('292','机器人','272','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('293','智能装备驱动控制技术','272','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('294','特种加工技术','272','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('295','大规模集成电路制造相关技术','272','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('296','增材制造技术','272','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('297','高端装备再制造技术','272','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('298','机械基础件及制造技术','273','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('299','通用机械装备制造技术','273','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('300','极端制造与专用机械装备制造技术','273','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('301','纺织及其他行业专用设备制造技术','273','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('302','发电与储能技术','274','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('303','输电技术','274','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('304','配电与用电技术','274','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('305','变电技术','274','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('306','系统仿真与自动化技术','274','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('307','车用发动机及其相关技术','275','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('308','汽车关键零部件技术','275','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('309','节能与新能源汽车技术','275','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('310','机动车及发动机先进设计、制造和测试平台技术','275','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('311','轨道车辆及关键零部件技术','275','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('312','高技术船舶设计制造技术','276','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('313','海洋工程装备设计制造技术','276','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('314','乐器制造技术','277','3'); 
+ INSERT INTO `engaged_field_glossory` VALUES ('315','印刷技术','277','3'); 

+ 5 - 1
src/main/java/com/goafanti/admin/controller/AdminLectureApiController.java

@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.goafanti.common.bo.Result;
+import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseApiController;
 import com.goafanti.common.enums.AttachmentType;
@@ -57,7 +58,7 @@ public class AdminLectureApiController extends BaseApiController {
 	@RequestMapping(value = "/dynamic", method = RequestMethod.GET)
 	public Result dynamic() {
 		Result res = new Result();
-		res.setData(lectureService.listDynamic());
+		res.setData(lectureService.listDynamic(AFTConstants.LECTURE_DYNAMIC_LIST_CACHE_KEY));
 		return res;
 	}
 
@@ -130,6 +131,9 @@ public class AdminLectureApiController extends BaseApiController {
 		Lecture l = new Lecture();
 		BeanUtils.copyProperties(il, l);
 		lectureService.update(l, lectureTimeFormattedDate, endTimeFormattedDate);
+		lectureService.clearBigShotLectureList(AFTConstants.BIG_SHOT_LECTURE_CACHE_KEY); //大咖说页面缓存
+		lectureService.clearLectureDynamicList(AFTConstants.LECTURE_DYNAMIC_LIST_CACHE_KEY); //科技明星页面缓存
+		lectureService.clearLectureList(AFTConstants.LECTURE_LIST_CACHE_KEY); //科技讲堂页面缓存
 		return res;
 	}
 

+ 18 - 0
src/main/java/com/goafanti/admin/controller/AdminNewsApiController.java

@@ -0,0 +1,18 @@
+package com.goafanti.admin.controller;
+
+import javax.annotation.Resource;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.news.service.NewsService;
+/**
+ * 新闻
+ */
+@RestController
+@RequestMapping(value = "/api/admin/news")
+public class AdminNewsApiController extends BaseApiController{
+	@Resource
+	private NewsService newsService;
+}

+ 2 - 0
src/main/java/com/goafanti/admin/controller/AdminStarApiController.java

@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import com.alibaba.fastjson.JSON;
 import com.goafanti.common.bo.Result;
+import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseApiController;
 import com.goafanti.common.enums.StarType;
@@ -118,6 +119,7 @@ public class AdminStarApiController extends BaseApiController {
 			}
 		}
 		starService.save(data, hot);
+		starService.clearBigShotStarList(AFTConstants.BIG_SHOT_STAR_CACHE_KEY);
 		return res;
 	}
 	

+ 7 - 0
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -45,4 +45,11 @@ public class AFTConstants {
 
 	public static final Integer	ACHIEVEMENT_DEMAND_FIRST_COUNT	= 1;
 
+	public static final Integer	BIG_SHOT_STAR_CACHE_KEY			= 666;
+
+	public static final Integer	BIG_SHOT_LECTURE_CACHE_KEY		= 667;
+
+	public static final Integer	LECTURE_DYNAMIC_LIST_CACHE_KEY	= 668;
+
+	public static final Integer	LECTURE_LIST_CACHE_KEY			= 669;
 }

+ 17 - 0
src/main/java/com/goafanti/common/dao/EngagedFieldGlossoryMapper.java

@@ -0,0 +1,17 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.EngagedFieldGlossory;
+
+public interface EngagedFieldGlossoryMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(EngagedFieldGlossory record);
+
+    int insertSelective(EngagedFieldGlossory record);
+
+    EngagedFieldGlossory selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(EngagedFieldGlossory record);
+
+    int updateByPrimaryKey(EngagedFieldGlossory record);
+}

+ 82 - 0
src/main/java/com/goafanti/common/mapper/EngagedFieldGlossoryMapper.xml

@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.goafanti.common.dao.EngagedFieldGlossoryMapper" >
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.EngagedFieldGlossory" >
+    <id column="id" property="id" jdbcType="INTEGER" />
+    <result column="name" property="name" jdbcType="VARCHAR" />
+    <result column="pid" property="pid" jdbcType="INTEGER" />
+    <result column="level" property="level" jdbcType="INTEGER" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    id, name, pid, level
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from engaged_field_glossory
+    where id = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from engaged_field_glossory
+    where id = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.EngagedFieldGlossory" >
+    insert into engaged_field_glossory (id, name, pid, 
+      level)
+    values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{pid,jdbcType=INTEGER}, 
+      #{level,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.EngagedFieldGlossory" >
+    insert into engaged_field_glossory
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        id,
+      </if>
+      <if test="name != null" >
+        name,
+      </if>
+      <if test="pid != null" >
+        pid,
+      </if>
+      <if test="level != null" >
+        level,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        #{id,jdbcType=INTEGER},
+      </if>
+      <if test="name != null" >
+        #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="pid != null" >
+        #{pid,jdbcType=INTEGER},
+      </if>
+      <if test="level != null" >
+        #{level,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.EngagedFieldGlossory" >
+    update engaged_field_glossory
+    <set >
+      <if test="name != null" >
+        name = #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="pid != null" >
+        pid = #{pid,jdbcType=INTEGER},
+      </if>
+      <if test="level != null" >
+        level = #{level,jdbcType=INTEGER},
+      </if>
+    </set>
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.EngagedFieldGlossory" >
+    update engaged_field_glossory
+    set name = #{name,jdbcType=VARCHAR},
+      pid = #{pid,jdbcType=INTEGER},
+      level = #{level,jdbcType=INTEGER}
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>

+ 52 - 0
src/main/java/com/goafanti/common/model/EngagedFieldGlossory.java

@@ -0,0 +1,52 @@
+package com.goafanti.common.model;
+
+public class EngagedFieldGlossory {
+    private Integer id;
+
+    /**
+    * 名称
+    */
+    private String name;
+
+    /**
+    * 上级ID
+    */
+    private Integer pid;
+
+    /**
+    * 层级
+    */
+    private Integer level;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getPid() {
+        return pid;
+    }
+
+    public void setPid(Integer pid) {
+        this.pid = pid;
+    }
+
+    public Integer getLevel() {
+        return level;
+    }
+
+    public void setLevel(Integer level) {
+        this.level = level;
+    }
+}

+ 10 - 0
src/main/java/com/goafanti/engagedFieldGlossory/service/EngagedFieldGlossoryService.java

@@ -0,0 +1,10 @@
+package com.goafanti.engagedFieldGlossory.service;
+
+import com.goafanti.common.model.EngagedFieldGlossory;
+
+public interface EngagedFieldGlossoryService {
+
+	public EngagedFieldGlossory selectByPrimaryKey(Integer id);
+
+	public void clear(Integer id);
+}

+ 35 - 0
src/main/java/com/goafanti/engagedFieldGlossory/service/impl/EngagedFieldGlossoryServiceImpl.java

@@ -0,0 +1,35 @@
+package com.goafanti.engagedFieldGlossory.service.impl;
+
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+
+import com.goafanti.common.dao.EngagedFieldGlossoryMapper;
+import com.goafanti.common.model.EngagedFieldGlossory;
+import com.goafanti.common.utils.LoggerUtils;
+import com.goafanti.engagedFieldGlossory.service.EngagedFieldGlossoryService;
+@Service
+public class EngagedFieldGlossoryServiceImpl implements EngagedFieldGlossoryService{
+	private static final Logger	logger	= LoggerFactory.getLogger(EngagedFieldGlossoryServiceImpl.class);
+	
+	@Autowired
+	private EngagedFieldGlossoryMapper engagedFieldGlossoryMapper;
+	
+	@Override
+	@Cacheable(value = "EngagedFieldGlossoryCache", key = "'EngagedFieldGlossory:'+#id")
+	public EngagedFieldGlossory selectByPrimaryKey(Integer id) {
+		LoggerUtils.debug(logger, "缓存从事领域:[%s]", id);
+		return engagedFieldGlossoryMapper.selectByPrimaryKey(id);
+	}
+	
+
+	@Override
+	@CacheEvict(value = "EngagedFieldGlossoryCache", key = "'EngagedFieldGlossory:'+#id")
+	public void clear(Integer id) {
+		LoggerUtils.debug(logger, "清除从事领域缓存:[%s]", id);
+	}
+}

+ 11 - 5
src/main/java/com/goafanti/lecture/service/LectureService.java

@@ -15,8 +15,8 @@ public interface LectureService {
 
 	int batchDeleteByPrimaryKey(List<String> asList);
 
-	Pagination<LectureListBo> listLecture(String uid, String username, String name, String startLectureTime, String endLectureTime,
-			Integer pNo, Integer pSize);
+	Pagination<LectureListBo> listLecture(String uid, String username, String name, String startLectureTime,
+			String endLectureTime, Integer pNo, Integer pSize);
 
 	Integer countDynamicNum();
 
@@ -24,12 +24,18 @@ public interface LectureService {
 
 	List<LectureListBo> listHot();
 
-	List<LectureListBo> listDynamic();
+	List<LectureListBo> listDynamic(Integer lectureDynamicListCacheKey);
 
-	List<BigShotLectureListBo> listBigShotLecture();
+	List<BigShotLectureListBo> listBigShotLecture(Integer bigShotLectureCacheKey);
 
-	List<LectureListBo> findLectureList();
+	List<LectureListBo> findLectureList(Integer lectureListCacheKey);
 
 	Pagination<LectureListBo> loadMore(Integer pSize, Integer pNo);
 
+	void clearBigShotLectureList(Integer bigShotLectureCacheKey);
+
+	void clearLectureDynamicList(Integer lectureDynamicListCacheKey);
+
+	void clearLectureList(Integer lectureListCacheKey);
+
 }

+ 39 - 4
src/main/java/com/goafanti/lecture/service/impl/LectureServiceImpl.java

@@ -8,7 +8,11 @@ import java.util.Map;
 import java.util.UUID;
 
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
 import com.goafanti.common.constant.AFTConstants;
@@ -16,6 +20,7 @@ import com.goafanti.common.dao.LectureMapper;
 import com.goafanti.common.enums.DeleteStatus;
 import com.goafanti.common.model.Lecture;
 import com.goafanti.common.utils.DateUtils;
+import com.goafanti.common.utils.LoggerUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.lecture.bo.BigShotLectureListBo;
@@ -24,8 +29,11 @@ import com.goafanti.lecture.service.LectureService;
 
 @Service
 public class LectureServiceImpl extends BaseMybatisDao<LectureMapper> implements LectureService {
+
+	private static final Logger	logger	= LoggerFactory.getLogger(LectureServiceImpl.class);
+
 	@Autowired
-	private LectureMapper lectureMapper;
+	private LectureMapper		lectureMapper;
 
 	@Override
 	public void save(Lecture l, String lectureTimeFormattedDate, String endTimeFormattedDate) {
@@ -114,19 +122,40 @@ public class LectureServiceImpl extends BaseMybatisDao<LectureMapper> implements
 	}
 
 	@Override
-	public List<LectureListBo> listDynamic() {
+	@Cacheable(value = "LectureDynamicListCache", key = "'LectureDynamicList:'+#lectureDynamicListCacheKey")
+	public List<LectureListBo> listDynamic(Integer lectureDynamicListCacheKey) {
 		return lectureMapper.listDynamic();
 	}
+	
+	@Override
+	@CacheEvict(value = "LectureDynamicListCache", key = "'LectureDynamicList:'+#lectureDynamicListCacheKey")
+	public void clearLectureDynamicList(Integer lectureDynamicListCacheKey) {
+		LoggerUtils.debug(logger, "清除科技明星页面科技讲堂列表缓存:[%s]", lectureDynamicListCacheKey);
+	}
 
 	@Override
-	public List<BigShotLectureListBo> listBigShotLecture() {
+	@Cacheable(value = "BigShotLectureListCache", key = "'BigShotLectureList:'+#bigShotLectureCacheKey")
+	public List<BigShotLectureListBo> listBigShotLecture(Integer bigShotLectureCacheKey) {
 		return lectureMapper.listBigShotLecture();
 	}
+	
+	@Override
+	@CacheEvict(value = "BigShotLectureListCache", key = "'BigShotLectureList:'+#bigShotLectureCacheKey")
+	public void clearBigShotLectureList(Integer bigShotLectureCacheKey) {
+		LoggerUtils.debug(logger, "清除大咖说科技讲堂列表缓存:[%s]", bigShotLectureCacheKey);
+	}
 
 	@Override
-	public List<LectureListBo> findLectureList() {
+	@Cacheable(value = "LectureListCache", key = "'LectureList:'+#lectureListCacheKey")
+	public List<LectureListBo> findLectureList(Integer lectureListCacheKey) {
 		return lectureMapper.findLectureList();
 	}
+	
+	@Override
+	@Cacheable(value = "LectureListCache", key = "'LectureList:'+#lectureListCacheKey")
+	public void clearLectureList(Integer lectureListCacheKey) {
+		LoggerUtils.debug(logger, "清除科技讲堂列表缓存:[%s]", lectureListCacheKey);
+	}
 
 	@SuppressWarnings("unchecked")
 	@Override
@@ -142,4 +171,10 @@ public class LectureServiceImpl extends BaseMybatisDao<LectureMapper> implements
 				pageSize);
 	}
 
+	
+
+	
+
+	
+
 }

+ 25 - 12
src/main/java/com/goafanti/portal/controller/PortalBigShotController.java

@@ -8,6 +8,9 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 
+import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.controller.BaseController;
+import com.goafanti.engagedFieldGlossory.service.EngagedFieldGlossoryService;
 import com.goafanti.lecture.bo.BigShotLectureListBo;
 import com.goafanti.lecture.service.LectureService;
 import com.goafanti.star.bo.BigShotStarListBo;
@@ -18,33 +21,43 @@ import com.goafanti.user.service.UserInterestService;
  * 大咖说
  */
 @RestController
-public class PortalBigShotController {
+public class PortalBigShotController extends BaseController {
 	@Resource
-	private StarService			starService;
+	private StarService					starService;
 	@Resource
-	private UserInterestService	userInterestService;
+	private UserInterestService			userInterestService;
 	@Resource
-	private LectureService		lectureService;
+	private LectureService				lectureService;
+	@Resource
+	private EngagedFieldGlossoryService	engagedFieldGlossoryService;
 
-	/**
-	 * 
-	 */
 	// @RequestMapping(value = "/portal/scienceTechnology/bigShot", method =
 	// RequestMethod.GET)
 	public ModelAndView bigShot() {
 		ModelAndView mv = new ModelAndView();
-		List<BigShotStarListBo> starList = starService.listBigShotStar();
+		List<BigShotStarListBo> starList = starService.listBigShotStar(AFTConstants.BIG_SHOT_STAR_CACHE_KEY);
 		if (null != starList && starList.size() > 0) {
-			Integer fansNum = 0;
 			for (BigShotStarListBo bo : starList) {
 				if (StringUtils.isNotBlank(bo.getUid())) {
-					fansNum = userInterestService.countByToUid(bo.getUid());
-					bo.setFansNum(fansNum);
+					bo.setFansNum(userInterestService.countByToUid(bo.getUid()));
+				}
+				if (StringUtils.isNotBlank(bo.getEngagedField())) {
+					String engagedField = "";
+					String[] arr = bo.getEngagedField().split(",|,");
+					if (null != arr && arr.length > 0) {
+						for (String s : arr) {
+							if (StringUtils.isNumeric(s)) {
+								engagedField += engagedFieldGlossoryService.selectByPrimaryKey(Integer.parseInt(s))
+										.getName();
+							}
+						}
+					}
+					bo.setEngagedField(engagedField);
 				}
 			}
 			mv.addObject("starList", starList);
 		}
-		List<BigShotLectureListBo> lectureList = lectureService.listBigShotLecture();
+		List<BigShotLectureListBo> lectureList = lectureService.listBigShotLecture(AFTConstants.BIG_SHOT_LECTURE_CACHE_KEY);
 		mv.addObject("lectureList", lectureList);
 		mv.setViewName("/portal/scienceTechnology/bigShot");
 		return mv;

+ 4 - 3
src/main/java/com/goafanti/portal/controller/PortalLectureController.java

@@ -12,7 +12,8 @@ import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 
 import com.goafanti.common.bo.Result;
-import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.controller.BaseController;
 import com.goafanti.lecture.bo.LectureListBo;
 import com.goafanti.lecture.service.LectureService;
 
@@ -20,7 +21,7 @@ import com.goafanti.lecture.service.LectureService;
  * 科技讲堂
  */
 @RestController
-public class PortalLectureController extends BaseApiController {
+public class PortalLectureController extends BaseController {
 	@Resource
 	private LectureService lectureService;
 
@@ -28,7 +29,7 @@ public class PortalLectureController extends BaseApiController {
 	// RequestMethod.GET)
 	public ModelAndView lecture() {
 		ModelAndView mv = new ModelAndView();
-		List<LectureListBo> lectureList = lectureService.findLectureList();
+		List<LectureListBo> lectureList = lectureService.findLectureList(AFTConstants.LECTURE_LIST_CACHE_KEY);
 		if (null != lectureList && lectureList.size() > 0) {
 			Collections.reverse(lectureList);
 		}

+ 2 - 2
src/main/java/com/goafanti/portal/controller/PortalSearchController.java

@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RestController;
 import com.goafanti.achievement.service.AchievementService;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
-import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.common.controller.BaseController;
 import com.goafanti.common.enums.DemandPortalSearchSignType;
 import com.goafanti.common.enums.UserLevel;
 import com.goafanti.common.enums.UserType;
@@ -22,7 +22,7 @@ import com.goafanti.user.service.UserIdentityService;
 
 @RestController
 @RequestMapping(value = "/portal/search")
-public class PortalSearchController extends BaseApiController {
+public class PortalSearchController extends BaseController {
 	@Resource
 	private AchievementService			achievementService;
 	@Resource

+ 25 - 10
src/main/java/com/goafanti/portal/controller/PortalStarController.java

@@ -8,7 +8,9 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.controller.BaseController;
+import com.goafanti.engagedFieldGlossory.service.EngagedFieldGlossoryService;
 import com.goafanti.lecture.bo.LectureListBo;
 import com.goafanti.lecture.service.LectureService;
 import com.goafanti.star.bo.BigShotStarListBo;
@@ -19,27 +21,40 @@ import com.goafanti.user.service.UserInterestService;
  * 科技明星
  */
 @RestController
-public class PortalStarController extends BaseApiController {
+public class PortalStarController extends BaseController {
 	@Resource
-	private StarService			starService;
+	private StarService					starService;
 	@Resource
-	private LectureService		lectureService;
+	private LectureService				lectureService;
 	@Resource
-	private UserInterestService	userInterestService;
+	private UserInterestService			userInterestService;
+	@Resource
+	private EngagedFieldGlossoryService	engagedFieldGlossoryService;
 
 	// @RequestMapping(value = "/portal/scienceTechnology/star", method =
 	// RequestMethod.GET)
 	public ModelAndView star() {
 		ModelAndView mv = new ModelAndView();
-		List<LectureListBo> lectureDynamicList = lectureService.listDynamic();
+		List<LectureListBo> lectureDynamicList = lectureService.listDynamic(AFTConstants.LECTURE_DYNAMIC_LIST_CACHE_KEY);
 		mv.addObject("lectureDynamicList", lectureDynamicList);
-		List<BigShotStarListBo> starList = starService.listBigShotStar();
+		List<BigShotStarListBo> starList = starService.listBigShotStar(AFTConstants.BIG_SHOT_STAR_CACHE_KEY);
 		if (null != starList && starList.size() > 0) {
-			Integer fansNum = 0;
 			for (BigShotStarListBo bo : starList) {
 				if (StringUtils.isNotBlank(bo.getUid())) {
-					fansNum = userInterestService.countByToUid(bo.getUid());
-					bo.setFansNum(fansNum);
+					bo.setFansNum(userInterestService.countByToUid(bo.getUid()));
+				}
+				if (StringUtils.isNotBlank(bo.getEngagedField())) {
+					String engagedField = "";
+					String[] arr = bo.getEngagedField().split(",|,");
+					if (null != arr && arr.length > 0) {
+						for (String s : arr) {
+							if (StringUtils.isNumeric(s)) {
+								engagedField += engagedFieldGlossoryService.selectByPrimaryKey(Integer.parseInt(s))
+										.getName();
+							}
+						}
+					}
+					bo.setEngagedField(engagedField);
 				}
 			}
 			mv.addObject("starList", starList);

+ 5 - 1
src/main/java/com/goafanti/star/service/StarService.java

@@ -15,6 +15,10 @@ public interface StarService {
 
 	void save(List<Star> star, String[] hot);
 
-	List<BigShotStarListBo> listBigShotStar();
+	public List<BigShotStarListBo> listBigShotStar(Integer bigShotStarCacheKey);
+	
+	public void clearBigShotStarList(Integer bigShotStarCacheKey);
+	
+	
 
 }

+ 26 - 6
src/main/java/com/goafanti/star/service/impl/StarServiceImpl.java

@@ -5,37 +5,49 @@ import java.util.List;
 import java.util.Set;
 import java.util.UUID;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
 import com.goafanti.common.dao.StarMapper;
 import com.goafanti.common.enums.StarHotType;
 import com.goafanti.common.enums.StarType;
 import com.goafanti.common.model.Star;
+import com.goafanti.common.utils.LoggerUtils;
 import com.goafanti.star.bo.BigShotStarListBo;
 import com.goafanti.star.bo.HotStarListBo;
 import com.goafanti.star.service.StarService;
+
 @Service
 public class StarServiceImpl implements StarService {
+
+	private static final Logger	logger	= LoggerFactory.getLogger(StarServiceImpl.class);
+
 	@Autowired
-	private StarMapper starMapper;
+	private StarMapper			starMapper;
+
 	@Override
 	public List<HotStarListBo> listHotStar() {
 		return starMapper.listHostStar();
 	}
+
 	@Override
 	public List<HotStarListBo> listStarList() {
 		return starMapper.listStarList();
 	}
+
 	@Override
 	public void save(List<Star> startList, String[] hot) {
 		starMapper.deleteAll();
 		Set<String> set = new HashSet<>();
-		for (Star s : startList){
+		for (Star s : startList) {
 			s.setId(UUID.randomUUID().toString());
 			s.setHot(StarHotType.UNHOT.getCode());
-			for (String h : hot){
-				if (s.getUid().equals(h)){
+			for (String h : hot) {
+				if (s.getUid().equals(h)) {
 					s.setHot(StarHotType.HOT.getCode());
 				} else {
 					set.add(h);
@@ -43,7 +55,7 @@ public class StarServiceImpl implements StarService {
 			}
 		}
 		Star star = null;
-		for (String s : set){
+		for (String s : set) {
 			star = new Star();
 			star.setId(UUID.randomUUID().toString());
 			star.setUid(s);
@@ -53,9 +65,17 @@ public class StarServiceImpl implements StarService {
 		}
 		starMapper.insertBatch(startList);
 	}
+
 	@Override
-	public List<BigShotStarListBo> listBigShotStar() {
+	@Cacheable(value = "BigShotStarListCache", key = "'BigShotStarList:'+#bigShotStarCacheKey")
+	public List<BigShotStarListBo> listBigShotStar(Integer bigShotStarCacheKey) {
 		return starMapper.listBigShotStar();
 	}
 
+	@Override
+	@CacheEvict(value = "BigShotStarListCache", key = "'BigShotStarList:'+#bigShotStarCacheKey")
+	public void clearBigShotStarList(Integer bigShotStarCacheKey) {
+		LoggerUtils.debug(logger, "清除大咖说科技明星列表缓存:[%s]", bigShotStarCacheKey);
+	}
+
 }

+ 7 - 76
src/main/webapp/WEB-INF/views/portal/scienceTechnology/bigShot.html

@@ -58,54 +58,15 @@
 			<ul>
 				<li th:each="star,iterStart:${starList}">
 					<div class="star_content_img">
-						<img th:src="${portalHost + '/img/star_img_1.png'}">
+						<img th:src="${avatarHost + star.personPortraitUrl}">
 						<a href="#">报名中</a>
 					</div>
 					<div class="star_content_info">
 						<h4 th:text="${star.username}">陈政清</h4>
 						<h5 th:text="${star.workUnit}">湖南大学 土木工程学院</h5>
 						<h5 th:text="${star.professionalTitle}">“985”工程首席科学家</h5>
-						<p class="mt20"><label>技术:</label> <span class="red">4</span>项</p>
-						<p><label>粉丝:</label> <span class="red">456</span>人</p>
-					</div>
-				</li>
-				<li>
-					<div class="star_content_img">
-						<img th:src="${portalHost + '/img/star_img_2.png'}">
-						<a href="#">报名中</a>
-					</div>
-					<div class="star_content_info">
-						<h4>袁隆平</h4>
-						<h5>中国工程院院士</h5>
-						<h5>中国杂交水稻工程技术研究中心主任</h5>
-						<p class="mt20"><label>技术:</label> <span class="red">6</span>项</p>
-						<p><label>粉丝:</label> <span class="red">3647</span>人</p>
-					</div>
-				</li>
-				<li>
-					<div class="star_content_img">
-						<img th:src="${portalHost + '/img/star_img_3.png'}">
-						<a href="#">报名中</a>
-					</div>
-					<div class="star_content_info">
-						<h4>钟志华</h4>
-						<h5>中国工程院机械与运载工程学部院士</h5>
-						<h5>车辆工程专家</h5>
-						<p class="mt20"><label>技术:</label> <span class="red">5</span>项</p>
-						<p><label>粉丝:</label> <span class="red">79</span>人</p>
-					</div>
-				</li>
-				<li>
-					<div class="star_content_img">
-						<img th:src="${portalHost + '/img/star_img_4.png'}">
-						<a href="#">报名中</a>
-					</div>
-					<div class="star_content_info">
-						<h4>张泽</h4>
-						<h5>中国科学院院士</h5>
-						<h5>材料科学晶体结构专家</h5>
-						<p class="mt20"><label>技术:</label> <span class="red">2</span>项</p>
-						<p><label>粉丝:</label> <span class="red">56</span>人</p>
+						<p class="mt20"><label>技术:</label> <span class="red" th:text="${star.achievementNum}">4</span>项</p>
+						<p><label>粉丝:</label> <span class="red" th:text="${star.fansNum}">456</span>人</p>
 					</div>
 				</li>
 			</ul>
@@ -138,43 +99,13 @@
 		</div>
 		<div class="star_list">
 			<ul>
-				<li>
-					<div class="star_content_img">
-						<img th:src="${portalHost + '/img/star_img_5.jpg'}">
-					</div>
-					<div class="lecture_content_info">
-						<h5>科技成果转化项目开展讲座</h5>
-						<p class="mt20">2017-06-30</p>
-						<a href="#">报名中</a>
-					</div>
-				</li>
-				<li>
-					<div class="star_content_img">
-						<img th:src="${portalHost + '/img/star_img_6.jpg'}">
-					</div>
-					<div class="lecture_content_info">
-						<h5>技术转移服务运营模式</h5>
-						<p class="mt20">2017-06-10</p>
-						<a href="#">报名中</a>
-					</div>
-				</li>
-				<li>
-					<div class="star_content_img">
-						<img th:src="${portalHost + '/img/star_img_7.jpg'}">
-					</div>
-					<div class="lecture_content_info">
-						<h5>精准扶贫:互联网+农村电子商务</h5>
-						<p class="mt20">2017-08-10</p>
-						<a href="#">报名中</a>
-					</div>
-				</li>
-				<li>
+				<li th:each="leccture,iterStart:${lectureList}">
 					<div class="star_content_img">
-						<img th:src="${portalHost + '/img/star_img_8.jpg'}">
+						<img th:src="${avatarHost + lecture.lectureUrl}">
 					</div>
 					<div class="lecture_content_info">
-						<h5>互联网在物流行业中的应用</h5>
-						<p class="mt20">2017-07-20</p>
+						<h5 th:text="${lecture.name}">科技成果转化项目开展讲座</h5>
+						<p class="mt20" th:text="${lecture.lectureTimeFormattedDate}">2017-06-30</p>
 						<a href="#">报名中</a>
 					</div>
 				</li>

Fichier diff supprimé car celui-ci est trop grand
+ 4 - 48
src/main/webapp/WEB-INF/views/portal/scienceTechnology/lecture.html


+ 3 - 3
src/main/webapp/WEB-INF/views/portal/scienceTechnology/star.html

@@ -42,11 +42,11 @@
 	<div class="box">
 		<div class="picbox">
 			<ul class="piclist mainlist">
-				<li>
+				<li th:each="lectureDynamic,iterStart:${lectureDynamicList}">
 					<img th:src="${portalHost + '/img/big_star_img_1.png'}">
 					<div class="star_info">
-						<h4>陈政清</h4>
-						<p>湖南大学 土木工程学院</p>
+						<h4 th:text="${lectureDynamic.username}">陈政清</h4>
+						<p th:text="">湖南大学 土木工程学院</p>
 						<p><label>粉丝数:</label><span class="red">156</span>人</p>
 						<p><label>时&nbsp&nbsp&nbsp间:</label> 2017.07.12</p>
 						<a href="#">