Przeglądaj źródła

Merge branch 'master' of https://git.coding.net/aft/AFT

wubb 8 lat temu
rodzic
commit
489ae519cc
42 zmienionych plików z 902 dodań i 700 usunięć
  1. 2 0
      schema/20170626-activities-news-billings.sql
  2. 0 21
      src/main/java/com/goafanti/common/controller/WebpageController.java
  3. 25 0
      src/main/java/com/goafanti/common/dao/NewsMapper.java
  4. 198 0
      src/main/java/com/goafanti/common/mapper/NewsMapper.xml
  5. 27 0
      src/main/java/com/goafanti/common/mapper/NewsMapperExt.xml
  6. 161 0
      src/main/java/com/goafanti/common/model/News.java
  7. 0 71
      src/main/java/com/goafanti/common/utils/SerializeUtil.java
  8. 2 0
      src/main/java/com/goafanti/core/cache/serializer/FastJsonRedisSerializer.java
  9. 8 6
      src/main/java/com/goafanti/core/mybatis/page/SimplePage.java
  10. 97 0
      src/main/java/com/goafanti/news/bo/NewsSummary.java
  11. 50 0
      src/main/java/com/goafanti/news/controller/NewsController.java
  12. 43 0
      src/main/java/com/goafanti/news/enums/NewsType.java
  13. 61 0
      src/main/java/com/goafanti/news/service/NewsService.java
  14. 67 64
      src/main/webapp/WEB-INF/views/common.html
  15. 1 1
      src/main/webapp/WEB-INF/views/portal/activity/activityIndex.html
  16. 1 1
      src/main/webapp/WEB-INF/views/portal/activity/details.html
  17. 1 1
      src/main/webapp/WEB-INF/views/portal/detail/achievementDetail.html
  18. 1 1
      src/main/webapp/WEB-INF/views/portal/detail/demandDetail.html
  19. 12 8
      src/main/webapp/WEB-INF/views/portal/entrepreneurship/entrepreneurshipIndex.html
  20. 1 1
      src/main/webapp/WEB-INF/views/portal/evaluation/index.html
  21. 3 3
      src/main/webapp/WEB-INF/views/portal/financial/financialIndex.html
  22. 1 1
      src/main/webapp/WEB-INF/views/portal/highTech/authentication.html
  23. 1 1
      src/main/webapp/WEB-INF/views/portal/highTech/evaluate/basicInfo.html
  24. 1 1
      src/main/webapp/WEB-INF/views/portal/highTech/evaluate/evaluate.html
  25. 1 1
      src/main/webapp/WEB-INF/views/portal/highTech/evaluate/financeInfo.html
  26. 1 1
      src/main/webapp/WEB-INF/views/portal/highTech/evaluate/iprInfo.html
  27. 1 1
      src/main/webapp/WEB-INF/views/portal/highTech/evaluate/rdManage.html
  28. 4 9
      src/main/webapp/WEB-INF/views/portal/international/internationalIndex.html
  29. 24 18
      src/main/webapp/WEB-INF/views/portal/ipr/apply.html
  30. 34 31
      src/main/webapp/WEB-INF/views/portal/ipr/iso.html
  31. 18 12
      src/main/webapp/WEB-INF/views/portal/ipr/patentOperation.html
  32. 18 14
      src/main/webapp/WEB-INF/views/portal/ipr/service.html
  33. 0 183
      src/main/webapp/WEB-INF/views/portal/news.html
  34. 1 1
      src/main/webapp/WEB-INF/views/portal/news/newsDetails.html
  35. 25 73
      src/main/webapp/WEB-INF/views/portal/news/newsIndex.html
  36. 0 161
      src/main/webapp/WEB-INF/views/portal/patent.html
  37. 1 1
      src/main/webapp/WEB-INF/views/portal/scienceTechnology/bigShot.html
  38. 1 1
      src/main/webapp/WEB-INF/views/portal/scienceTechnology/lecture.html
  39. 1 1
      src/main/webapp/WEB-INF/views/portal/scienceTechnology/star.html
  40. 3 6
      src/main/webapp/WEB-INF/views/portal/service/serviceIndex.html
  41. 1 1
      src/main/webapp/WEB-INF/views/portal/technologyTrading/index.html
  42. 4 4
      src/main/webapp/WEB-INF/views/portal/websiteBuild/websiteBuildIndex.html

+ 2 - 0
schema/20170626-activities-news-billings.sql

@@ -10,9 +10,11 @@ CREATE TABLE `news` (
   `hot` int(1) NOT NULL DEFAULT '0' COMMENT '是否放在首页',
   `source` varchar(45) DEFAULT NULL COMMENT '来源',
   `source_url` varchar(255) DEFAULT NULL COMMENT '来源url',
+  `summary` varchar(144) DEFAULT NULL COMMENT '简介',
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='新闻资讯';
 
+
 CREATE TABLE `activity` (
   `id` bigint(18) NOT NULL,
   `start_time` datetime DEFAULT NULL COMMENT '开始时间',

+ 0 - 21
src/main/java/com/goafanti/common/controller/WebpageController.java

@@ -390,18 +390,6 @@ public class WebpageController extends BaseController {
 	}
 	
 	/**
-	 * 策源地
-	 * @param request
-	 * @param modelview
-	 * @return
-	 */
-	@RequestMapping(value = "/portal/news/newsIndex", method = RequestMethod.GET)
-	public ModelAndView portalNewsNewsIndex(HttpServletRequest request, ModelAndView modelview) {
-		modelview.setViewName("/portal/news/newsIndex");
-		return modelview;
-	}
-	
-	/**
 	 * 服务汇
 	 */
 	@RequestMapping(value = "/portal/service/serviceIndex", method = RequestMethod.GET)
@@ -411,15 +399,6 @@ public class WebpageController extends BaseController {
 	}
 	
 	/**
-	 * 新闻详情
-	 */
-	@RequestMapping(value = "/portal/news/newsDetails", method = RequestMethod.GET)
-	public ModelAndView portalNewsNewsDetails(HttpServletRequest request, ModelAndView modelview) {
-		modelview.setViewName("/portal/news/newsDetails");
-		return modelview;
-	}
-	
-	/**
 	 * 技术交易 
 	 */
 	@RequestMapping(value = "/portal/technologyTrading/index", method = RequestMethod.GET)

+ 25 - 0
src/main/java/com/goafanti/common/dao/NewsMapper.java

@@ -0,0 +1,25 @@
+package com.goafanti.common.dao;
+
+import java.util.List;
+import java.util.Map;
+
+import com.goafanti.common.model.News;
+import com.goafanti.news.bo.NewsSummary;
+
+public interface NewsMapper {
+	int deleteByPrimaryKey(Long id);
+
+	int insert(News record);
+
+	int insertSelective(News record);
+
+	News selectByPrimaryKey(Long id);
+
+	int updateByPrimaryKeySelective(News record);
+
+	int updateByPrimaryKeyWithBLOBs(News record);
+
+	int updateByPrimaryKey(News record);
+
+	List<NewsSummary> findList(Map<String, Object> params);
+}

+ 198 - 0
src/main/java/com/goafanti/common/mapper/NewsMapper.xml

@@ -0,0 +1,198 @@
+<?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.NewsMapper">
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.News">
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="edit_time" jdbcType="TIMESTAMP" property="editTime" />
+    <result column="title" jdbcType="VARCHAR" property="title" />
+    <result column="title_img" jdbcType="VARCHAR" property="titleImg" />
+    <result column="author" jdbcType="VARCHAR" property="author" />
+    <result column="type" jdbcType="INTEGER" property="type" />
+    <result column="hot" jdbcType="INTEGER" property="hot" />
+    <result column="source" jdbcType="VARCHAR" property="source" />
+    <result column="source_url" jdbcType="VARCHAR" property="sourceUrl" />
+    <result column="summary" jdbcType="VARCHAR" property="summary" />
+  </resultMap>
+  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.goafanti.common.model.News">
+    <result column="content" jdbcType="LONGVARCHAR" property="content" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    id, create_time, edit_time, title, title_img, author, type, hot, source, source_url, 
+    summary
+  </sql>
+  <sql id="Blob_Column_List">
+    content
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="ResultMapWithBLOBs">
+    select 
+    <include refid="Base_Column_List" />
+    ,
+    <include refid="Blob_Column_List" />
+    from news
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    delete from news
+    where id = #{id,jdbcType=BIGINT}
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.News">
+    insert into news (id, create_time, edit_time, 
+      title, title_img, author, 
+      type, hot, source, 
+      source_url, summary, content
+      )
+    values (#{id,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{editTime,jdbcType=TIMESTAMP}, 
+      #{title,jdbcType=VARCHAR}, #{titleImg,jdbcType=VARCHAR}, #{author,jdbcType=VARCHAR}, 
+      #{type,jdbcType=INTEGER}, #{hot,jdbcType=INTEGER}, #{source,jdbcType=VARCHAR}, 
+      #{sourceUrl,jdbcType=VARCHAR}, #{summary,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.News">
+    insert into news
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="createTime != null">
+        create_time,
+      </if>
+      <if test="editTime != null">
+        edit_time,
+      </if>
+      <if test="title != null">
+        title,
+      </if>
+      <if test="titleImg != null">
+        title_img,
+      </if>
+      <if test="author != null">
+        author,
+      </if>
+      <if test="type != null">
+        type,
+      </if>
+      <if test="hot != null">
+        hot,
+      </if>
+      <if test="source != null">
+        source,
+      </if>
+      <if test="sourceUrl != null">
+        source_url,
+      </if>
+      <if test="summary != null">
+        summary,
+      </if>
+      <if test="content != null">
+        content,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
+      <if test="createTime != null">
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="editTime != null">
+        #{editTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="title != null">
+        #{title,jdbcType=VARCHAR},
+      </if>
+      <if test="titleImg != null">
+        #{titleImg,jdbcType=VARCHAR},
+      </if>
+      <if test="author != null">
+        #{author,jdbcType=VARCHAR},
+      </if>
+      <if test="type != null">
+        #{type,jdbcType=INTEGER},
+      </if>
+      <if test="hot != null">
+        #{hot,jdbcType=INTEGER},
+      </if>
+      <if test="source != null">
+        #{source,jdbcType=VARCHAR},
+      </if>
+      <if test="sourceUrl != null">
+        #{sourceUrl,jdbcType=VARCHAR},
+      </if>
+      <if test="summary != null">
+        #{summary,jdbcType=VARCHAR},
+      </if>
+      <if test="content != null">
+        #{content,jdbcType=LONGVARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.News">
+    update news
+    <set>
+      <if test="createTime != null">
+        create_time = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="editTime != null">
+        edit_time = #{editTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="title != null">
+        title = #{title,jdbcType=VARCHAR},
+      </if>
+      <if test="titleImg != null">
+        title_img = #{titleImg,jdbcType=VARCHAR},
+      </if>
+      <if test="author != null">
+        author = #{author,jdbcType=VARCHAR},
+      </if>
+      <if test="type != null">
+        type = #{type,jdbcType=INTEGER},
+      </if>
+      <if test="hot != null">
+        hot = #{hot,jdbcType=INTEGER},
+      </if>
+      <if test="source != null">
+        source = #{source,jdbcType=VARCHAR},
+      </if>
+      <if test="sourceUrl != null">
+        source_url = #{sourceUrl,jdbcType=VARCHAR},
+      </if>
+      <if test="summary != null">
+        summary = #{summary,jdbcType=VARCHAR},
+      </if>
+      <if test="content != null">
+        content = #{content,jdbcType=LONGVARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKeyWithBLOBs" parameterType="com.goafanti.common.model.News">
+    update news
+    set create_time = #{createTime,jdbcType=TIMESTAMP},
+      edit_time = #{editTime,jdbcType=TIMESTAMP},
+      title = #{title,jdbcType=VARCHAR},
+      title_img = #{titleImg,jdbcType=VARCHAR},
+      author = #{author,jdbcType=VARCHAR},
+      type = #{type,jdbcType=INTEGER},
+      hot = #{hot,jdbcType=INTEGER},
+      source = #{source,jdbcType=VARCHAR},
+      source_url = #{sourceUrl,jdbcType=VARCHAR},
+      summary = #{summary,jdbcType=VARCHAR},
+      content = #{content,jdbcType=LONGVARCHAR}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.News">
+    update news
+    set create_time = #{createTime,jdbcType=TIMESTAMP},
+      edit_time = #{editTime,jdbcType=TIMESTAMP},
+      title = #{title,jdbcType=VARCHAR},
+      title_img = #{titleImg,jdbcType=VARCHAR},
+      author = #{author,jdbcType=VARCHAR},
+      type = #{type,jdbcType=INTEGER},
+      hot = #{hot,jdbcType=INTEGER},
+      source = #{source,jdbcType=VARCHAR},
+      source_url = #{sourceUrl,jdbcType=VARCHAR},
+      summary = #{summary,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+</mapper>

+ 27 - 0
src/main/java/com/goafanti/common/mapper/NewsMapperExt.xml

@@ -0,0 +1,27 @@
+<?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.NewsMapper">
+	<resultMap id="SummaryResultMap" type="com.goafanti.news.bo.NewsSummary">
+		<id column="id" jdbcType="BIGINT" property="id" />
+		<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+		<result column="title" jdbcType="VARCHAR" property="title" />
+		<result column="title_img" jdbcType="VARCHAR" property="titleImg" />
+		<result column="type" jdbcType="INTEGER" property="type" />
+		<result column="hot" jdbcType="INTEGER" property="hot" />
+		<result column="summary" jdbcType="VARCHAR" property="summary" />
+	</resultMap>
+	<sql id="Summary_Column_List">
+		id, create_time, title, title_img, type, hot, summary
+	</sql>
+	<select id="findList" resultMap="SummaryResultMap">
+		select
+		<include refid="Summary_Column_List" />
+		from news
+		where 1=1 
+		<if test=" type != null">
+			and type = #{type,jdbcType=INTEGER}
+		</if>
+		order by id desc
+		limit #{pageNo,jdbcType=INTEGER}, #{pageSize,jdbcType=INTEGER}
+	</select>
+</mapper>

+ 161 - 0
src/main/java/com/goafanti/common/model/News.java

@@ -0,0 +1,161 @@
+package com.goafanti.common.model;
+
+import java.util.Date;
+
+public class News {
+    /**
+    * 主键
+    */
+    private Long id;
+
+    /**
+    * 创建时间
+    */
+    private Date createTime;
+
+    /**
+    * 修改时间
+    */
+    private Date editTime;
+
+    /**
+    * 标题
+    */
+    private String title;
+
+    /**
+    * 题图url
+    */
+    private String titleImg;
+
+    /**
+    * 作者
+    */
+    private String author;
+
+    /**
+    * 类型
+    */
+    private Integer type;
+
+    /**
+    * 是否放在首页
+    */
+    private Integer hot;
+
+    /**
+    * 来源
+    */
+    private String source;
+
+    /**
+    * 来源url
+    */
+    private String sourceUrl;
+
+    /**
+    * 简介
+    */
+    private String summary;
+
+    /**
+    * 内容
+    */
+    private String content;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getEditTime() {
+        return editTime;
+    }
+
+    public void setEditTime(Date editTime) {
+        this.editTime = editTime;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getTitleImg() {
+        return titleImg;
+    }
+
+    public void setTitleImg(String titleImg) {
+        this.titleImg = titleImg;
+    }
+
+    public String getAuthor() {
+        return author;
+    }
+
+    public void setAuthor(String author) {
+        this.author = author;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public Integer getHot() {
+        return hot;
+    }
+
+    public void setHot(Integer hot) {
+        this.hot = hot;
+    }
+
+    public String getSource() {
+        return source;
+    }
+
+    public void setSource(String source) {
+        this.source = source;
+    }
+
+    public String getSourceUrl() {
+        return sourceUrl;
+    }
+
+    public void setSourceUrl(String sourceUrl) {
+        this.sourceUrl = sourceUrl;
+    }
+
+    public String getSummary() {
+        return summary;
+    }
+
+    public void setSummary(String summary) {
+        this.summary = summary;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+}

+ 0 - 71
src/main/java/com/goafanti/common/utils/SerializeUtil.java

@@ -1,71 +0,0 @@
-package com.goafanti.common.utils;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-
-@SuppressWarnings("unchecked")
-public class SerializeUtil {
-
-	public static byte[] serialize(Object value) {
-		if (value == null) {
-			throw new NullPointerException("Can't serialize null");
-		}
-		byte[] rv = null;
-		ByteArrayOutputStream bos = null;
-		ObjectOutputStream os = null;
-		try {
-			bos = new ByteArrayOutputStream();
-			os = new ObjectOutputStream(bos);
-			os.writeObject(value);
-			os.close();
-			bos.close();
-			rv = bos.toByteArray();
-		} catch (Exception e) {
-			e.printStackTrace();
-			System.out.println("serialize error");
-		} finally {
-			close(os);
-			close(bos);
-		}
-		return rv;
-	}
-
-	public static Object deserialize(byte[] in) {
-		return deserialize(in, Object.class);
-	}
-
-	public static <T> T deserialize(byte[] in, Class<T>... requiredType) {
-		Object rv = null;
-		ByteArrayInputStream bis = null;
-		ObjectInputStream is = null;
-		try {
-			if (in != null) {
-				bis = new ByteArrayInputStream(in);
-				is = new ObjectInputStream(bis);
-				rv = is.readObject();
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-			System.out.println("deserialize error");
-		} finally {
-			close(is);
-			close(bis);
-		}
-		return (T) rv;
-	}
-
-	private static void close(Closeable closeable) {
-		if (closeable != null)
-			try {
-				closeable.close();
-			} catch (IOException e) {
-				e.printStackTrace();
-				System.out.println("close stream error");
-			}
-	}
-
-}

+ 2 - 0
src/main/java/com/goafanti/core/cache/serializer/FastJsonRedisSerializer.java

@@ -13,6 +13,8 @@ public class FastJsonRedisSerializer implements RedisSerializer<Object> {
 		pc.addAccept("com.goafanti.common.model.IndustryCategory");
 		pc.addAccept("com.goafanti.common.model.DistrictGlossory");
 		pc.addAccept("com.goafanti.common.model.HtmlFragment");
+		pc.addAccept("com.goafanti.common.model.News");
+		pc.addAccept("com.goafanti.news.bo.NewsSummary");
 	}
 
 	@Override

+ 8 - 6
src/main/java/com/goafanti/core/mybatis/page/SimplePage.java

@@ -2,15 +2,15 @@ package com.goafanti.core.mybatis.page;
 
 public class SimplePage implements Paginable {
 
-	public static final int DEF_COUNT = 20;
+	public static final int	DEF_COUNT	= 20;
 
-	protected int filterNo;
+	protected int			filterNo;
 
-	protected int pageNo = 1;
+	protected int			pageNo		= 1;
 
-	protected int pageSize = 20;
+	protected int			pageSize	= 20;
 
-	protected int totalCount = 0;
+	protected int			totalCount	= 0;
 
 	public SimplePage() {
 	}
@@ -21,7 +21,7 @@ public class SimplePage implements Paginable {
 		} else {
 			this.totalCount = totalCount;
 		}
-		if (pageSize <= 0) {
+		if (pageSize <= 0 || pageSize > 100) {
 			this.pageSize = DEF_COUNT;
 		} else {
 			this.pageSize = pageSize;
@@ -84,9 +84,11 @@ public class SimplePage implements Paginable {
 			return pageNo - 1;
 		}
 	}
+
 	public int getTotalCount() {
 		return totalCount;
 	}
+
 	public int getTotalPage() {
 		int totalPage = totalCount / pageSize;
 		if (totalCount % pageSize != 0 || totalPage == 0) {

+ 97 - 0
src/main/java/com/goafanti/news/bo/NewsSummary.java

@@ -0,0 +1,97 @@
+package com.goafanti.news.bo;
+
+import java.util.Date;
+
+public class NewsSummary {
+	/**
+	 * 主键
+	 */
+	private Long	id;
+
+	/**
+	 * 创建时间
+	 */
+	private Date	createTime;
+
+	/**
+	 * 标题
+	 */
+	private String	title;
+
+	/**
+	 * 题图url
+	 */
+	private String	titleImg;
+
+	/**
+	 * 类型
+	 */
+	private Integer	type;
+
+	/**
+	 * 是否放在首页
+	 */
+	private Integer	hot;
+
+	/**
+	 * 简介
+	 */
+	private String	summary;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+	
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+
+	public String getTitle() {
+		return title;
+	}
+
+	public void setTitle(String title) {
+		this.title = title;
+	}
+
+	public String getTitleImg() {
+		return titleImg;
+	}
+
+	public void setTitleImg(String titleImg) {
+		this.titleImg = titleImg;
+	}
+
+	public Integer getType() {
+		return type;
+	}
+
+	public void setType(Integer type) {
+		this.type = type;
+	}
+
+	public Integer getHot() {
+		return hot;
+	}
+
+	public void setHot(Integer hot) {
+		this.hot = hot;
+	}
+
+	public String getSummary() {
+		return summary;
+	}
+
+	public void setSummary(String summary) {
+		this.summary = summary;
+	}
+
+}

+ 50 - 0
src/main/java/com/goafanti/news/controller/NewsController.java

@@ -0,0 +1,50 @@
+package com.goafanti.news.controller;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.servlet.ModelAndView;
+
+import com.alibaba.druid.util.StringUtils;
+import com.goafanti.common.controller.BaseController;
+import com.goafanti.news.enums.NewsType;
+import com.goafanti.news.service.NewsService;
+
+@Controller
+public class NewsController extends BaseController {
+	@Resource
+	NewsService newsService;
+
+	/**
+	 * 策源地
+	 * 
+	 * @param request
+	 * @param modelview
+	 * @return
+	 */
+	@RequestMapping(value = "/portal/news/newsIndex", method = RequestMethod.GET)
+	public ModelAndView portalNewsNewsIndex(HttpServletRequest request, ModelAndView modelview, String noCache) {
+		modelview.setViewName("/portal/news/newsIndex");
+		if (StringUtils.equals(noCache, "clear")) {
+			newsService.cleanList();
+		}
+		modelview.addObject("kjkx", newsService.findNewsList(0, NewsType.KJZX.getCode(), 2));
+		modelview.addObject("jtdt", newsService.findNewsList(0, NewsType.JTDT.getCode(), 2));
+		modelview.addObject("zfwl", newsService.findNewsList(0, NewsType.ZFWL.getCode(), 3));
+		modelview.addObject("gjzc", newsService.findNewsList(0, NewsType.GJZC.getCode(), 3));
+		modelview.addObject("dfzc", newsService.findNewsList(0, NewsType.DFZC.getCode(), 3));
+		return modelview;
+	}
+
+	/**
+	 * 新闻详情
+	 */
+	@RequestMapping(value = "/portal/news/newsDetails", method = RequestMethod.GET)
+	public ModelAndView portalNewsNewsDetails(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/news/newsDetails");
+		return modelview;
+	}
+}

+ 43 - 0
src/main/java/com/goafanti/news/enums/NewsType.java

@@ -0,0 +1,43 @@
+package com.goafanti.news.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public enum NewsType {
+	ALL(0, "所有"), KJZX(1, "科技资讯"), ZFWL(2, "政府往来"), JTDT(3, "技淘动态"), GJZC(4, "国家政策"), DFZC(5, "地方政策");
+	private Integer							code;
+	private String							desc;
+
+	private static Map<Integer, NewsType>	status	= new HashMap<Integer, NewsType>();
+
+	private NewsType(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	static {
+		for (NewsType value : NewsType.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+
+	public static NewsType getField(Integer code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return ALL;
+	}
+
+	public static boolean containsType(Integer code) {
+		return status.containsKey(code);
+	}
+
+	public Integer getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}

+ 61 - 0
src/main/java/com/goafanti/news/service/NewsService.java

@@ -0,0 +1,61 @@
+package com.goafanti.news.service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+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.CachePut;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.goafanti.common.dao.NewsMapper;
+import com.goafanti.common.model.News;
+import com.goafanti.common.utils.LoggerUtils;
+import com.goafanti.core.mybatis.BaseMybatisDao;
+import com.goafanti.news.bo.NewsSummary;
+
+@Service
+@Transactional
+public class NewsService extends BaseMybatisDao<NewsMapper> {
+	@Autowired
+	NewsMapper					newsMapper;
+
+	private static final Logger	logger	= LoggerFactory.getLogger(NewsService.class);
+
+	@Cacheable(value = "NewsCache", key = "'News:'+#id")
+	public News selectById(Long id) {
+		return newsMapper.selectByPrimaryKey(id);
+	}
+
+	@Cacheable(value = "NewsListCache", key = "'NewsList:Page:'+#pageNo+'Type:'+#type+'Size:'+#pageSize")
+	public List<NewsSummary> findNewsList(Integer pageNo, Integer type, Integer pageSize) {
+		Map<String, Object> params = new HashMap<String, Object>();
+		params.put("type", type);
+		params.put("pageSize", pageSize);
+		params.put("pageNo", pageNo);
+		return newsMapper.findList(params);
+	}
+
+	@CacheEvict(value = "NewsListCache", allEntries = true)
+	public void cleanList() {
+		LoggerUtils.debug(logger, "清除新闻列表缓存");
+	}
+
+	@CacheEvict(value = "NewsCache", key = "'News:'+#id")
+	public void clean(String id) {
+		LoggerUtils.debug(logger, "清除新闻缓存:[%s]", id);
+	}
+
+	@CachePut(value = "NewsCache", key = "'News:'+#id")
+	public News save(Long id, News news) {
+		news.setId(id);
+		newsMapper.insert(news);
+		return news;
+	}
+
+}

+ 67 - 64
src/main/webapp/WEB-INF/views/common.html

@@ -44,79 +44,82 @@
 	</a>
   </th:block>
   
-  <th:block th:fragment="subMenu">
+  <th:block th:fragment="subMenu(mainM, subM)">
   	<ul class="nav_content">
 		<li class="home"><a th:href="${basePath + '/portal/index.html'}">首页</a></li>
-		<li>
-		<!-- <a th:href="${basePath + '/portal/technologyTrading/index.html'}">技术交易</a> -->
-		<a th:href="${basePath + '/portal/search/achievement.html'}">技术交易</a>
-			<ul class="secondary_navigation_nav">
-				<li><a th:href="${basePath + '/portal/search/demand.html'}">需求谷</a></li>
-				<li><a
-					th:href="${basePath + '/portal/search/achievement.html'}">技术海</a></li>
+		<li th:classappend="${mainM=='tech'}? 'active'">
+			<!-- <a th:href="${basePath + '/portal/technologyTrading/index.html'}">技术交易</a> -->
+			<a th:href="${basePath + '/portal/search/achievement.html'}">技术交易</a>
+			<ul class="secondary_navigation_nav" th:style="${'width:'+(4*75)+'px;left:-'+(4*75/2-74.25/2)+'px;'}">
+				<li th:classappend="${subM=='demand'}? 'active'"><a th:href="${basePath + '/portal/search/demand.html'}">需求谷</a></li>
+				<li th:classappend="${subM=='tech'}? 'active'"><a th:href="${basePath + '/portal/search/achievement.html'}">技术海</a></li>
 				<!-- <li><a href="#">Idea</a></li> -->
-				<li><a
-					th:href="${basePath + '/portal/search/subscriber.html'}">伙伴</a></li>
-				<li><a
-					th:href="${basePath + '/portal/search/subscriber.html'}">行家</a></li>
-				<li><a
-					th:href="${basePath + '/portal/international/internationalIndex.html'}">国际业务</a></li>
-			</ul></li>
-		<li><a
-			th:href="${basePath + '/portal/scienceTechnology/bigShot.html'}">大咖说</a>
-			<ul class="secondary_navigation_nav">
-				<li><a
-					th:href="${basePath + '/portal/scienceTechnology/star.html'}">科技明星</a></li>
-				<li><a
-					th:href="${basePath + '/portal/scienceTechnology/lecture.html'}">科技讲堂</a></li>
+				<li th:classappend="${subM=='company'}? 'active'"><a th:href="${basePath + '/portal/search/subscriber.html'}">伙伴</a></li>
+				<li th:classappend="${subM=='person'}? 'active'"><a th:href="${basePath + '/portal/search/subscriber.html'}">行家</a></li>
+				<!-- <li th:classappend="${subM=='international'}? 'active'"><a th:href="${basePath + '/portal/international/internationalIndex.html'}">国际业务</a></li> -->
+			</ul>
+		</li>
+		<li th:classappend="${mainM=='bigShot'}? 'active'">
+			<a th:href="${basePath + '/portal/scienceTechnology/bigShot.html'}">大咖说</a>
+			<ul class="secondary_navigation_nav" th:style="${'width:'+(2*75)+'px;left:-'+(2*75/2-74.25/2)+'px;'}">
+				<li th:classappend="${subM=='star'}? 'active'"><a th:href="${basePath + '/portal/scienceTechnology/star.html'}">科技明星</a></li>
+				<li th:classappend="${subM=='lecture'}? 'active'"><a th:href="${basePath + '/portal/scienceTechnology/lecture.html'}">科技讲堂</a></li>
 				<!-- <li><a href="#">众筹专区</a></li> -->
-			</ul></li>
-		<li><a
-			th:href="${basePath + '/portal/activity/activityIndex.html'}">活动圈</a>
-			<ul class="secondary_navigation_nav">
-				<li><a
-					th:href="${basePath + '/portal/activity/details.html'}">活动详情</a></li>
-			</ul></li>
-		<li><a
-			th:href="${basePath + '/portal/websiteBuild/websiteBuildIndex.html'}">建设兵团</a>
-			<ul class="secondary_navigation_nav">
-				<li><a th:href="${basePath + '/portal/websiteBuild/websiteBuildIndex.html'}">平台定制</a></li>
-				<li><a th:href="${basePath + '/portal/websiteBuild/websiteBuildIndex.html'}">平台运营</a></li>
-				<li><a th:href="${basePath + '/portal/websiteBuild/websiteBuildIndex.html'}">活动筹划</a></li>
-			</ul></li>
-		<li><a
-			th:href="${basePath + '/portal/international/internationalIndex.html'}">国际业务</a>
-			<ul class="secondary_navigation_nav">
-				<li><a th:href="${basePath + '/portal/international/internationalIndex.html'}">国际技术</a></li>
-				<li><a th:href="${basePath + '/portal/international/internationalIndex.html'}">国际伙伴</a></li>
-				<li><a th:href="${basePath + '/portal/international/internationalIndex.html'}">国际专家</a></li>
-			</ul></li>
-		<li><a
-			th:href="${basePath + '/portal/service/serviceIndex.html'}">服务汇</a>
-			<ul class="secondary_navigation_nav">
-				<li><a th:href="${basePath + '/portal/highTech/authentication.html'}">高企培育</a></li>
+			</ul>
+		</li>
+		<li th:classappend="${mainM=='activityIndex'}? 'active'">
+			<a th:href="${basePath + '/portal/activity/activityIndex.html'}">活动圈</a>
+			<ul class="secondary_navigation_nav" th:style="${'width:'+(1*75)+'px;left:-'+(1*75/2-74.25/2)+'px;'}">
+				<li th:classappend="${subM=='activityDetail'}? 'active'"><a th:href="${basePath + '/portal/activity/details.html'}">活动详情</a></li>
+			</ul>
+		</li>
+		<li th:classappend="${mainM=='websiteBuildIndex'}? 'active'">
+			<a th:href="${basePath + '/portal/websiteBuild/websiteBuildIndex.html'}">建设兵团</a>
+			<ul class="secondary_navigation_nav" th:style="${'width:'+(3*75)+'px;left:-'+(3*75/2-74.25/2)+'px;'}">
+				<li><a th:href="${basePath + '/portal/websiteBuild/websiteBuildIndex.html#customized'}">平台定制</a></li>
+				<li><a th:href="${basePath + '/portal/websiteBuild/websiteBuildIndex.html#operates'}">平台运营</a></li>
+				<li><a th:href="${basePath + '/portal/websiteBuild/websiteBuildIndex.html#event_planning'}">活动筹划</a></li>
+			</ul>
+		</li>
+		<li th:classappend="${mainM=='internationalIndex'}? 'active'">
+			<a th:href="${basePath + '/portal/international/internationalIndex.html'}">国际业务</a>
+			<ul class="secondary_navigation_nav" th:style="${'width:'+(3*75)+'px;left:-'+(3*75/2-74.25/2)+'px;'}">
+				<li><a th:href="${basePath + '/portal/international/internationalIndex.html#internationalTechnology'}">国际技术</a></li>
+				<li><a th:href="${basePath + '/portal/international/internationalIndex.html#internationalPartner'}">国际伙伴</a></li>
+				<li><a th:href="${basePath + '/portal/international/internationalIndex.html#internationalExpert'}">国际专家</a></li>
+			</ul>
+		</li>
+		<li th:classappend="${mainM=='service'}? 'active'">
+			<a th:href="${basePath + '/portal/service/serviceIndex.html'}">服务汇</a>
+			<ul class="secondary_navigation_nav" th:style="${'width:'+(3*75)+'px;left:-'+(3*75/2-74.25/2)+'px;'}">
+				<li th:classappend="${subM=='highTech'}? 'active'"><a th:href="${basePath + '/portal/highTech/authentication.html'}">高企培育</a></li>
 				<!-- <li><a th:href="${basePath + '/portal/highTech/authentication.html'}">科技项目</a></li> -->
-				<li><a th:href="${basePath + '/portal/ipr/service.html'}">知识产权</a></li>
-				<li><a th:href="${basePath + '/portal/evaluation/index.html'}">技术评估</a></li>
-			</ul></li>
-		<li><a th:href="${basePath + '/portal/news/newsIndex.html'}">策源地</a>
-			<ul class="secondary_navigation_nav">
+				<li th:classappend="${subM=='ipr'}? 'active'"><a th:href="${basePath + '/portal/ipr/service.html'}">知识产权</a></li>
+				<li th:classappend="${subM=='evaluate'}? 'active'"><a th:href="${basePath + '/portal/evaluation/index.html'}">技术评估</a></li>
+			</ul>
+		</li>
+		<li th:classappend="${mainM=='news'}? 'active'">
+			<a th:href="${basePath + '/portal/news/newsIndex.html'}">策源地</a>
+			<ul class="secondary_navigation_nav" th:style="${'width:'+(3*75)+'px;left:-'+(3*75/2-74.25/2)+'px;'}">
 				<li><a th:href="${basePath + '/portal/news/newsIndex.html'}">新闻快讯</a></li>
 				<li><a th:href="${basePath + '/portal/news/newsIndex.html'}">科技政策</a></li>
 				<li><a th:href="${basePath + '/portal/news/newsIndex.html'}">政策解读</a></li>
-			</ul></li>
-		<li><a
-			th:href="${basePath + '/portal/entrepreneurship/entrepreneurshipIndex.html'}">创意圈</a>
-			<ul class="secondary_navigation_nav">
+			</ul>
+		</li>
+		<li th:classappend="${mainM=='creative'}? 'active'">
+			<a th:href="${basePath + '/portal/entrepreneurship/entrepreneurshipIndex.html'}">创意圈</a>
+			<ul class="secondary_navigation_nav" th:style="${'width:'+(3*75)+'px;left:-'+(3*75/2-74.25/2)+'px;'}">
 				<li><a th:href="${basePath + '/portal/entrepreneurship/entrepreneurshipIndex.html'}">项目圈</a></li>
-				<li><a th:href="${basePath + '/portal/entrepreneurship/entrepreneurshipIndex.html'}">创客圈</a></li>
-				<li><a th:href="${basePath + '/portal/entrepreneurship/entrepreneurshipIndex.html'}">结义园</a></li>
-			</ul></li>
-		<li><a
-			th:href="${basePath + '/portal/financial/financialIndex.html'}">金融圈</a>
-			<ul class="secondary_navigation_nav">
-				<li><a th:href="${basePath + '/portal/financial/financialIndex.html'}">金融街</a></li>
-			</ul></li>
+				<li><a th:href="${basePath + '/portal/entrepreneurship/entrepreneurshipIndex.html#chuangke'}">创客圈</a></li>
+				<li><a th:href="${basePath + '/portal/entrepreneurship/entrepreneurshipIndex.html#jieyi'}">结义园</a></li>
+			</ul>
+		</li>
+		<li th:classappend="${mainM=='financial'}? 'active'">
+			<a th:href="${basePath + '/portal/financial/financialIndex.html'}">金融圈</a>
+			<ul class="secondary_navigation_nav" th:style="${'width:'+(1*75)+'px;left:-'+(1*75/2-74.25/2)+'px;'}">
+				<li th:classappend="${subM=='financial'}? 'active'"><a th:href="${basePath + '/portal/financial/financialIndex.html'}">金融街</a></li>
+			</ul>
+		</li>
 	</ul>
   </th:block>
   

+ 1 - 1
src/main/webapp/WEB-INF/views/portal/activity/activityIndex.html

@@ -26,7 +26,7 @@
 					<div th:replace="common::sublogo"></div>
 				</div>
 				<div class="col-md-9">
-					<div th:replace="common::subMenu"></div>
+					<div th:replace="common::subMenu('activityIndex', '')"></div>
 				</div>
 			</div>
 		</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/portal/activity/details.html

@@ -29,7 +29,7 @@
 					<div th:replace="common::sublogo"></div>
 				</div>
 				<div class="col-md-9">
-					<div th:replace="common::subMenu"></div>
+					<div th:replace="common::subMenu('activityIndex', 'activityDetail')"></div>
 				</div>
 			</div>
 		</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/portal/detail/achievementDetail.html

@@ -28,7 +28,7 @@
 					<div th:replace="common::sublogo"></div>
 				</div>
 				<div class="col-md-9">
-					<div th:replace="common::subMenu"></div>
+					<div th:replace="common::subMenu('tech','')"></div>
 				</div>
 			</div>
 		</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/portal/detail/demandDetail.html

@@ -30,7 +30,7 @@
 					<div th:replace="common::sublogo"></div>
 				</div>
 				<div class="col-md-9">
-					<div th:replace="common::subMenu"></div>
+					<div th:replace="common::subMenu('tech','')"></div>
 				</div>
 			</div>
 		</div>

Plik diff jest za duży
+ 12 - 8
src/main/webapp/WEB-INF/views/portal/entrepreneurship/entrepreneurshipIndex.html


Plik diff jest za duży
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/evaluation/index.html


+ 3 - 3
src/main/webapp/WEB-INF/views/portal/financial/financialIndex.html

@@ -27,14 +27,14 @@
 					<div th:replace="common::sublogo"></div>
 				</div>
 				<div class="col-md-9">
-					<div th:replace="common::subMenu"></div>
+					<div th:replace="common::subMenu('financial','financial')"></div>
 				</div>
 			</div>
 		</div>
 		<div class="secondary_navigation"></div>
 	</div>
-	<div class="container hot">
-		<img th:src="${portalHost + '/img/financial_hot_img.jpg'}" />
+	<div class="item active">
+		<img th:src="${portalHost + '/img/financial_hot_img.jpg'}" width="100%"/>
 	</div>
 	<div class="container financial">
 		<div class="map" id="map"></div>

+ 1 - 1
src/main/webapp/WEB-INF/views/portal/highTech/authentication.html

@@ -28,7 +28,7 @@
 					<div th:replace="common::sublogo"></div>
 				</div>
 				<div class="col-md-9">
-					<div th:replace="common::subMenu"></div>
+					<div th:replace="common::subMenu('service','highTech')"></div>
 				</div>
 			</div>
 		</div>

Plik diff jest za duży
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/highTech/evaluate/basicInfo.html


Plik diff jest za duży
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/highTech/evaluate/evaluate.html


Plik diff jest za duży
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/highTech/evaluate/financeInfo.html


Plik diff jest za duży
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/highTech/evaluate/iprInfo.html


Plik diff jest za duży
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/highTech/evaluate/rdManage.html


Plik diff jest za duży
+ 4 - 9
src/main/webapp/WEB-INF/views/portal/international/internationalIndex.html


+ 24 - 18
src/main/webapp/WEB-INF/views/portal/ipr/apply.html

@@ -20,28 +20,34 @@
 			</div>
 		</div>
 	</header>
-	<div class="container header_nav">
-		<div class="row clearfix">
-			<div class="col-md-3 logo">
-				<div th:replace="common::sublogo"></div>
-			</div>
-			<div class="col-md-9">
-				<ul class="nav_content">
-					<li><a th:href="${basePath + '/portal/ipr/service.html'}">知识产权服务</a></li>
-					<li class="active"><a
-						th:href="${basePath + '/portal/ipr/apply.html'}">知识产权申请</a></li>
-					<li><a th:href="${basePath + '/portal/ipr/patentOperation.html'}">专利运营与布局</a></li>
-					<li><a th:href="${basePath + '/portal/ipr/iso.html'}">知识产权贯标</a></li>
-				</ul>
+	<div class="header_nav_detail">
+		<div class="container ">
+			<div class="row clearfix">
+				<div class="col-md-3 logo">
+					<div th:replace="common::sublogo"></div>
+				</div>
+				<div class="col-md-9">
+					<div th:replace="common::subMenu('service', 'ipr')"></div>
+				</div>
 			</div>
 		</div>
+		<div class="secondary_navigation"></div>
 	</div>
 
-		<div class="item active">
-			<img th:src="${portalHost + '/img/ipr_service_apply_banner.jpg'}"
-				alt="First slide">
-		</div>
-
+	<div class="item active">
+		<img th:src="${portalHost + '/img/ipr_service_apply_banner.jpg'}"
+			alt="First slide">
+	</div>
+	
+	<div id="content_head" class="container">
+		<ul class="nav_content">
+			<li><a th:href="${basePath + '/portal/ipr/service.html'}">知识产权服务</a></li>
+			<li class="active"><a th:href="${basePath + '/portal/ipr/apply.html'}">知识产权申请</a></li>
+			<li><a th:href="${basePath + '/portal/ipr/patentOperation.html'}">专利运营与布局</a></li>
+			<li><a th:href="${basePath + '/portal/ipr/iso.html'}">知识产权贯标</a></li>
+		</ul>
+	</div>
+	
 	<div class="container apply">
 		<div class="title">
 			<h1>产品描述</h1>

+ 34 - 31
src/main/webapp/WEB-INF/views/portal/ipr/iso.html

@@ -17,42 +17,45 @@
 				</div>-->
 		</div>
 	</header>
-	<div class="container header_nav">
-		<div class="row clearfix">
-			<div class="col-md-3 logo">
-				<div th:replace="common::sublogo"></div>
-			</div>
-			<div class="col-md-9">
-				<ul class="nav_content">
-					<li><a th:href="${basePath + '/portal/ipr/service.html'}">知识产权服务</a></li>
-					<li><a th:href="${basePath + '/portal/ipr/apply.html'}">知识产权申请</a></li>
-					<li><a
-						th:href="${basePath + '/portal/ipr/patentOperation.html'}">专利运营与布局</a></li>
-					<li class="active"><a
-						th:href="${basePath + '/portal/ipr/iso.html'}">知识产权贯标</a></li>
-				</ul>
+	<div class="header_nav_detail">
+		<div class="container ">
+			<div class="row clearfix">
+				<div class="col-md-3 logo">
+					<div th:replace="common::sublogo"></div>
+				</div>
+				<div class="col-md-9">
+					<div th:replace="common::subMenu('service', 'ipr')"></div>
+				</div>
 			</div>
 		</div>
+		<div class="secondary_navigation"></div>
 	</div>
 
-		<div class="item active">
-			<img th:src="${portalHost + '/img/ipr_service_iso_banner.jpg'}"
-				alt="First slide">
-		</div>
-			
+	<div class="item active">
+		<img th:src="${portalHost + '/img/ipr_service_iso_banner.jpg'}"
+			alt="First slide">
+	</div>
+	<div id="content_head" class="container">
+		<ul class="nav_content">
+			<li><a th:href="${basePath + '/portal/ipr/service.html'}">知识产权服务</a></li>
+			<li><a th:href="${basePath + '/portal/ipr/apply.html'}">知识产权申请</a></li>
+			<li><a th:href="${basePath + '/portal/ipr/patentOperation.html'}">专利运营与布局</a></li>
+			<li class="active"><a th:href="${basePath + '/portal/ipr/iso.html'}">知识产权贯标</a></li>
+		</ul>
+	</div>
 	<div class="iso_introduce">
-    <div class="container">
-      <div class="title">
-        <h1>什么是知识产权贯标</h1>
-        <p>WHAT IS INTELLECTUAL PROPERTY ENFORCEMENT?</p> <span></span> </div>
-      <div class="iso_introduce_content">
-        <h2>知识产权对于企业来说:</h2>
-        <p>就是贯彻《企业知识产权管理规范》国家标准。企业知识产权管理规范的国家标准由国家知识产权局制订,经由国家质量监督检验检疫总局、国家标准化管理委员会批准颁布,于2013年3月1日起实施,标准号是GB/T29490-2013。</p>
-        <p>通常所说的贯标是指贯彻ISO9000质量管理体系标准、ISO14000环境管理体系标准和OHSAS18000职业健康安全管理体系规范,是运用过程方法和系统方法,持续改进工作的一种活动。</p>
-        <p>企业知识产权管理标准化示范创建工作(贯彻《企业知识产权管理规范》),也是贯标的一个类别,被称为知识产权贯标。</p>
-      </div>
-    </div>
-  </div>
+	   <div class="container">
+	     <div class="title">
+	       <h1>什么是知识产权贯标</h1>
+	       <p>WHAT IS INTELLECTUAL PROPERTY ENFORCEMENT?</p> <span></span> </div>
+	     <div class="iso_introduce_content">
+	       <h2>知识产权对于企业来说:</h2>
+	       <p>就是贯彻《企业知识产权管理规范》国家标准。企业知识产权管理规范的国家标准由国家知识产权局制订,经由国家质量监督检验检疫总局、国家标准化管理委员会批准颁布,于2013年3月1日起实施,标准号是GB/T29490-2013。</p>
+	       <p>通常所说的贯标是指贯彻ISO9000质量管理体系标准、ISO14000环境管理体系标准和OHSAS18000职业健康安全管理体系规范,是运用过程方法和系统方法,持续改进工作的一种活动。</p>
+	       <p>企业知识产权管理标准化示范创建工作(贯彻《企业知识产权管理规范》),也是贯标的一个类别,被称为知识产权贯标。</p>
+	     </div>
+	   </div>
+	 </div>
   <div class="iso_advantage">
     <div class="container">
       <div class="title">

+ 18 - 12
src/main/webapp/WEB-INF/views/portal/ipr/patentOperation.html

@@ -18,20 +18,18 @@
 				</div>-->
 		</div>
 	</header>
-	<div class="container header_nav">
-		<div class="row clearfix">
-			<div class="col-md-3 logo">
-				<div th:replace="common::sublogo"></div>
-			</div>
-			<div class="col-md-9">
-				<ul class="nav_content">
-					<li><a th:href="${basePath + '/portal/ipr/service.html'}">知识产权服务</a></li>
-					<li><a th:href="${basePath + '/portal/ipr/apply.html'}">知识产权申请</a></li>
-					<li class="active"><a th:href="${basePath + '/portal/ipr/patentOperation.html'}">专利运营与布局</a></li>
-					<li><a th:href="${basePath + '/portal/ipr/iso.html'}">知识产权贯标</a></li>
-				</ul>
+	<div class="header_nav_detail">
+		<div class="container ">
+			<div class="row clearfix">
+				<div class="col-md-3 logo">
+					<div th:replace="common::sublogo"></div>
+				</div>
+				<div class="col-md-9">
+					<div th:replace="common::subMenu('service', 'ipr')"></div>
+				</div>
 			</div>
 		</div>
+		<div class="secondary_navigation"></div>
 	</div>
 	<div id="myCarousel" class="carousel slide">
 		<!-- 轮播(Carousel)指标 -->
@@ -61,6 +59,14 @@
 			class="carousel-control right" href="#myCarousel" data-slide="next"><span
 			class="glyphicon glyphicon-chevron-right"></span></a>
 	</div>
+	<div id="content_head" class="container">
+		<ul class="nav_content">
+			<li><a th:href="${basePath + '/portal/ipr/service.html'}">知识产权服务</a></li>
+			<li><a th:href="${basePath + '/portal/ipr/apply.html'}">知识产权申请</a></li>
+			<li class="active"><a th:href="${basePath + '/portal/ipr/patentOperation.html'}">专利运营与布局</a></li>
+			<li><a th:href="${basePath + '/portal/ipr/iso.html'}">知识产权贯标</a></li>
+		</ul>
+	</div>
 	<div class="container consulting">
 		<div class="title">
 			<h1>专利咨询</h1>

+ 18 - 14
src/main/webapp/WEB-INF/views/portal/ipr/service.html

@@ -13,21 +13,18 @@
 				
 		</div>
 	</header>
-	<div class="container header_nav">
-		<div class="row clearfix">
-			<div class="col-md-3 logo">
-				<div th:replace="common::sublogo"></div>
-			</div>
-			<div class="col-md-9">
-				<ul class="nav_content">
-					<li class="active"><a
-						th:href="${basePath + '/portal/ipr/service.html'}">知识产权服务</a></li>
-					<li><a th:href="${basePath + '/portal/ipr/apply.html'}">知识产权申请</a></li>
-					<li><a th:href="${basePath + '/portal/ipr/patentOperation.html'}">专利运营与布局</a></li>
-					<li><a th:href="${basePath + '/portal/ipr/iso.html'}">知识产权贯标</a></li>
-				</ul>
+	<div class="header_nav_detail">
+		<div class="container ">
+			<div class="row clearfix">
+				<div class="col-md-3 logo">
+					<div th:replace="common::sublogo"></div>
+				</div>
+				<div class="col-md-9">
+					<div th:replace="common::subMenu('service', 'ipr')"></div>
+				</div>
 			</div>
 		</div>
+		<div class="secondary_navigation"></div>
 	</div>
 	<div id="myCarousel" class="carousel slide">
 		<!-- 轮播(Carousel)指标 -->
@@ -58,7 +55,14 @@
 			class="glyphicon glyphicon-chevron-right"></span></a>
 	</div>
 
-
+	<div id="content_head" class="container">
+		<ul class="nav_content">
+			<li class="active"><a th:href="${basePath + '/portal/ipr/service.html'}">知识产权服务</a></li>
+			<li><a th:href="${basePath + '/portal/ipr/apply.html'}">知识产权申请</a></li>
+			<li><a th:href="${basePath + '/portal/ipr/patentOperation.html'}">专利运营与布局</a></li>
+			<li><a th:href="${basePath + '/portal/ipr/iso.html'}">知识产权贯标</a></li>
+		</ul>
+	</div>
 	<div class="container service">
 		<div class="title">
 			<h1>我们的服务优势</h1>

+ 0 - 183
src/main/webapp/WEB-INF/views/portal/news.html

@@ -1,183 +0,0 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml"
-	xmlns:th="http://www.thymeleaf.org"
-	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
-<head th:replace="common::header(~{::title},~{::link})">
-<title>新闻页</title>
-<link th:href="${portalHost + '/vendors.css'}" rel="stylesheet">
-<link th:href="${portalHost + '/news.css'}" rel="stylesheet">
-</head>
-<body>
-	<header>
-		<div th:replace="common::{topNav}">
-			<div class="container">
-				<div class="lt">欢迎进入科技认知计算交易平台!</div>
-	               <div class="rt">
-					<a href="/user/login.html" class="login">登录</a>
-	                   <a href="/user/signIn.html">注册</a>
-					<a href="#">导航</a>
-					<a href="#">关于我们</a>
-					<a href="#">联系我们</a>
-				</div>
-			</div>		
-		</div>
-	</header>
-	<div class="container header_nav">
-		<div class="row clearfix">
-			<div class="col-md-3 logo">
-				<div th:replace="common::sublogo"></div>
-			</div>
-			<div class="col-md-9">
-				<div th:replace="common::subMenu"></div>
-			</div>
-		</div>
-	</div>
-	<div id="myCarousel" class="carousel slide">
-		<!-- 轮播(Carousel)指标 -->
-		<ol class="carousel-indicators">
-			<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
-			<li data-target="#myCarousel" data-slide-to="1"></li>
-			<li data-target="#myCarousel" data-slide-to="2"></li>
-		</ol>
-		<!-- 轮播(Carousel)项目 -->
-		<div class="carousel-inner">
-			<div class="item active">
-				<img th:src="${portalHost + '/img/slide_img_1.png'}"
-					alt="First slide">
-			</div>
-			<div class="item">
-				<img th:src="${portalHost + '/img/slide_img_1.png'}"
-					alt="Second slide">
-			</div>
-			<div class="item">
-				<img th:src="${portalHost + '/img/slide_img_1.png'}"
-					alt="Third slide">
-			</div>
-		</div>
-		<!-- 轮播(Carousel)导航 -->
-		<a class="carousel-control left" href="#myCarousel" data-slide="prev"><span
-			class="glyphicon glyphicon-chevron-left"></span></a> <a
-			class="carousel-control right" href="#myCarousel" data-slide="next"><span
-			class="glyphicon glyphicon-chevron-right"></span></a>
-	</div>
-
-	<div class="news">
-		<div class="news_floor">
-			<div class="container">
-				<div class="news_title">
-					<h3>最新政策</h3>
-				</div>
-				<div class="content">
-					<div id="myCarousel1" class="carousel slide news_slide">
-						<ol class="carousel-indicators">
-							<li data-target="#myCarousel1" data-slide-to="0" class="active"></li>
-							<li data-target="#myCarousel1" data-slide-to="1"></li>
-							<li data-target="#myCarousel1" data-slide-to="2"></li>
-						</ol>
-						<div class="carousel-inner">
-							<div class="item active">
-								<img th:src="${portalHost + '/img/news_img_n_1.jpg'}"
-									alt="First slide">
-							</div>
-							<div class="item">
-								<img th:src="${portalHost + '/img/news_img_n_2.jpg'}"
-									alt="Second slide">
-							</div>
-							<div class="item">
-								<img th:src="${portalHost + '/img/news_img_n_3.jpg'}"
-									alt="Third slide">
-							</div>
-						</div>
-					</div>
-					<div class="news_info">
-						<div class="news_hot">
-							<ul>
-								<li><a href="#"><h2>最热新闻</h2></a><span><i>4821</i>人关注</span></li>
-								<li><a href="#">珠海市今年高新技术企业培育库入库申报启动企业入出库</a></li>
-								<li><a href="#">国家税务总局关于实施高新技术企业所得税优惠政策有关问题的公告</a></li>
-							</ul>
-						</div>
-						<div class="news_list">
-							<ul>
-								<li><a href="#">上海:印发《上海市促进科技成果转移转化行动方案(2017-2020)》的通知</a><span>06/30</span></li>
-								<li><a href="#">黑龙江:组织开展2017年度第二批高新技术企业认定工作</a><span>06/30</span></li>
-								<li><a href="#">关于2017年度湖南省科学技术奖推荐工作的通知</a><span>06/29</span></li>
-								<li><a href="#">关于开展2017年荆门市高新技术企业认定申报工作的通知</a><span>06/28</span></li>
-								<li><a href="#">2017年度湖南省两型工业企业认证计划</a><span>06/27</span></li>
-								<li><a href="#">中山市高新技术企业发展专项资金使用办法</a><span>06/27</span></li>
-							</ul>
-						</div>
-						<div class="news_btn">
-							<img
-								th:src="${portalHost + '/img/down_ioc.png'}" />
-							<a href="#">更多政策</a>
-						</div>
-					</div>
-				</div>
-			</div>
-		</div>
-		<div class="news_floor bg_blue">
-			<div class="container">
-				<div class="news_title">
-					<h3>重要政策</h3>
-				</div>
-				<div class="content">
-					<div id="myCarousel2" class="carousel slide news_slide">
-						<ol class="carousel-indicators">
-							<li data-target="#myCarousel2" data-slide-to="0" class="active"></li>
-							<li data-target="#myCarousel2" data-slide-to="1"></li>
-							<li data-target="#myCarousel2" data-slide-to="2"></li>
-						</ol>
-						<div class="carousel-inner">
-							<div class="item active">
-								<img th:src="${portalHost + '/img/news_img_p_1.jpg'}"
-									alt="First slide">
-							</div>
-							<div class="item">
-								<img th:src="${portalHost + '/img/news_img_p_2.jpg'}"
-									alt="Second slide">
-							</div>
-							<div class="item">
-								<img th:src="${portalHost + '/img/news_img_p_3.jpg'}"
-									alt="Third slide">
-							</div>
-						</div>
-					</div>
-					<div class="news_info">
-						<div class="news_hot">
-							<ul>
-								<li><a href="#"><h2>科技部 财政部 国家税务总局</h2></a><span><i>9832</i>人关注</span></li>
-								<li><a href="#">“十三五”技术市场发展专项规划</a></li>
-								<li><a href="#">“十三五”技术标准科技创新规划</a></li>
-							</ul>
-						</div>
-						<div class="news_list">
-							<ul>
-								<li><a href="#">关于开展科技创新政策评估工作的通知</a><span>06/30</span></li>
-								<li><a href="#">关于征集科技服务机构入库的通知</a><span>06/30</span></li>
-								<li><a href="#">申报2030年国家技术创新示范企业</a><span>06/29</span></li>
-								<li><a href="#">关于振兴长沙工业实体经济的若干意见</a><span>06/29</span></li>
-								<li><a href="#">内蒙古自治区高新技术特色产业基地认定管理办法(征求意见稿)</a><span>06/29</span></li>
-								<li><a href="#">关于开展2017年企业专利信息利用能力建设试点工作的通知</a><span>06/29</span></li>
-							</ul>
-						</div>
-						<div class="news_btn">
-							<img
-								th:src="${portalHost + '/img/down_ioc.png'}" />
-							<a href="#">更多政策</a>
-						</div>
-					</div>
-				</div>
-			</div>
-		</div>
-	</div>
-
-	<footer>
-		<div th:replace="common::copyright"></div>
-	</footer>
-	<div th:replace="common::footer(~{::script})"><script type="text/javascript"
-		th:src="${portalHost + '/vendors.js'}"></script>
-	<script type="text/javascript"
-		th:src="${portalHost + '/news.js'}"></script></div>
-</body>
-</html>

+ 1 - 1
src/main/webapp/WEB-INF/views/portal/news/newsDetails.html

@@ -21,7 +21,7 @@
 					<div th:replace="common::sublogo"></div>
 				</div>
 				<div class="col-md-9">
-					<div th:replace="common::subMenu"></div>
+					<div th:replace="common::subMenu('news','')"></div>
 				</div>
 			</div>
 		</div>

Plik diff jest za duży
+ 25 - 73
src/main/webapp/WEB-INF/views/portal/news/newsIndex.html


+ 0 - 161
src/main/webapp/WEB-INF/views/portal/patent.html

@@ -1,161 +0,0 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml"
-	xmlns:th="http://www.thymeleaf.org"
-	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
-<head th:replace="common::header(~{::title},~{::link})">
-<title>专利咨询</title>
-<link th:href="${portalHost + '/vendors.css'}" rel="stylesheet">
-<link th:href="${portalHost + '/patent.css'}" rel="stylesheet">
-</head>
-<body>
-	<header>
-		<div th:replace="common::{topNav}">
-			<div class="container">
-				<div class="lt">欢迎进入科技认知计算交易平台!</div>
-	               <div class="rt">
-					<a href="/user/login.html" class="login">登录</a>
-	                   <a href="/user/signIn.html">注册</a>
-					<a href="#">导航</a>
-					<a href="#">关于我们</a>
-					<a href="#">联系我们</a>
-				</div>
-			</div>		
-		</div>
-	</header>
-	<div class="container header_nav">
-		<div class="row clearfix">
-			<div class="col-md-3 logo">
-				<div th:replace="common::sublogo"></div>
-			</div>
-			<div class="col-md-9">
-				<div th:replace="common::subMenu"></div>
-			</div>
-		</div>
-	</div>
-
-	<div class="item active">
-		<img th:src="${portalHost + '/img/patent_banner.jpg'}"
-			alt="First slide">
-	</div>
-	
-
-
-	<div class="container consulting">
-		<div class="title">
-			<h1>专利咨询</h1>
-			<p>PATENT ADVICE</p>
-			<span></span>
-		</div>
-		<div class="content">
-			<div class="content_nav">
-				<ul id="myTab">
-					<li class="active"><a href="#tab1" data-toggle="tab"> <span>专利技术分析</span>
-					</a> <img th:src="${portalHost + '/img/consulting_atv.png'}" /></li>
-					<li><a href="#tab2" data-toggle="tab"> <span>专利情报分析</span>
-					</a> <img th:src="${portalHost + '/img/consulting_atv.png'}" /></li>
-					<li><a href="#tab3" data-toggle="tab"> <span>专利挖掘</span>
-					</a> <img th:src="${portalHost + '/img/consulting_atv.png'}" /></li>
-					<li><a href="#tab4" data-toggle="tab"> <span>专利布局</span>
-					</a> <img th:src="${portalHost + '/img/consulting_atv.png'}" /></li>
-					<li><a href="#tab5" data-toggle="tab"> <span>专利预警分析</span>
-					</a> <img th:src="${portalHost + '/img/consulting_atv.png'}" /></li>
-
-				</ul>
-			</div>
-			<div id="myTabContent" class="content_list tab-content">
-				<div id="tab1" class="tab-pane in active">
-					<div class="content_info ">
-						<div class="zc_info_txt">
-							<h2>专利技术分析:</h2>
-							<p>调查与企业相关产品或技术相关的专利,特别是竞争对手的专利布局及研发动态。从而作为技术参考,跟踪竞争对手的研发方向。</p>
-						</div>
-					</div>
-				</div>
-				<div id="tab2" class="tab-pane">
-					<div class="content_info ">
-						<div class="zc_info_txt">
-							<h2>专利情报分析:</h2>
-							<p>专利情报分析是指对来自专利说明书、专利公报中大量的、个别的专利信息进行加工及组合,并利用统计方法或技术手段使这些信息具有纵览全局及预测的功能,并且通过分析将原始的专利信息从量变到质变,使它们由普通的信息上升为企业经营活动中有价值的情报。</p>
-						</div>
-					</div>
-				</div>
-				<div id="tab3" class="tab-pane">
-					<div class="content_info ">
-						<div class="zc_info_txt">
-							<h2>专利挖掘:</h2>
-							<p>专利挖掘就是从创新成果中提炼出具有专利申请和保护价值的技术创新点和方案。对技术创新成果进行全面、充分、有效的保护,全面梳理并掌握可能具有专利申请价值的各主要技术点及其外围的关联技术,避免出现专利保护的漏洞。</p>
-						</div>
-					</div>
-				</div>
-				<div id="tab4" class="tab-pane">
-					<div class="content_info ">
-						<div class="zc_info_txt">
-							<h2>专利布局:</h2>
-							<p>企业综合产业、市场和法律等因素,对专利进行有机结合,涵盖了企业利害相关的时间、地域、技术和产品等维度,构建严密高效的专利保护网,最终形成对企业有利格局的专利组合。</p>
-						</div>
-					</div>
-				</div>
-				<div id="tab5" class="tab-pane">
-					<div class="content_info ">
-						<div class="zc_info_txt">
-							<h2>专利预警分析:</h2>
-							<p>专利预警分析便于对技术发展趋势、申请人状况、专利保护地域等专利战略要素进行定性、定量分析,使企业对所在行业领域内的各种发展趋势、竞争态势有一个综合了解,更加全面、有效地利用专利制定战略。</p>
-						</div>
-					</div>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="case">
-		<div class="container">
-			<div class="title">
-				<h1>成功案例</h1>
-				<p>SUCCESS CASE</p>
-				<span></span>
-			</div>
-			<div class="case_content">
-				<ul>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_1.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_2.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_3.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_4.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_5.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_6.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_7.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_8.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_9.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_10.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_11.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_12.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_13.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_14.png'}"></a></li>
-					<li><a href="#"><img
-							th:src="${portalHost + '/img/case_15.png'}"></a></li>
-
-				</ul>
-			</div>
-		</div>
-	</div>
-	<footer>
-		<div th:replace="common::copyright"></div>
-	</footer>
-	<div th:replace="common::footer(~{::script})"><script type="text/javascript"
-		th:src="${portalHost + '/vendors.js'}"></script>
-	<script type="text/javascript"
-		th:src="${portalHost + '/patent.js'}"></script></div>
-</body>
-</html>

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

@@ -26,7 +26,7 @@
 					<div th:replace="common::sublogo"></div>
 				</div>
 				<div class="col-md-9">
-					<div th:replace="common::subMenu"></div>
+					<div th:replace="common::subMenu('bigShot', '')"></div>
 				</div>
 			</div>
 		</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/portal/scienceTechnology/lecture.html

@@ -30,7 +30,7 @@
 					<div th:replace="common::sublogo"></div>
 				</div>
 				<div class="col-md-9">
-					<div th:replace="common::subMenu"></div>
+					<div th:replace="common::subMenu('bigShot', 'lecture')"></div>
 				</div>
 			</div>
 		</div>

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

@@ -30,7 +30,7 @@
 					<div th:replace="common::sublogo"></div>
 				</div>
 				<div class="col-md-9">
-					<div th:replace="common::subMenu"></div>
+					<div th:replace="common::subMenu('bigShot', 'star')"></div>
 				</div>
 			</div>
 		</div>

Plik diff jest za duży
+ 3 - 6
src/main/webapp/WEB-INF/views/portal/service/serviceIndex.html


+ 1 - 1
src/main/webapp/WEB-INF/views/portal/technologyTrading/index.html

@@ -26,7 +26,7 @@
 					<div th:replace="common::sublogo"></div>
 				</div>
 				<div class="col-md-9">
-					<div th:replace="common::subMenu"></div>
+					<div th:replace="common::subMenu('tech', '')"></div>
 				</div>
 			</div>
 		</div>

Plik diff jest za duży
+ 4 - 4
src/main/webapp/WEB-INF/views/portal/websiteBuild/websiteBuildIndex.html