Browse Source

门户网

wangcl 6 years ago
commit
7994e5303e
100 changed files with 7302 additions and 0 deletions
  1. BIN
      .DS_Store
  2. 25 0
      .gitignore
  3. 0 0
      README.md
  4. 773 0
      enterprise.sql
  5. 279 0
      pom.xml
  6. 28 0
      src/main/java/com/enterprise/cache/CacheProvider.java
  7. 85 0
      src/main/java/com/enterprise/cache/EhcacheCacheProvider.java
  8. 164 0
      src/main/java/com/enterprise/cache/FrontCache.java
  9. 40 0
      src/main/java/com/enterprise/cache/SimpleCacheProvider.java
  10. 219 0
      src/main/java/com/enterprise/controller/BaseController.java
  11. 19 0
      src/main/java/com/enterprise/controller/front/AboutAction.java
  12. 145 0
      src/main/java/com/enterprise/controller/front/ArticleAction.java
  13. 82 0
      src/main/java/com/enterprise/controller/front/CommonAction.java
  14. 19 0
      src/main/java/com/enterprise/controller/front/ContactAction.java
  15. 20 0
      src/main/java/com/enterprise/controller/front/IndexAction.java
  16. 64 0
      src/main/java/com/enterprise/controller/front/MessagesAction.java
  17. 23 0
      src/main/java/com/enterprise/controller/front/RecruitmentAction.java
  18. 32 0
      src/main/java/com/enterprise/controller/front/ServiceAction.java
  19. 63 0
      src/main/java/com/enterprise/controller/manage/AboutAction.java
  20. 34 0
      src/main/java/com/enterprise/controller/manage/ArticleAction.java
  21. 103 0
      src/main/java/com/enterprise/controller/manage/ArticleCategoryAction.java
  22. 260 0
      src/main/java/com/enterprise/controller/manage/BackupAction.java
  23. 63 0
      src/main/java/com/enterprise/controller/manage/ContactAction.java
  24. 81 0
      src/main/java/com/enterprise/controller/manage/FriendLinksAction.java
  25. 122 0
      src/main/java/com/enterprise/controller/manage/IndexImgAction.java
  26. 160 0
      src/main/java/com/enterprise/controller/manage/MenuAction.java
  27. 36 0
      src/main/java/com/enterprise/controller/manage/MessagesAction.java
  28. 136 0
      src/main/java/com/enterprise/controller/manage/RecruitmentAction.java
  29. 66 0
      src/main/java/com/enterprise/controller/manage/ServiceAction.java
  30. 86 0
      src/main/java/com/enterprise/controller/manage/SystemSettingAction.java
  31. 48 0
      src/main/java/com/enterprise/controller/manage/SystemlogAction.java
  32. 579 0
      src/main/java/com/enterprise/controller/manage/UserAction.java
  33. 143 0
      src/main/java/com/enterprise/core/SystemManage.java
  34. 31 0
      src/main/java/com/enterprise/core/servlet/MultipartDispatcherServlet.java
  35. 10 0
      src/main/java/com/enterprise/dao/AboutDao.java
  36. 10 0
      src/main/java/com/enterprise/dao/ArticleCategoryDao.java
  37. 12 0
      src/main/java/com/enterprise/dao/ArticleDao.java
  38. 145 0
      src/main/java/com/enterprise/dao/BaseDao.java
  39. 10 0
      src/main/java/com/enterprise/dao/ContactDao.java
  40. 58 0
      src/main/java/com/enterprise/dao/DaoManage.java
  41. 10 0
      src/main/java/com/enterprise/dao/FriendLinksDao.java
  42. 10 0
      src/main/java/com/enterprise/dao/IndexImgDao.java
  43. 8 0
      src/main/java/com/enterprise/dao/MessageDao.java
  44. 8 0
      src/main/java/com/enterprise/dao/RecruitmentDao.java
  45. 93 0
      src/main/java/com/enterprise/dao/ServersManage.java
  46. 10 0
      src/main/java/com/enterprise/dao/ServiceDao.java
  47. 9 0
      src/main/java/com/enterprise/dao/SystemSettingDao.java
  48. 10 0
      src/main/java/com/enterprise/dao/SystemlogDao.java
  49. 63 0
      src/main/java/com/enterprise/dao/impl/AboutDaoImpl.java
  50. 63 0
      src/main/java/com/enterprise/dao/impl/ArticleCategoryDaoImpl.java
  51. 73 0
      src/main/java/com/enterprise/dao/impl/ArticleDaoImpl.java
  52. 63 0
      src/main/java/com/enterprise/dao/impl/ContactDaoImpl.java
  53. 65 0
      src/main/java/com/enterprise/dao/impl/FriendLinksDaoImpl.java
  54. 63 0
      src/main/java/com/enterprise/dao/impl/IndexImgDaoImpl.java
  55. 63 0
      src/main/java/com/enterprise/dao/impl/MessageDaoImpl.java
  56. 66 0
      src/main/java/com/enterprise/dao/impl/RecruitmentDaoImpl.java
  57. 63 0
      src/main/java/com/enterprise/dao/impl/ServiceDaoImpl.java
  58. 67 0
      src/main/java/com/enterprise/dao/impl/SystemSettingDaoImpl.java
  59. 68 0
      src/main/java/com/enterprise/dao/impl/SystemlogDaoImpl.java
  60. 28 0
      src/main/java/com/enterprise/entity/About.java
  61. 130 0
      src/main/java/com/enterprise/entity/Article.java
  62. 58 0
      src/main/java/com/enterprise/entity/ArticleCategory.java
  63. 80 0
      src/main/java/com/enterprise/entity/BackUp.java
  64. 28 0
      src/main/java/com/enterprise/entity/Contact.java
  65. 51 0
      src/main/java/com/enterprise/entity/FriendLinks.java
  66. 69 0
      src/main/java/com/enterprise/entity/IndexImg.java
  67. 90 0
      src/main/java/com/enterprise/entity/Menu.java
  68. 109 0
      src/main/java/com/enterprise/entity/MenuItem.java
  69. 12 0
      src/main/java/com/enterprise/entity/MenuType.java
  70. 112 0
      src/main/java/com/enterprise/entity/Messages.java
  71. 118 0
      src/main/java/com/enterprise/entity/Recruitment.java
  72. 57 0
      src/main/java/com/enterprise/entity/Service.java
  73. 339 0
      src/main/java/com/enterprise/entity/SystemSetting.java
  74. 103 0
      src/main/java/com/enterprise/entity/Systemlog.java
  75. 161 0
      src/main/java/com/enterprise/entity/User.java
  76. 6 0
      src/main/java/com/enterprise/entity/page/CleanBean.java
  77. 142 0
      src/main/java/com/enterprise/entity/page/PageModel.java
  78. 83 0
      src/main/java/com/enterprise/interceptor/LowerCaseSqlInterceptor.java
  79. 39 0
      src/main/java/com/enterprise/listener/SystemListener.java
  80. 9 0
      src/main/java/com/enterprise/service/AboutService.java
  81. 9 0
      src/main/java/com/enterprise/service/ArticleCategoryService.java
  82. 11 0
      src/main/java/com/enterprise/service/ArticleService.java
  83. 9 0
      src/main/java/com/enterprise/service/ContactService.java
  84. 9 0
      src/main/java/com/enterprise/service/FriendLinksService.java
  85. 9 0
      src/main/java/com/enterprise/service/IndexImgService.java
  86. 38 0
      src/main/java/com/enterprise/service/MenuService.java
  87. 7 0
      src/main/java/com/enterprise/service/MessageService.java
  88. 8 0
      src/main/java/com/enterprise/service/RecruitmentService.java
  89. 9 0
      src/main/java/com/enterprise/service/ServiceService.java
  90. 53 0
      src/main/java/com/enterprise/service/Services.java
  91. 9 0
      src/main/java/com/enterprise/service/SystemSettingService.java
  92. 13 0
      src/main/java/com/enterprise/service/SystemlogService.java
  93. 8 0
      src/main/java/com/enterprise/service/UserService.java
  94. 21 0
      src/main/java/com/enterprise/service/impl/AboutServiceImpl.java
  95. 21 0
      src/main/java/com/enterprise/service/impl/ArticleCategoryServiceImpl.java
  96. 32 0
      src/main/java/com/enterprise/service/impl/ArticleServiceImpl.java
  97. 21 0
      src/main/java/com/enterprise/service/impl/ContactServiceImpl.java
  98. 22 0
      src/main/java/com/enterprise/service/impl/FriendLinksServiceImpl.java
  99. 21 0
      src/main/java/com/enterprise/service/impl/IndexImgServiceImpl.java
  100. 0 0
      src/main/java/com/enterprise/service/impl/MenuServiceImpl.java

BIN
.DS_Store


+ 25 - 0
.gitignore

@@ -0,0 +1,25 @@
+/target/
+!.mvn/wrapper/maven-wrapper.jar
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/build/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/

+ 0 - 0
README.md


File diff suppressed because it is too large
+ 773 - 0
enterprise.sql


+ 279 - 0
pom.xml

@@ -0,0 +1,279 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>enterprise</groupId>
+    <artifactId>enterprise</artifactId>
+    <packaging>war</packaging>
+    <version>0.0.1-SNAPSHOT</version>
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>3.8.1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>commons-fileupload</groupId>
+            <artifactId>commons-fileupload</artifactId>
+            <version>1.3.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>net.sf.json-lib</groupId>
+            <artifactId>json-lib</artifactId>
+            <version>2.4</version>
+            <classifier>jdk15</classifier>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+            <version>2.5</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>jstl</groupId>
+            <artifactId>jstl</artifactId>
+            <version>1.2</version>
+        </dependency>
+        <dependency>
+            <groupId>taglibs</groupId>
+            <artifactId>standard</artifactId>
+            <version>1.1.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.mybatis</groupId>
+            <artifactId>mybatis</artifactId>
+            <version>3.0.6</version>
+        </dependency>
+        <dependency>
+            <groupId>org.mybatis</groupId>
+            <artifactId>mybatis-spring</artifactId>
+            <version>1.0.0-RC3</version>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>5.0.8</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.5</version>
+        </dependency>
+        <dependency>
+            <groupId>net.sf.ehcache</groupId>
+            <artifactId>ehcache</artifactId>
+            <version>2.10.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+            <version>18.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-aop</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-aspects</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-expression</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-jdbc</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-jms</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context-support</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-orm</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-oxm</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-tx</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-web</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <version>1.1.3</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.5</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.data</groupId>
+            <artifactId>spring-data-redis</artifactId>
+            <version>1.4.2.RELEASE</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.mchange</groupId>
+            <artifactId>c3p0</artifactId>
+            <version>0.9.5</version>
+        </dependency>
+        <dependency>
+            <groupId>com.mchange</groupId>
+            <artifactId>mchange-commons-java</artifactId>
+            <version>0.2.15</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-web</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-webmvc-portlet</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-webmvc</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-instrument</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-instrument-tomcat</artifactId>
+            <version>3.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.jackson</groupId>
+            <artifactId>jackson-mapper-asl</artifactId>
+            <version>1.9.13</version>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.jackson</groupId>
+            <artifactId>jackson-core-asl</artifactId>
+            <version>1.9.13</version>
+        </dependency>
+        <dependency>
+            <groupId>jsptags</groupId>
+            <artifactId>pager-taglib</artifactId>
+            <version>2.0</version>
+        </dependency>
+       <!-- <dependency>
+            <groupId>org.aopalliance</groupId>
+            <artifactId>com.springsource.org.aopalliance</artifactId>
+            <version>1.0.0</version>
+        </dependency>-->
+        <dependency>
+            <groupId>org.aspectj</groupId>
+            <artifactId>aspectjweaver</artifactId>
+            <version>1.8.4</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>1.7.22</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <version>1.7.22</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <version>1.7.22</version>
+        </dependency>
+
+
+    </dependencies>
+    <build>
+        <finalName>enterprise</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.5.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.tomcat.maven</groupId>
+                <artifactId>tomcat7-maven-plugin</artifactId>
+                <version>2.1</version>
+                <configuration>
+                    <port>8080</port>
+                    <path>/enterprise</path>
+                    <uriEncoding>UTF-8</uriEncoding>
+                    <finalName>enterprise</finalName>
+                    <server>tomcat7</server>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <version>2.1.1</version>
+            </plugin>
+
+        </plugins>
+    </build>
+</project>

+ 28 - 0
src/main/java/com/enterprise/cache/CacheProvider.java

@@ -0,0 +1,28 @@
+package com.enterprise.cache;
+
+import java.io.Serializable;
+
+public interface CacheProvider {
+	/**
+	 * 放入cache
+	 * @param key
+	 * @param cacheObject
+	 */
+	public void put(String key,Serializable cacheObject);
+	/**
+	 * 获取cache中的内容
+	 * @param key
+	 * @return
+	 */
+	public Serializable get(String key);
+	/**
+	 * 清除cache中对应内容
+	 * @param key
+	 */
+	public void remove(String key);
+	/**
+	 * 清除所有的cache
+	 */
+	public void clear();
+
+}

+ 85 - 0
src/main/java/com/enterprise/cache/EhcacheCacheProvider.java

@@ -0,0 +1,85 @@
+package com.enterprise.cache;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Serializable;
+
+import javax.annotation.PostConstruct;
+
+import org.springframework.core.io.Resource;
+
+import net.sf.ehcache.Cache;
+import net.sf.ehcache.CacheException;
+import net.sf.ehcache.CacheManager;
+import net.sf.ehcache.Element;
+import net.sf.ehcache.config.Configuration;
+import net.sf.ehcache.config.ConfigurationFactory;
+
+public class EhcacheCacheProvider implements CacheProvider {
+
+    private CacheManager cacheManager;
+    private String cacheName;
+    private Cache cache;
+
+    private Resource configLocation;
+
+    @Override
+    public void put(String key, Serializable cacheObject) {
+        cache.put(new Element(key, cacheObject));
+    }
+
+    @Override
+    public Serializable get(String key) {
+        Element element = cache.get(key);
+        return element != null ? element.getValue() : null;
+    }
+
+    @Override
+    public void remove(String key) {
+        cache.remove(key);
+    }
+
+    @Override
+    public void clear() {
+        cache.removeAll();
+    }
+
+    public String getCacheName() {
+        return cacheName;
+    }
+
+    public void setCacheName(String cacheName) {
+        this.cacheName = cacheName;
+    }
+
+
+    public Resource getConfigLocation() {
+        return configLocation;
+    }
+
+    public void setConfigLocation(Resource configLocation) {
+        this.configLocation = configLocation;
+    }
+
+    @PostConstruct
+    public void postCacheManager() throws IOException, CacheException {
+        InputStream is = (this.configLocation != null ? this.configLocation.getInputStream() : null);
+        try {
+            Configuration configuration = (is != null ? ConfigurationFactory.parseConfiguration(is)
+                    : ConfigurationFactory.parseConfiguration());
+            this.cacheManager = cacheManager != null ? cacheManager : new CacheManager(configuration);
+        } finally {
+            if (is != null) {
+                is.close();
+            }
+        }
+        if (cacheManager == null) {
+            throw new CacheException("cache manage初始化失败");
+        }
+        cache = cacheManager.getCache(cacheName);
+        if (cache == null) {
+            throw new CacheException("cache manager初始化失败");
+        }
+    }
+
+}

+ 164 - 0
src/main/java/com/enterprise/cache/FrontCache.java

@@ -0,0 +1,164 @@
+package com.enterprise.cache;
+
+import com.enterprise.entity.*;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.enterprise.core.SystemManage;
+import org.springframework.web.context.ServletContextAware;
+
+import javax.servlet.ServletContext;
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class FrontCache implements ServletContextAware {
+	private static SystemManage systemManage;
+	@Autowired
+	private SystemSettingService systemSettingService;
+	@Autowired
+	private RecruitmentService recruitmentService;
+	@Autowired
+	private FriendLinksService friendLinksService;
+	@Autowired
+	private IndexImgService indexImgService;
+    @Autowired
+    private MessageService messageService;
+	@Autowired
+	private ArticleCategoryService articleCategoryService;
+	@Autowired
+	private ContactService contactService;
+	@Autowired
+	private AboutService aboutService;
+	@Autowired
+	private ServiceService serviceService;
+
+	@Autowired
+    public void setSystemManage(SystemManage systemManage) {
+        FrontCache.systemManage = systemManage;
+    }
+
+	private ServletContext servletContext;
+	@Override
+	public void setServletContext(ServletContext servletContext) {
+		this.servletContext = servletContext;
+	}
+
+	/**
+	 * 载入全部缓存
+	 * @throws Exception
+	 */
+	public void loadAllCache() throws Exception{
+		loadFriendLinks();
+		loadSystemSetting();
+		loadRecruitments();
+		loadIndexImg();
+        loadMessage();
+		loadArticleCategroy();
+		loadContact();
+		loadAbout();
+		loadService();
+	}
+	/**
+	 * 加载系统设置缓存
+	 * @throws Exception
+     */
+	public void loadSystemSetting() throws  Exception{
+		SystemSetting systemSetting = systemSettingService.selectOne(new SystemSetting());
+		if (systemSetting == null) {
+			throw new NullPointerException("未设置系统变量,请管理员在后台进行设置");
+		}
+		systemSetting.setServerInfo(servletContext.getServerInfo());
+		systemSetting.setServerVersion(servletContext.getMajorVersion()+"."+servletContext.getMinorVersion());
+		systemSetting.setJavaVersion(System.getProperty("java.version"));
+		systemSetting.setJavaHome(System.getProperty("java.home"));
+		systemSetting.setOsName(System.getProperty("os.name"));
+		systemSetting.setOsVersion(System.getProperty("os.version"));
+		systemSetting.setMysqlVersion(systemSettingService.selectVersion());
+		systemManage.setSystemSetting(systemSetting);
+	}
+	/**
+	 * 加载友情链接缓存
+	 * @throws Exception
+	 */
+	public void loadFriendLinks() throws Exception{
+		List<FriendLinks> friendLinksList = friendLinksService.selectList(new FriendLinks());
+		systemManage.setFriendLinks(friendLinksList);
+	}
+
+	/**
+	 * 加载招聘信息缓存
+	 * @throws Exception
+     */
+	public void loadRecruitments() throws Exception{
+		Recruitment e = new Recruitment();
+		e.setStatus("y");
+		List<Recruitment> recruitmentList = recruitmentService.selectList(e);
+		systemManage.setRecruitments(recruitmentList);
+	}
+
+	/**
+	 * 加载门户图片缓存
+	 * @throws Exception
+     */
+	public void loadIndexImg() throws Exception{
+		IndexImg indexImg = new IndexImg();
+		indexImg.setStatus("y");
+		List<IndexImg> indexImgs = indexImgService.selectList(indexImg);
+		systemManage.setIndexImgs(indexImgs);
+	}
+
+    /**
+     * 加载最近的五条留言
+     * @throws Exception
+     */
+    public void loadMessage() throws Exception{
+        Messages messages = new Messages();
+        messages.setOffset(0);
+        messages.setPageSize(5);
+        PageModel page = messageService.selectPageList(messages);
+        systemManage.setMessages(page.getList());
+    }
+
+	/**
+	 * 加载文章分类
+	 * @throws Exception
+     */
+	public void loadArticleCategroy() throws Exception{
+		List<ArticleCategory> articleCategoryLIst = new ArrayList<ArticleCategory>();
+		articleCategoryLIst = articleCategoryService.selectList(new ArticleCategory());
+		systemManage.setArticleCategory(articleCategoryLIst);
+	}
+
+	/**
+	 * 加载联系我们
+	 * @throws Exception
+     */
+	public void loadContact() throws Exception{
+		List<Contact> contacts = new ArrayList<Contact>();
+		contacts = contactService.selectList(new Contact());
+		systemManage.setContact(contacts);
+	}
+	/**
+	 * 加载关于我们
+	 * @throws Exception
+     */
+	public void loadAbout() throws Exception{
+		List<About> abouts = new ArrayList<About>();
+		abouts = aboutService.selectList(new About());
+		systemManage.setAbout(abouts);
+	}
+
+	/**
+	 * 加载服务领域
+	 * @throws Exception
+     */
+	public void loadService() throws Exception{
+		List<Service> services = new ArrayList<Service>();
+		services = serviceService.selectList(new Service());
+		systemManage.setService(services);
+	}
+
+
+}

+ 40 - 0
src/main/java/com/enterprise/cache/SimpleCacheProvider.java

@@ -0,0 +1,40 @@
+package com.enterprise.cache;
+
+import java.io.Serializable;
+import java.util.Map;
+
+import com.google.common.collect.Maps;
+
+public class SimpleCacheProvider implements CacheProvider{
+
+	public SimpleCacheProvider(){
+		
+	}
+	private static SimpleCacheProvider instance = new SimpleCacheProvider();
+	private static Map<String,Serializable> cacheContainer = Maps.newHashMap();
+
+	public static SimpleCacheProvider getInstance() {
+		return instance;
+	}
+
+	@Override
+	public void put(String key, Serializable cacheObject) {
+		cacheContainer.put(key, cacheObject);
+	}
+
+	@Override
+	public Serializable get(String key) {
+		return cacheContainer.get(key);
+	}
+
+	@Override
+	public void remove(String key) {
+		cacheContainer.remove(key);
+	}
+
+	@Override
+	public void clear() {
+		cacheContainer.clear();
+	}
+
+}

+ 219 - 0
src/main/java/com/enterprise/controller/BaseController.java

@@ -0,0 +1,219 @@
+package com.enterprise.controller;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import com.enterprise.service.Services;
+import com.enterprise.core.SystemManage;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.util.RequestHolder;
+/**
+ * 抽象控制类
+ * @author Cesiumai
+ *
+ * @param <E>
+ */
+public abstract class BaseController<E extends PageModel> {
+
+	protected String page_toList = null;
+	protected String page_toEdit = null;
+	protected String page_toAdd = null;
+	
+	public abstract Services<E> getService();
+	
+	@Autowired
+	protected SystemManage systemManage;
+	/**
+	 * 后台左边导航菜单的初始化查询方法
+	 */
+	protected void initPageSelect(){
+		
+	}
+	
+	protected void setParamWhenInitQuery(E e){
+		
+	}
+
+	/**
+	 * 查询列表
+	 * @param request
+	 * @param e
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("selectList")
+	public String selectList(HttpServletRequest request,@ModelAttribute("e") E e) throws Exception{
+		this.initPageSelect();
+		setParamWhenInitQuery(e);
+		int offset = 0;
+		if(request.getParameter("pager.offset")!=null){
+			offset = Integer.parseInt(request.getParameter("pager.offset"));
+		}
+		if(offset < 0){
+			offset=0;
+		}
+		e.setOffset(offset);
+		PageModel page = getService().selectPageList(e);
+		if(page == null){
+			page = new PageModel();
+		}
+		page.setPagerSize((page.getTotal() + page.getPageSize() - 1)
+	                / page.getPageSize());
+		selectListAfter(page);
+		request.setAttribute("pager", page);
+		return page_toList;
+	}
+	/**
+	 * 分页查询设置pagerurl
+	 * @param page
+	 */
+	protected void selectListAfter(PageModel page){
+		page.setPagerUrl("selectList");
+	}
+	/**
+	 * 转到编辑页面	
+	 * @param e
+	 * @param model
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("toEdit")
+	public String toEdit(@ModelAttribute("e") E e , ModelMap model) throws Exception{
+		e = getService().selectOne(e);
+		model.addAttribute("e", e);
+		return page_toEdit;
+	}
+	/**
+	 * 转到添加页面
+	 * @param e
+	 * @param model
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("toAdd")
+	public String toAdd(@ModelAttribute("e") E e,ModelMap model) throws Exception{
+		e.clean();
+		return page_toAdd;
+	}
+	/**
+	 * 回到查询页面
+	 * @param e
+	 * @param model
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("back")
+	public String back(@ModelAttribute("e") E e,ModelMap model) throws Exception{
+		return selectList(RequestHolder.getRequest(), e);
+	}
+	/**
+	 * 批量删除
+	 * @param request
+	 * @param ids
+	 * @param e
+	 * @param flushAttrs
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping(value="deletes",method = RequestMethod.POST)
+	public String deletes(HttpServletRequest request,String[] ids,@ModelAttribute("e") E e,RedirectAttributes flushAttrs) throws Exception{
+		getService().deletes(ids);
+		addMessage(flushAttrs,"操作成功!");
+		return "redirect:selectList";
+	}
+	/**
+	 *  insert之后,selectList之前执行的动作,一般需要清除添加的E,否则查询会按照E的条件进行查询.
+     * 	部分情况下需要保留某些字段,可以选择不清除
+	 * @param e
+	 */
+	protected void insertAfter(E e){
+		
+	}
+	/**
+	 * 插入数据
+	 * @param request
+	 * @param e
+	 * @param flushAttrs
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping(value="insert",method=RequestMethod.POST)
+	public String insert(HttpServletRequest request , @ModelAttribute("e") E e,RedirectAttributes flushAttrs) throws Exception{
+		getService().insert(e);
+		insertAfter(e);
+		addMessage(flushAttrs,"操作成功!");
+		return "redirect:selectList";
+	}
+	/**
+	 * 更新数据
+	 * @param request
+	 * @param e
+	 * @param flushAttrs
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping(value = "update", method = RequestMethod.POST)
+    public String update(HttpServletRequest request, @ModelAttribute("e") E e, RedirectAttributes flushAttrs) throws Exception {
+
+        getService().update(e);
+        insertAfter(e);
+        addMessage(flushAttrs, "操作成功!");
+        return "redirect:selectList";
+    }
+	/**
+	 * datatable异步请求数据
+	 * @param request
+	 * @param e
+	 * @return
+	 */
+	@RequestMapping("loadData")
+	@ResponseBody
+	public PageModel loadData(HttpServletRequest request, E e){
+		int offset = 0;
+		int pageSize = 10;
+		if(request.getParameter("start")!=null){
+			offset = Integer.parseInt(request.getParameter("start"));
+		}
+		if(request.getParameter("length")!=null){
+			pageSize = Integer.parseInt(request.getParameter("length"));
+		}
+		if(offset<0){
+			offset=0;
+		}
+		if(pageSize<0){
+			pageSize=10;
+		}
+		e.setOffset(offset);
+		e.setPagerSize(pageSize);
+		PageModel page = getService().selectPageList(e);
+		page.setRecordsTotal(page.getTotal());
+		page.setRecordsFiltered(page.getTotal());
+		return page;
+	}
+	
+	protected void addMessage(ModelMap modelMap ,String message){
+		modelMap.addAttribute("message", message);
+	}
+	protected void addWarning(ModelMap modelMap ,String message){
+		modelMap.addAttribute("warning", message);
+	}
+	protected void addEroor(ModelMap modelMap ,String message){
+		modelMap.addAttribute("errorMsg", message);
+	}
+	protected void addMessage(RedirectAttributes flushAttrs,String message){
+		flushAttrs.addFlashAttribute("message", message);
+	}
+	protected void addWarning(RedirectAttributes flushAttrs,String message){
+		flushAttrs.addFlashAttribute("warning", message);
+	}
+	protected void addError(RedirectAttributes flushAttrs,String message){
+		flushAttrs.addFlashAttribute("errorMsg", message);
+	}
+}

+ 19 - 0
src/main/java/com/enterprise/controller/front/AboutAction.java

@@ -0,0 +1,19 @@
+package com.enterprise.controller.front;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * 关于我们
+ * Created by Cesiumai on 2016/7/8.
+ */
+@Controller("aboutActionController")
+@RequestMapping("/")
+public class AboutAction {
+
+    @RequestMapping("about")
+    public String contact() {
+        return "/front/about/about";
+    }
+
+}

+ 145 - 0
src/main/java/com/enterprise/controller/front/ArticleAction.java

@@ -0,0 +1,145 @@
+package com.enterprise.controller.front;
+
+import com.enterprise.service.Services;
+import com.enterprise.core.SystemManage;
+import com.enterprise.entity.Article;
+import com.enterprise.entity.ArticleCategory;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.service.ArticleService;
+import com.enterprise.controller.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 文章Action
+ * Created by Cesiumai on 2016/6/14.
+ */
+@Controller("frontArticleController")
+@RequestMapping("/")
+public class ArticleAction extends BaseController<Article>{
+    private static final String page_toList = "/front/article/articleList";
+    private static final String page_toEdit = "/front/article/articleInfo";
+
+    @Autowired
+    private ArticleService articleService;
+    @Override
+    public Services<Article> getService() {
+        return articleService;
+    }
+    public ArticleAction(){
+        super.page_toList = page_toList;
+        super.page_toEdit = page_toEdit;
+    }
+
+    /**
+     * 跳转到文章列表
+     * @param request
+     * @param article
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("article")
+    public String article(HttpServletRequest request, @ModelAttribute("e") Article article) throws Exception {
+
+        this.initPageSelect();
+        setParamWhenInitQuery(article);
+        int offset = 0;
+        if(request.getParameter("pager.offset")!=null){
+            offset = Integer.parseInt(request.getParameter("pager.offset"));
+        }
+        if(offset < 0){
+            offset=0;
+        }
+        article.setOffset(offset);
+
+        PageModel page = getService().selectPageList(article);
+        if(page == null){
+            page = new PageModel();
+        }
+        page.setPageSize(10);    //设置单页数据为10
+        page.setPagerSize((page.getTotal() + page.getPageSize() - 1)
+                / page.getPageSize());
+        selectListAfter(page);
+        page.setPagerUrl("article");
+        request.setAttribute("pager", page);
+        return page_toList;
+    }
+
+
+    /**
+     * 文章详情
+     * @param code
+     * @param model
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("article/{code}")
+    public String selectOne(HttpServletRequest request,@ModelAttribute("code")@PathVariable("code") String code,@ModelAttribute("e") Article article, ModelMap model) throws Exception {
+        if(isInteger(code)) {   //如果是数字   则为id   按id进行文章查询
+            Article e = articleService.selectById(Integer.parseInt(code));
+            e.setHit(String.valueOf(Integer.parseInt(e.getHit())+1));
+            articleService.update(e);       //更新浏览量     --优化建议:可使用缓存或者redis暂存  然后再刷入数据库
+            Article next = articleService.selectNext(Integer.parseInt(code));
+            if(next==null){
+                next = new Article();
+            }
+            Article previous = articleService.selectPrevious(Integer.parseInt(code));
+            if(previous==null){
+                previous = new Article();
+            }
+            model.addAttribute("e", e);
+            model.addAttribute("next", next);
+            model.addAttribute("previous", previous);
+            return page_toEdit;
+        }else{//不是数字,则为分类编码
+            for(ArticleCategory item: SystemManage.getInstance().getArticleCategory()){ //遍历分类缓存
+                if(code.equals(item.getCode())){        //当编码相等时
+                    article.setCategoryId(String.valueOf(item.getId()));    //把相等编码里的分类id值赋予文章中catagroyId中
+                    break;  //跳出循环
+                }
+            }
+            setParamWhenInitQuery(article);
+            int offset = 0;
+            if(request.getParameter("pager.offset")!=null){
+                offset = Integer.parseInt(request.getParameter("pager.offset"));
+            }
+            if(offset < 0){
+                offset=0;
+            }
+            article.setOffset(offset);
+            PageModel page = getService().selectPageList(article);
+            if(page == null){
+                page = new PageModel();
+            }
+            page.setPageSize(10);    //设置单页数据为10
+            page.setPagerSize((page.getTotal() + page.getPageSize() - 1)
+                    / page.getPageSize());
+            selectListAfter(page);
+            page.setPagerUrl(code);
+            request.setAttribute("pager", page);
+            request.setAttribute("code", code);
+            return page_toList;
+        }
+
+    }
+
+    /**
+     *判断是不是数字
+     * @param code
+     * @return
+     */
+    public static boolean isInteger(String code){
+        try {
+            Integer.parseInt(code);
+            return true;
+        }catch (NumberFormatException e){
+            return false;
+        }
+    }
+}

+ 82 - 0
src/main/java/com/enterprise/controller/front/CommonAction.java

@@ -0,0 +1,82 @@
+package com.enterprise.controller.front;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import javax.imageio.ImageIO;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.util.Random;
+
+/**
+ * 公共控制器
+ */
+@Controller("commonAction")
+public class CommonAction {
+    private static int imageWidth = 100;
+    private static int imageHeight = 36;
+    private static int codeNumber = 4;
+    private static int backGround = 30;
+
+    @RequestMapping("getVerificationCode")
+    public void getVerificationCode(HttpServletRequest request,HttpServletResponse response) throws IOException {
+        response.setHeader("Pragma", "no-cache");
+        response.setHeader("Cache-Control", "no-cache");
+        response.setDateHeader("Expires", 0);
+        response.setContentType("image/jpeg");
+        BufferedImage bufferedImage = new BufferedImage(imageWidth,
+                imageHeight, BufferedImage.TYPE_INT_BGR);
+        Graphics2D g = bufferedImage.createGraphics();
+        g.setColor(Color.WHITE);
+        g.fillRect(0, 0, imageWidth - 1, imageHeight -1 );
+        Random random = new Random();
+        for (int i = 0; i < backGround; i++) {
+            int red = random.nextInt(256);
+            int green = random.nextInt(256);
+            int blue = random.nextInt(256);
+            g.setColor(new Color(red, green, blue));
+            int start_X = random.nextInt(imageWidth);
+            int start_Y = random.nextInt(imageHeight);
+            if (random.nextInt(5) % 3 == 0) {
+                int r = random.nextInt(10);
+                int startAngle = random.nextInt(360);
+                int arcAngle = random.nextInt(360);
+                g.drawArc(start_X, start_Y, r, r, startAngle, arcAngle);
+            } else {
+                int change_X = random.nextInt() % 6;
+                int change_Y = random.nextInt() % 6;
+                g.drawLine(start_X, start_Y, start_X + change_X, start_Y
+                        + change_Y);
+            }
+        }
+        StringBuilder ValidateCode = new StringBuilder();
+        g.setFont(new Font("Tahoma", Font.BOLD, imageHeight - 3));
+        for (int i = 0; i < codeNumber; i++) {
+            int red = random.nextInt(100) + 50;
+            int green = random.nextInt(100) + 50;
+            int blue = random.nextInt(100) + 50;
+            g.setColor(new Color(red, green, blue));
+            String code = null;
+            int type = random.nextInt(3);
+            if (type == 1) {
+                code = String.valueOf((char) (random.nextInt(26) + 65));
+            } else if (type == 2) {
+                code = String.valueOf((char) (random.nextInt(26) + 97));
+            } else {
+                code = String.valueOf(random.nextInt(10));
+            }
+            ValidateCode.append(code);
+            g.drawString(code, imageWidth / codeNumber * i , 27);
+        }
+        request.getSession().setAttribute("validateCode",
+                ValidateCode.toString());
+        ServletOutputStream sos = response.getOutputStream();
+        ImageIO.write(bufferedImage, "jpeg", sos);
+        sos.close();
+    }
+
+}

+ 19 - 0
src/main/java/com/enterprise/controller/front/ContactAction.java

@@ -0,0 +1,19 @@
+package com.enterprise.controller.front;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * 联系我们
+ * Created by Cesiumai on 2016/7/8.
+ */
+@Controller("contactActionController")
+@RequestMapping("/")
+public class ContactAction{
+
+    @RequestMapping("contact")
+    public String contact() {
+        return "/front/contact/contact";
+    }
+
+}

+ 20 - 0
src/main/java/com/enterprise/controller/front/IndexAction.java

@@ -0,0 +1,20 @@
+package com.enterprise.controller.front;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * 主页
+ * Created by Cesiumai on 2016/6/15.
+ */
+@Controller
+@RequestMapping("/")
+public class IndexAction {
+    @RequestMapping({"/", "/index"})
+    public String index() {
+        return "/front/index";
+    }
+
+
+}
+

+ 64 - 0
src/main/java/com/enterprise/controller/front/MessagesAction.java

@@ -0,0 +1,64 @@
+package com.enterprise.controller.front;
+
+
+import com.enterprise.cache.FrontCache;
+import com.enterprise.entity.Messages;
+import com.enterprise.util.RequestHolder;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import com.enterprise.service.MessageService;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * 前台留言
+ *
+ * @author Cesiumai
+ */
+@Controller("frontMessageController")
+@RequestMapping("/")
+public class MessagesAction {
+
+    @Autowired
+    private MessageService messageService;
+    @Autowired
+    private FrontCache frontCache;
+
+
+    @RequestMapping("message")
+    public String message() {
+        return "/front/message/message";
+    }
+
+    /**
+     * 前台留言
+     *
+     * @param e
+     * @param model
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("message/leaveMessage")
+    @ResponseBody
+    public String leaveMessage(Messages e, ModelMap model) throws Exception {
+        messageService.insert(e);
+        frontCache.loadMessage();
+        return "ok";
+    }
+    @RequestMapping("checkVcode")
+    @ResponseBody
+    public String checkVcode(@ModelAttribute("e") Messages e, HttpServletResponse response) throws IOException {
+        String vcode = RequestHolder.getSession().getAttribute("validateCode").toString();
+        if(StringUtils.isNotBlank(vcode)&&!(vcode.toLowerCase()).equals(e.getVcode().toLowerCase())){
+            return "{\"error\":\"验证码不正确!\"}";
+        }
+        return null;
+    }
+}

+ 23 - 0
src/main/java/com/enterprise/controller/front/RecruitmentAction.java

@@ -0,0 +1,23 @@
+package com.enterprise.controller.front;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+
+/**
+ * 招聘
+ * Created by Cesiumai on 2016/6/17.
+ */
+@Controller("recruitmentActionController")
+@RequestMapping("/")
+public class RecruitmentAction {
+    /**
+     * 跳转到“招聘”页面
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("recruitment")
+    public String recruitment() throws Exception {
+        return "/front/recruitment/recruitmentList";
+    }
+}

+ 32 - 0
src/main/java/com/enterprise/controller/front/ServiceAction.java

@@ -0,0 +1,32 @@
+package com.enterprise.controller.front;
+
+import com.enterprise.entity.Service;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 服务领域
+ * Created by Cesiumai on 2016/7/26.
+ */
+@Controller("serviceActionController")
+@RequestMapping("/")
+public class ServiceAction {
+    /**
+     * 跳转到“服务领域”
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("service")
+    public String service() throws Exception {
+        return "/front/service/serviceList";
+    }
+    @RequestMapping("service/{id}")
+    public String selectOne(HttpServletRequest request, @ModelAttribute("id")@PathVariable("id") String id, @ModelAttribute("e") Service service) throws Exception {
+        request.setAttribute("id", id);
+        return "/front/service/serviceList";
+    }
+}

+ 63 - 0
src/main/java/com/enterprise/controller/manage/AboutAction.java

@@ -0,0 +1,63 @@
+package com.enterprise.controller.manage;
+
+import com.enterprise.cache.FrontCache;
+import com.enterprise.service.Services;
+import com.enterprise.entity.About;
+import com.enterprise.service.AboutService;
+import com.enterprise.controller.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 关于我们  管理
+ * Created by Cesiumai on 2016/7/8.
+ */
+@Controller
+@RequestMapping("/manage/about")
+public class AboutAction extends BaseController<About>{
+    private static final String page_toEdit="/manage/about/aboutEdit";
+    private static final String page_toList="/manage/about/aboutEdit";
+    @Autowired
+    private AboutService aboutService;
+    @Autowired
+    private FrontCache frontCache;
+    @Override
+    public Services<About> getService() {
+        return aboutService;
+    }
+
+    public AboutAction() {
+        super.page_toEdit=page_toEdit;
+        super.page_toList=page_toList;
+    }
+
+
+    @Override
+    public String selectList(HttpServletRequest request, About about) throws Exception {
+        about = aboutService.selectOne(new About());
+        request.setAttribute("e", about);
+        return page_toList;
+    }
+    @Override
+    public String update(HttpServletRequest request, @ModelAttribute("e") About e, RedirectAttributes flushAttrs) throws Exception {
+        getService().update(e);
+        insertAfter(e);
+        addMessage(flushAttrs, "操作成功!");
+        frontCache.loadAbout();
+        return "redirect:selectList";
+    }
+
+    @Override
+    public String insert(HttpServletRequest request, @ModelAttribute("e") About e, RedirectAttributes flushAttrs) throws Exception {
+        getService().insert(e);
+        insertAfter(e);
+        addMessage(flushAttrs,"操作成功!");
+        frontCache.loadAbout();
+        return "redirect:selectList";
+    }
+}

+ 34 - 0
src/main/java/com/enterprise/controller/manage/ArticleAction.java

@@ -0,0 +1,34 @@
+package com.enterprise.controller.manage;
+
+import com.enterprise.service.Services;
+import com.enterprise.entity.Article;
+import com.enterprise.service.ArticleService;
+import com.enterprise.controller.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * 文章管理Action
+ * Created by Cesiumai on 2016/6/14.
+ */
+@Controller
+@RequestMapping("/manage/article/")
+public class ArticleAction extends BaseController<Article>{
+    private static final String page_toList = "/manage/article/articleList";
+    private static final String page_toEdit = "/manage/article/articleEdit";
+    private static final String page_toAdd = "/manage/article/articleEdit";
+    @Autowired
+    private ArticleService articleService;
+    @Override
+    public Services<Article> getService() {
+        return articleService;
+    }
+    private ArticleAction(){
+        super.page_toList = page_toList;
+        super.page_toEdit = page_toEdit;
+        super.page_toAdd = page_toAdd;
+    }
+
+
+}

+ 103 - 0
src/main/java/com/enterprise/controller/manage/ArticleCategoryAction.java

@@ -0,0 +1,103 @@
+package com.enterprise.controller.manage;
+
+import com.enterprise.cache.FrontCache;
+import com.enterprise.service.Services;
+import com.enterprise.entity.ArticleCategory;
+import com.enterprise.service.ArticleCategoryService;
+import com.enterprise.controller.BaseController;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * 文章分类Action
+ * Created by Cesiumai on 2016/6/14.
+ */
+@Controller
+@RequestMapping("/manage/articleCategory/")
+public class ArticleCategoryAction extends BaseController<ArticleCategory>{
+    private static final String page_toList = "/manage/articleCategory/articleCategoryList";
+    private static final String page_toEdit = "/manage/articleCategory/articleCategoryEdit";
+    private static final String page_toAdd = "/manage/articleCategory/articleCategoryEdit";
+    @Autowired
+    private ArticleCategoryService articleCategoryService;
+    @Autowired
+    private FrontCache frontCache;
+    @Override
+    public Services<ArticleCategory> getService() {
+        return articleCategoryService;
+    }
+    public ArticleCategoryAction(){
+        super.page_toList = page_toList;
+        super.page_toEdit = page_toEdit;
+        super.page_toAdd = page_toAdd;
+    }
+
+    @Override
+    public String insert(HttpServletRequest request, @ModelAttribute("e") ArticleCategory articleCategory, RedirectAttributes flushAttrs) throws Exception {
+        articleCategoryService.insert(articleCategory);
+        insertAfter(articleCategory);
+        addMessage(flushAttrs,"操作成功!");
+        frontCache.loadArticleCategroy();//加载缓存
+        return "redirect:selectList";
+    }
+
+    @Override
+    public String update(HttpServletRequest request, @ModelAttribute("e") ArticleCategory articleCategory, RedirectAttributes flushAttrs) throws Exception {
+        articleCategoryService.update(articleCategory);
+        insertAfter(articleCategory);
+        addMessage(flushAttrs, "操作成功!");
+        frontCache.loadArticleCategroy();//加载缓存
+        return "redirect:selectList";
+    }
+    @RequestMapping("delete")
+    public String delete(HttpServletRequest request, @ModelAttribute("e") ArticleCategory articleCategory, RedirectAttributes flushAttrs) throws Exception{
+        articleCategoryService.delete(articleCategory);
+        insertAfter(articleCategory);
+        addMessage(flushAttrs, "操作成功!");
+        frontCache.loadArticleCategroy();//加载缓存
+        return "redirect:selectList";
+    }
+    @RequestMapping("unique")
+    @ResponseBody
+    public String unique(@ModelAttribute("e") ArticleCategory e,HttpServletResponse response) throws IOException {
+        response.setCharacterEncoding("utf-8");//设置响应编码为utf-8
+        if(StringUtils.isNotBlank(e.getCatename())){
+            ArticleCategory articleCategory = new ArticleCategory();
+            articleCategory.setCatename(e.getCatename());
+            articleCategory = articleCategoryService.selectOne(articleCategory);
+
+            if(articleCategory==null){
+                return "{}";
+            }else{
+                if(e.getId()!=0 && e.getId()==articleCategory.getId()){
+                    return "{}";
+                }else {
+                    return "{\"error\":\"分类名称已经存在!\"}";
+                }
+            }
+        }else if(StringUtils.isNotBlank(e.getCode())){
+            ArticleCategory articleCategory = new ArticleCategory();
+            articleCategory.setCode(e.getCode());
+            articleCategory = articleCategoryService.selectOne(articleCategory);
+            if(articleCategory==null){
+                return "{}";
+            }else{
+                if(e.getId()!=0 && e.getId()==articleCategory.getId()){
+                    return "{}";
+                }else {
+                    return "{\"error\":\"编码已经存在!\"}";
+                }
+            }
+        }
+        return null;
+    }
+}

+ 260 - 0
src/main/java/com/enterprise/controller/manage/BackupAction.java

@@ -0,0 +1,260 @@
+package com.enterprise.controller.manage;
+
+import com.enterprise.entity.BackUp;
+import org.apache.commons.io.FileUtils;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.*;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * 数据库备份Action
+ * Created by Cesiumai on 2016/6/7.
+ */
+@Controller
+@RequestMapping("/manage/backups/")
+public class BackupAction{
+
+    /**
+     * 数据备份-数据表列表
+     * @param model
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("backupsList")
+    public String backupsList(ModelMap model)throws Exception{
+        List<BackUp> backupList = new ArrayList<BackUp>();
+        backupList.add(new BackUp("网站管理员","t_user"));
+        backupList.add(new BackUp("后台左侧导航","t_menu"));
+        backupList.add(new BackUp("系统设置","t_systemsetting"));
+        backupList.add(new BackUp("系统日志","t_systemlog"));
+        backupList.add(new BackUp("留言信息","t_messages"));
+        backupList.add(new BackUp("招聘信息","t_recruitment"));
+        backupList.add(new BackUp("门户滚动图片","t_indeximg"));
+        backupList.add(new BackUp("友情链接","t_friendlinks"));
+        backupList.add(new BackUp("文章表", "t_article"));
+        backupList.add(new BackUp("文章分类表", "t_articlecategory"));
+        backupList.add(new BackUp("服务领域", "t_service"));
+        backupList.add(new BackUp("联系我们", "t_contact"));
+        backupList.add(new BackUp("关于我们", "t_about"));
+        model.addAttribute("backupList",backupList);
+        return "/manage/backups/backupsList";
+    }
+
+    /**
+     * 对选择的表进行备份
+     * @param request
+     * @param tableNames
+     * @param model
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("backups")
+    @ResponseBody
+    public String backups(HttpServletRequest request, String[] tableNames,  ModelMap model) throws Exception{
+        InputStream is = getClass().getClassLoader().getResourceAsStream("conf.properties");
+        Properties properties = new Properties();
+        properties.load(is);
+        export(request,properties,tableNames);
+
+        return ("{}");
+    }
+
+    /**
+     * 对选择文件进行恢复
+     * @param request
+     * @param model
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("recover")
+    @ResponseBody
+    public String recover(HttpServletRequest request,  ModelMap model) throws Exception{
+        String fileName =request.getParameter("fileName");
+        InputStream is = getClass().getClassLoader().getResourceAsStream("conf.properties");
+        Properties properties = new Properties();
+        properties.load(is);
+        importSql(request,properties,fileName);
+        return ("{}");
+    }
+
+    /**
+     * 备份文件列表
+     * @param request
+     * @param model
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("recoverList")
+    public String recoverList(HttpServletRequest request, ModelMap model) throws Exception{
+        String realPath = request.getSession().getServletContext().getRealPath("/");
+        File file = new File(realPath+"\\backup\\");
+        File[] fList = file.listFiles();
+        List<BackUp> recoverList = new ArrayList<BackUp>();
+        for(File f:fList){
+            recoverList.add(new BackUp(bytes2kb(f.length()),f.getName(),dataFormat(f.lastModified())));
+        }
+        Collections.reverse(recoverList);//对文件list进行倒叙处理
+        model.addAttribute("recoverList",recoverList);
+        return "/manage/backups/recoverList";
+    }
+
+    /**
+     * 删除文件
+     * @param fileName
+     * @param request
+     * @param model
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("deleteRecover")
+    public String deleteRecover(String fileName,HttpServletRequest request, ModelMap model) throws Exception{
+        String realPath = request.getSession().getServletContext().getRealPath("/");
+        File file = new File(realPath+"\\backup\\"+fileName);
+        if(file.isFile() && file.exists()){
+            file.delete();
+        }
+        return "redirect:recoverList";
+    }
+
+    /**
+     * 下载文件
+     * @param fileName
+     * @param request
+     * @return
+     * @throws IOException
+     */
+    @RequestMapping("downloadSql")
+    public ResponseEntity<byte[]> download(String fileName,HttpServletRequest request) throws IOException{
+        String realPath = request.getSession().getServletContext().getRealPath("/");
+        String path=realPath+"\\backup\\"+fileName;
+        File file = new File(path);
+        HttpHeaders headers = new HttpHeaders();
+        String downloadFileName = new String(fileName.getBytes("UTF-8"),"iso-8859-1");
+        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
+        headers.setContentDispositionFormData("attachment",downloadFileName);
+        return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
+    }
+
+    /**
+     * 格式化时间
+     * 把文件的“最后修改时间”的时间戳字符串格式化为 yyyy-MM-dd hh:mm:ss
+     * @param data
+     * @return
+     */
+    public static String dataFormat(long data){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String date = sdf.format(new Date(data));
+        return date;
+    }
+
+    /**
+     * 文件大小转换:把字节B修改为KB、MB
+     * @param bytes
+     * @return
+     */
+    public static String bytes2kb(long bytes) {
+        BigDecimal filesize = new BigDecimal(bytes);
+        BigDecimal megabyte = new BigDecimal(1024 * 1024);
+        float returnValue = filesize.divide(megabyte, 2, BigDecimal.ROUND_UP)
+                .floatValue();
+        if (returnValue > 1)
+            return (returnValue + "MB");
+        BigDecimal kilobyte = new BigDecimal(1024);
+        returnValue = filesize.divide(kilobyte, 2, BigDecimal.ROUND_UP)
+                .floatValue();
+        return (returnValue + "KB");
+    }
+
+    /**
+     * 执行备份
+     * @param request
+     * @param properties
+     * @param tableNames
+     * @throws IOException
+     */
+    public static void export(HttpServletRequest request,Properties properties ,String[] tableNames) throws IOException {
+        StringBuffer sb = new StringBuffer();
+        for(String t :tableNames){
+            sb.append(" "+t);
+        }
+        Runtime runtime = Runtime.getRuntime();
+        String command = getExportCommand(request,properties,sb.toString());
+        runtime.exec(command);
+    }
+
+    /**
+     * 执行恢复 加载sql文件,
+     * @param request
+     * @param properties
+     * @param fileName
+     * @throws IOException
+     */
+    public static void importSql(HttpServletRequest request,Properties properties,String fileName) throws IOException {
+        Runtime runtime = Runtime.getRuntime();
+        String realPath = request.getSession().getServletContext().getRealPath("/");
+        String importfile = realPath+"\\backup\\"+fileName;
+        String cmdarray[] = getImportCommand(request,properties,importfile);
+        Process process = runtime.exec(cmdarray[0]);
+        OutputStream os = process.getOutputStream();
+        OutputStreamWriter writer = new OutputStreamWriter(os);
+        writer.write(cmdarray[1]+"\r\n"+cmdarray[2]);
+        writer.flush();
+        writer.close();
+        os.close();
+    }
+
+    /**
+     * 执行备份sql语句
+     * @param request
+     * @param properties
+     * @param tableName
+     * @return
+     */
+    private static String getExportCommand(HttpServletRequest request,Properties properties,String tableName) {
+        String realPath = request.getSession().getServletContext().getRealPath("/");
+        StringBuffer command = new StringBuffer();
+        String username = properties.getProperty("jdbc.username");
+        String password = properties.getProperty("jdbc.password");
+        String exportDatabaseName = properties.getProperty("jdbc.databaseName");
+        String host = properties.getProperty("jdbc.host");
+        String port = properties.getProperty("jdbc.port");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+        String ymd = sdf.format(new Date());
+        String exportPath = realPath+"\\backup\\" + ymd + ".sql";
+        command.append("mysqldump -u").append(username).append(" -p").append(password).append(" -h").append(host).append(" -P").append(port).append(" ").append(exportDatabaseName).append(tableName).append(" -r ").append(exportPath);
+        return command.toString();
+    }
+
+    /**
+     * 执行恢复sql语句
+     * @param request
+     * @param properties
+     * @param importfile
+     * @return
+     */
+    private static String[] getImportCommand(HttpServletRequest request,Properties properties,String importfile){
+        String username = properties.getProperty("jdbc.username");
+        String password = properties.getProperty("jdbc.password");
+        String importDatabaseName  = properties.getProperty("jdbc.databaseName");
+        String host = properties.getProperty("jdbc.host");
+        String port = properties.getProperty("jdbc.port");
+        String importPath  = importfile;
+        String loginCommand = new StringBuffer().append("mysql -u").append(username).append(" -p").append(password).append(" -h").append(host).append(" -P").append(port).toString();
+        String switchCommand = new StringBuffer("use ").append(importDatabaseName).toString();
+        String importCommand = new StringBuffer("source ").append(importPath).toString();
+        String[] commands = new String[] {loginCommand,switchCommand,importCommand};
+        return commands;
+    }
+
+}

+ 63 - 0
src/main/java/com/enterprise/controller/manage/ContactAction.java

@@ -0,0 +1,63 @@
+package com.enterprise.controller.manage;
+
+import com.enterprise.cache.FrontCache;
+import com.enterprise.service.Services;
+import com.enterprise.entity.Contact;
+import com.enterprise.service.ContactService;
+import com.enterprise.controller.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 联系我们 管理
+ * Created by Cesiumai on 2016/7/8.
+ */
+@Controller
+@RequestMapping("/manage/contact")
+public class ContactAction extends BaseController<Contact>{
+    private static final String page_toEdit="/manage/contact/contactEdit";
+    private static final String page_toList="/manage/contact/contactEdit";
+    @Autowired
+    private ContactService contactService;
+    @Autowired
+    private FrontCache frontCache;
+    @Override
+    public Services<Contact> getService() {
+        return contactService;
+    }
+
+    public ContactAction() {
+        super.page_toEdit=page_toEdit;
+        super.page_toList=page_toList;
+    }
+
+    @Override
+    public String selectList(HttpServletRequest request, Contact contact) throws Exception {
+        contact = contactService.selectOne(new Contact());
+        request.setAttribute("e", contact);
+        return page_toList;
+    }
+
+    @Override
+    public String update(HttpServletRequest request, @ModelAttribute("e") Contact e, RedirectAttributes flushAttrs) throws Exception {
+        getService().update(e);
+        insertAfter(e);
+        addMessage(flushAttrs, "操作成功!");
+        frontCache.loadContact();
+        return "redirect:selectList";
+    }
+
+    @Override
+    public String insert(HttpServletRequest request, @ModelAttribute("e") Contact e, RedirectAttributes flushAttrs) throws Exception {
+        getService().insert(e);
+        insertAfter(e);
+        addMessage(flushAttrs,"操作成功!");
+        frontCache.loadContact();
+        return "redirect:selectList";
+    }
+}

+ 81 - 0
src/main/java/com/enterprise/controller/manage/FriendLinksAction.java

@@ -0,0 +1,81 @@
+package com.enterprise.controller.manage;
+
+import com.enterprise.cache.FrontCache;
+import com.enterprise.entity.FriendLinks;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import com.enterprise.service.Services;
+import com.enterprise.service.FriendLinksService;
+import com.enterprise.controller.BaseController;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 友情链接Action
+ */
+@Controller
+@RequestMapping("/manage/friendLinks/")
+public class FriendLinksAction extends BaseController<FriendLinks>{
+
+	private static final String page_toEdit = "/manage/friendLinks/friendLinksEdit";
+	private static final String page_toAdd = "/manage/friendLinks/friendLinksEdit";
+	private static final String page_toList = "/manage/friendLinks/friendLinksList";
+	public FriendLinksAction() {
+		super.page_toAdd = page_toAdd;
+		super.page_toEdit = page_toEdit;
+		super.page_toList = page_toList;
+	}
+	@Autowired
+	private FriendLinksService friendLinksService;
+	@Autowired
+	private FrontCache frontCache;
+	
+	@Override
+	public Services<FriendLinks> getService() {
+		return friendLinksService;
+	}
+
+
+	/**
+	 * 更新
+	 * @param request
+	 * @param e
+	 * @param flushAttrs
+	 * @return
+     * @throws Exception
+     */
+	@Override
+	public String update(HttpServletRequest request, @ModelAttribute("e") FriendLinks e, RedirectAttributes flushAttrs) throws Exception {
+		friendLinksService.update(e);
+		insertAfter(e);
+		//更新成功后更新缓存
+		frontCache.loadFriendLinks();
+		addMessage(flushAttrs, "操作成功!");
+		return "redirect:selectList";
+	}
+
+
+	/**
+	 * 插入
+	 * @param request
+	 * @param e
+	 * @param flushAttrs
+	 * @return
+     * @throws Exception
+     */
+	@Override
+	public String insert(HttpServletRequest request, @ModelAttribute("e") FriendLinks e, RedirectAttributes flushAttrs) throws Exception {
+		friendLinksService.insert(e);
+		insertAfter(e);
+		//插入成功后更新缓存
+		frontCache.loadFriendLinks();
+		addMessage(flushAttrs,"操作成功!");
+		return "redirect:selectList";
+	}
+
+
+}

+ 122 - 0
src/main/java/com/enterprise/controller/manage/IndexImgAction.java

@@ -0,0 +1,122 @@
+package com.enterprise.controller.manage;
+
+
+import com.enterprise.cache.FrontCache;
+import com.enterprise.service.Services;
+import com.enterprise.entity.IndexImg;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.service.IndexImgService;
+import com.enterprise.controller.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+
+/**门户滚动图片Action
+ * Created by Cesiumai on 2016/5/27.
+ */
+@Controller
+@RequestMapping("/manage/indexImg/")
+public class IndexImgAction extends BaseController<IndexImg>{
+    private static final String page_toEdit = "/manage/indexImg/indexImgList";
+    private static final String page_toList = "/manage/indexImg/indexImgList";
+    private static final String page_toAdd = "/manage/indexImg/indexImgList";
+
+    public IndexImgAction(){
+        super.page_toAdd = page_toAdd;
+        super.page_toEdit = page_toEdit;
+        super.page_toList = page_toList;
+    }
+    private ServletContext servletContext;
+
+    public void setServletContext(ServletContext servletContext) {
+        this.servletContext = servletContext;
+    }
+    @Autowired
+    private IndexImgService indexImgService;
+    @Autowired
+    private FrontCache frontCache;
+    @Override
+    public Services<IndexImg> getService() {
+        return indexImgService;
+    }
+
+
+    /**
+     * 更新
+     * @param request
+     * @param e
+     * @param flushAttrs
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public String update(HttpServletRequest request, @ModelAttribute("e") IndexImg e, RedirectAttributes flushAttrs) throws Exception {
+        indexImgService.update(e);
+        insertAfter(e);
+        //加载门户图片缓存
+        frontCache.loadIndexImg();
+        addMessage(flushAttrs, "操作成功!");
+        return "redirect:selectList";
+    }
+
+    /**
+     * 插入
+     * @param request
+     * @param e
+     * @param flushAttrs
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public String insert(HttpServletRequest request, @ModelAttribute("e") IndexImg e, RedirectAttributes flushAttrs) throws Exception {
+        indexImgService.insert(e);
+        insertAfter(e);
+        //加载门户图片缓存
+        frontCache.loadIndexImg();
+        addMessage(flushAttrs,"操作成功!");
+        return "redirect:selectList";
+    }
+
+    /**
+     * 批量删除
+     * @param request
+     * @param ids
+     * @param e
+     * @param flushAttrs
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public String deletes(HttpServletRequest request, String[] ids, @ModelAttribute("e") IndexImg e, RedirectAttributes flushAttrs) throws Exception {
+        indexImgService.deletes(ids);
+        //加载门户图片缓存
+        frontCache.loadIndexImg();
+        addMessage(flushAttrs,"操作成功!");
+        return "redirect:selectList";
+    }
+    @RequestMapping("delete")
+    public String delete(HttpServletRequest request,  @ModelAttribute("e") IndexImg e, RedirectAttributes flushAttrs) throws Exception {
+        indexImgService.delete(e);
+        //加载门户图片缓存
+        frontCache.loadIndexImg();
+        addMessage(flushAttrs,"操作成功!");
+        return "redirect:selectList";
+    }
+
+    @Override
+    public String toEdit(@ModelAttribute("e") IndexImg e, ModelMap model) throws Exception {
+        e = indexImgService.selectOne(e);
+        IndexImg indexImg = new IndexImg();
+        indexImg.setOffset(0);
+        PageModel page = getService().selectPageList(indexImg);
+        model.addAttribute("e", e);
+        model.addAttribute("pager", page);
+        return page_toEdit;
+    }
+}

+ 160 - 0
src/main/java/com/enterprise/controller/manage/MenuAction.java

@@ -0,0 +1,160 @@
+package com.enterprise.controller.manage;
+
+import java.io.IOException;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import com.enterprise.service.MenuService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.enterprise.entity.Menu;
+import com.enterprise.entity.MenuItem;
+import com.enterprise.entity.MenuType;
+import com.enterprise.service.Services;
+import com.enterprise.service.impl.MenuServiceImpl;
+import com.enterprise.util.RequestHolder;
+import com.enterprise.controller.BaseController;
+
+import net.sf.json.JSONArray;
+
+/**
+ * 后台菜单管理
+ * @author Cesiumai
+ *
+ */
+@Controller
+@RequestMapping("/manage/menu/")
+public class MenuAction  extends BaseController<Menu>{
+	private static final long serialVersionUID = 1L;
+	@Autowired
+	private MenuService menuService;
+	
+    private static final String page_toList = "/manage/system/menu/menuList";
+    private static final String page_toEdit = "/manage/system/menu/editMenu";
+    private static final String page_addOrUpdate = "/manage/system/menu/addOrUpdate";
+
+    private MenuAction() {
+        super.page_toList = page_toList;
+        super.page_toEdit = page_toEdit;
+        super.page_toAdd = page_toEdit;
+    }
+	@Override
+	public Services<Menu> getService() {
+		return menuService;
+	}
+	
+	@RequestMapping("toAddOrUpdate")
+	public String toAddOrUpdate(@ModelAttribute("e") Menu menu,ModelMap model) throws Exception{
+		menu = menuService.selectOne(menu);
+		model.addAttribute("e", menu);
+		return page_addOrUpdate;
+	}
+	@RequestMapping("getMenusByPid")
+	@ResponseBody
+	public String getMenusByPid(HttpServletRequest request) throws Exception{
+		String pid = request.getParameter("pid");
+		if(pid ==null || pid.trim().equals("")){
+			pid="0";
+		}
+		List<MenuItem> menus = menuService.loadMenus(null, pid, "#");
+		return writeMenus(menus);
+	}
+	private String writeMenus(List<MenuItem> root) throws IOException{
+		JSONArray json = JSONArray.fromObject(root);
+		String jsonStr = json.toString();
+		try{
+			return jsonStr;
+		}catch(Exception e){
+			e.printStackTrace();
+		}
+		return jsonStr;
+	}
+	@RequestMapping(value="delete" ,method=RequestMethod.POST)
+	@ResponseBody
+	public String delete(HttpServletRequest request) throws Exception{
+		String ids = request.getParameter("ids");
+		if(ids==null || ids.trim().equals("")){
+			throw new Exception("删除异常");
+		}
+		menuService.deletes(ids,request.getParameter("deleteParent"));
+		return "1";
+	}
+	@RequestMapping(value="save",method=RequestMethod.POST)
+	public String save(@ModelAttribute("e") Menu menu) throws Exception{
+		if(menu.getId()==0){
+			if(menu.getUrl()==null){
+				menu.setUrl("");
+			}
+			menuService.insert(menu);
+		}else{
+			menuService.update(menu);
+		}
+		return selectList(RequestHolder.getRequest(), menu);
+	}
+	@RequestMapping(value = "addOrUpdate", method = RequestMethod.POST)
+    @ResponseBody
+	public String addOrUpdate(HttpServletRequest request) throws Exception{
+		//选中菜单的信息
+		String updateP = request.getParameter("updateP");
+		String id = request.getParameter("id");
+		String name = request.getParameter("name");
+		String orderNum = request.getParameter("orderNum");
+		String type = request.getParameter("type");
+		String icon = request.getParameter("icon");
+
+		//要添加的子菜单
+		String url = request.getParameter("url");
+		String n_name = request.getParameter("n_name");
+		String n_url = request.getParameter("n_url");
+		String parentOrChild = request.getParameter("parentOrChild");
+		String n_orderNum = request.getParameter("n_orderNum");
+		String n_type = request.getParameter("n_type");
+		
+		Menu itemMenu = null;
+		if(n_name!=null && !n_name.trim().equals("")){
+			itemMenu = new Menu();
+			//添加子菜单
+			if(parentOrChild.equals("0")){//顶级模块
+				itemMenu.setPid("0");
+				itemMenu.setType(MenuType.module.toString());
+			} else if(parentOrChild.equals("1")){//顶级页面
+				itemMenu.setPid("0");
+				itemMenu.setType(MenuType.page.toString());
+			} else if(parentOrChild.equals("2")){//子模块
+				itemMenu.setPid(id);
+				itemMenu.setType(MenuType.module.toString());
+			} else if(parentOrChild.equals("3")){//子页面
+				itemMenu.setPid(id);
+				itemMenu.setType(MenuType.page.toString());
+			} else if(parentOrChild.equals("4")){   //功能
+				itemMenu.setPid(id);
+				itemMenu.setType(MenuType.button.toString());
+			} else {
+				throw new IllegalAccessException("添加菜单异常。");
+			}
+			itemMenu.setName(n_name);
+			itemMenu.setUrl(n_url);
+			itemMenu.setOrderNum(Integer.valueOf(n_orderNum));
+			itemMenu.setType(n_type);
+		}
+		//修改父菜单
+		Menu m = new Menu();
+		m.setId(Integer.parseInt(id));
+		m.setName(name);
+		m.setUrl(url);
+		m.setIcon(icon);
+		m.setOrderNum(Integer.valueOf(orderNum));
+		m.setType(type);
+		menuService.addOrUpdate(updateP,m, itemMenu);
+		
+		return "ok";
+	}
+
+}

+ 36 - 0
src/main/java/com/enterprise/controller/manage/MessagesAction.java

@@ -0,0 +1,36 @@
+package com.enterprise.controller.manage;
+
+
+import com.enterprise.entity.Messages;
+import com.enterprise.service.MessageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import com.enterprise.service.Services;
+import com.enterprise.controller.BaseController;
+/**
+ * 后台查看留言管理
+ * @author Cesiumai
+ *
+ */
+@Controller
+@RequestMapping("/manage/message/")
+public class MessagesAction extends BaseController<Messages>{
+	private static final String page_toList = "/manage/messages/messageList";
+	private static final String page_toEdit = "/manage/messages/messageInfo";
+	public MessagesAction() {
+		super.page_toList = page_toList;
+		super.page_toEdit = page_toEdit;
+	}
+	
+	@Autowired
+	private MessageService messageService;
+
+	@Override
+	public Services<Messages> getService() {
+		return messageService;
+	}
+
+
+}

+ 136 - 0
src/main/java/com/enterprise/controller/manage/RecruitmentAction.java

@@ -0,0 +1,136 @@
+package com.enterprise.controller.manage;
+
+
+import javax.servlet.http.HttpServletRequest;
+
+import com.enterprise.cache.FrontCache;
+import com.enterprise.entity.Recruitment;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import com.enterprise.entity.User;
+import com.enterprise.service.Services;
+import com.enterprise.service.RecruitmentService;
+import com.enterprise.util.LoginUserHolder;
+import com.enterprise.controller.BaseController;
+/**
+ * 后台发布招聘
+ * @author Cesiumai
+ *
+ */
+@Controller
+@RequestMapping("/manage/recruitment/")
+public class RecruitmentAction extends BaseController<Recruitment>{
+
+	private static final String page_toList = "/manage/recruitment/recruitmentList";
+	private static final String page_toEdit = "/manage/recruitment/recruitmentEdit";
+	private static final String page_toAdd = "/manage/recruitment/recruitmentEdit";
+	public RecruitmentAction() {
+		super.page_toList = page_toList;
+		super.page_toEdit = page_toEdit;
+		super.page_toAdd = page_toAdd;
+	}
+	@Autowired
+	private RecruitmentService recruitmentService;
+	@Autowired
+	private FrontCache frontCache;
+	@Override
+	public Services<Recruitment> getService() {
+		return recruitmentService;
+	}
+	
+	/**
+	 * 添加招聘信息
+	 */
+	@Override
+	public String insert(HttpServletRequest request, Recruitment e, RedirectAttributes flushAttrs) throws Exception {
+		User u = LoginUserHolder.getLoginUser();
+		e.setCreateAccount(u.getUsername());
+		//获取到发布招聘的用户名称
+		recruitmentService.insert(e);
+		insertAfter(e);
+		//加载招聘信息缓存
+		frontCache.loadRecruitments();
+		addMessage(flushAttrs,"操作成功!");
+		return "redirect:selectList";
+	}
+	/**
+	 * 更新招聘信息
+	 * @param request
+	 * @param e
+	 * @param flushAttrs
+	 * @return
+     * @throws Exception
+     */
+	@Override
+	public String update(HttpServletRequest request, @ModelAttribute("e") Recruitment e, RedirectAttributes flushAttrs) throws Exception {
+		recruitmentService.update(e);
+		insertAfter(e);
+		//加载招聘信息缓存
+		frontCache.loadRecruitments();
+		addMessage(flushAttrs, "操作成功!");
+		return "redirect:selectList";
+	}
+	/**
+	 * 更新状态为显示
+	 * @param ids
+	 * @param flushAttrs
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("updateStatusY")
+	public String updateStatusY(String[] ids, RedirectAttributes flushAttrs) throws Exception{
+		Recruitment e;
+		for(int i=0;i<ids.length;i++){
+			e = new Recruitment();
+			e.setId(Integer.parseInt(ids[i]));
+			e.setStatus("y");
+			recruitmentService.update(e);
+		}
+		//加载招聘信息缓存
+		frontCache.loadRecruitments();
+		addMessage(flushAttrs, "操作成功!");
+		return "redirect:selectList";
+	}
+	/**
+	 * 更新状态为不显示
+	 * @param ids
+	 * @param flushAttrs
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("updateStatusN")
+	public String updateStatusN(String[] ids, RedirectAttributes flushAttrs) throws Exception{
+		Recruitment e;
+		for(int i=0;i<ids.length;i++){
+			e = new Recruitment();
+			e.setId(Integer.parseInt(ids[i]));
+			e.setStatus("n");
+			recruitmentService.update(e);
+		}
+		//加载招聘信息缓存
+		frontCache.loadRecruitments();
+		addMessage(flushAttrs, "操作成功!");
+		return "redirect:selectList";
+	}
+	/**
+	 * 批量删除
+	 * @param request
+	 * @param ids
+	 * @param recruitment
+	 * @param flushAttrs
+	 * @return
+     * @throws Exception
+     */
+	@Override
+	public String deletes(HttpServletRequest request, String[] ids, @ModelAttribute("e") Recruitment recruitment, RedirectAttributes flushAttrs) throws Exception {
+		recruitmentService.deletes(ids);
+		//加载招聘信息缓存
+		frontCache.loadRecruitments();
+		addMessage(flushAttrs,"操作成功!");
+		return "redirect:selectList";
+	}
+}

+ 66 - 0
src/main/java/com/enterprise/controller/manage/ServiceAction.java

@@ -0,0 +1,66 @@
+package com.enterprise.controller.manage;
+
+import com.enterprise.cache.FrontCache;
+import com.enterprise.service.Services;
+import com.enterprise.entity.Service;
+import com.enterprise.service.ServiceService;
+import com.enterprise.controller.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 服务领域 管理
+ * Created by Cesiumai on 2016/7/26.
+ */
+@Controller
+@RequestMapping("/manage/service/")
+public class ServiceAction extends BaseController<Service>{
+    private static final String page_toList = "/manage/service/serviceList";
+    private static final String page_toEdit = "/manage/service/serviceEdit";
+    private static final String page_toAdd = "/manage/service/serviceEdit";
+    @Autowired
+    private ServiceService serviceService;
+    @Autowired
+    private FrontCache frontCache;
+    @Override
+    public Services<Service> getService() {
+        return serviceService;
+    }
+
+    private ServiceAction() {
+        super.page_toList=page_toList;
+        super.page_toEdit=page_toEdit;
+        super.page_toAdd=page_toAdd;
+    }
+
+    @Override
+    public String insert(HttpServletRequest request, @ModelAttribute("e") Service service, RedirectAttributes flushAttrs) throws Exception {
+        getService().insert(service);
+        insertAfter(service);
+        frontCache.loadService();
+        addMessage(flushAttrs,"操作成功!");
+        return "redirect:selectList";
+    }
+
+    @Override
+    public String update(HttpServletRequest request, @ModelAttribute("e") Service service, RedirectAttributes flushAttrs) throws Exception {
+        getService().update(service);
+        insertAfter(service);
+        frontCache.loadService();
+        addMessage(flushAttrs, "操作成功!");
+        return "redirect:selectList";
+    }
+
+    @Override
+    public String deletes(HttpServletRequest request, String[] ids, @ModelAttribute("e") Service service, RedirectAttributes flushAttrs) throws Exception {
+        getService().deletes(ids);
+        frontCache.loadService();
+        addMessage(flushAttrs,"操作成功!");
+        return "redirect:selectList";
+    }
+}

+ 86 - 0
src/main/java/com/enterprise/controller/manage/SystemSettingAction.java

@@ -0,0 +1,86 @@
+package com.enterprise.controller.manage;
+
+import javax.servlet.http.HttpServletRequest;
+
+import com.enterprise.entity.SystemSetting;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import com.enterprise.cache.FrontCache;
+import com.enterprise.service.Services;
+import com.enterprise.service.SystemSettingService;
+import com.enterprise.controller.BaseController;
+/**
+ * 系统设置
+ * @author Cesiumai
+ *
+ */
+@Controller
+@RequestMapping("/manage/systemSetting/")
+public class SystemSettingAction extends BaseController<SystemSetting>{
+	private static final String page_toEdit = "/manage/systemsetting/systemSettingEdit";
+	@Autowired
+	private SystemSettingService systemSettingService;
+	@Autowired
+	private FrontCache frontCache;
+
+	
+
+	@Override
+	public Services<SystemSetting> getService() {
+		return systemSettingService;
+	}
+
+
+
+	/**
+	 * 转到编辑界面
+	 */
+	@Override
+	@RequestMapping("toEdit")
+	public String toEdit(@ModelAttribute("e") SystemSetting e,ModelMap model) throws Exception{
+		e = systemSettingService.selectOne(e);
+		model.addAttribute("e", e);
+		return page_toEdit;
+	}
+	/**
+	 * 插入或者更新数据
+	 * @param request
+	 * @param e
+	 * @param model
+	 * @param flushAttrs
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping(value="insertOrUpdate",method=RequestMethod.POST)
+	public String insertOrUpdate(HttpServletRequest request, SystemSetting e, ModelMap model,RedirectAttributes flushAttrs) throws Exception{
+		synchronized (this) {
+			if(StringUtils.isBlank(e.getIsopen())){
+				e.setIsopen("false");
+			}
+			if(e.getId()==0){
+				insert(request, e, flushAttrs);
+			}else{
+				SystemSetting ss = systemSettingService.selectById(e.getId());
+				if(ss ==null){
+					throw new NullPointerException("根据id"+e.getId()+"找不到");
+				}
+				super.update(request, e, flushAttrs);
+			}
+			/**
+			 * 更新后加载前台缓存
+			 */
+			frontCache.loadAllCache();
+		}
+		addMessage(flushAttrs, "更新成功!");
+		return "redirect:toEdit";
+	}
+
+
+}

+ 48 - 0
src/main/java/com/enterprise/controller/manage/SystemlogAction.java

@@ -0,0 +1,48 @@
+package com.enterprise.controller.manage;
+
+import com.enterprise.entity.Systemlog;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.enterprise.service.Services;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.service.SystemlogService;
+import com.enterprise.controller.BaseController;
+/**
+ * 系统日志管理
+ * @author Cesiumai
+ *
+ */
+@Controller
+@RequestMapping("/manage/systemlog/")
+public class SystemlogAction extends BaseController<Systemlog>{
+	private static final String page_toList = "/manage/systemlog/systemlogList";
+	@Autowired
+	private SystemlogService systemlogService;
+
+	public  SystemlogAction() {
+		super.page_toList = page_toList;
+	}
+	@Override
+	public Services<Systemlog> getService() {
+		return systemlogService;
+	}
+
+	public void setSystemlogService(SystemlogService systemlogService) {
+		this.systemlogService = systemlogService;
+	}
+
+
+	@Override
+	public void insertAfter(Systemlog e){
+		e.clear();
+	}
+	@Override
+	protected void selectListAfter(PageModel pager) {
+		pager.setPagerUrl("selectList");
+	}
+	
+	
+
+
+}

+ 579 - 0
src/main/java/com/enterprise/controller/manage/UserAction.java

@@ -0,0 +1,579 @@
+package com.enterprise.controller.manage;
+
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.awt.image.CropImageFilter;
+import java.awt.image.FilteredImageSource;
+import java.awt.image.ImageFilter;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.List;
+
+import javax.imageio.ImageIO;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import com.enterprise.entity.Systemlog;
+import com.enterprise.service.MenuService;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import com.enterprise.entity.Menu;
+import com.enterprise.entity.MenuItem;
+import com.enterprise.entity.User;
+import com.enterprise.service.Services;
+import com.enterprise.service.impl.UserServiceImpl;
+import com.enterprise.service.SystemlogService;
+import com.enterprise.util.AddressUtil;
+import com.enterprise.util.MD5;
+import com.enterprise.util.RequestHolder;
+import com.enterprise.controller.BaseController;
+/**
+ * 用户登录、登出、信息操作
+ * @author Cesiumai
+ *
+ */
+@Controller
+@RequestMapping("/manage/user/")
+public class UserAction extends BaseController<User> {
+
+	private static final long serialVersionUID = 1L;
+
+	private static final String page_input = "/manage/system/login";// 登录页面
+	private static final String page_home = "/manage/system/home";// 后台主页
+	private static final String page_toList = "/manage/system/user/userList";// 后台用户列表页
+	private static final String page_toAdd = "/manage/system/user/editUser";// 添加用户页面
+	private static final String page_toEdit = "/manage/system/user/editUser";// 编辑用户页面
+	private static final String page_info = "/manage/system/user/info";//个人用户信息
+	private static final String page_changePwd_result = "/manage/system/user/changePwd";//修改密码成功
+
+	public UserAction() {
+		super.page_toEdit = page_toEdit;
+		super.page_toList = page_toList;
+		super.page_toAdd = page_toAdd;
+	}
+
+
+	@Autowired
+	private UserServiceImpl userServiceImpl;
+	@Autowired
+	private MenuService menuService;
+	@Autowired
+	private SystemlogService systemlogService;
+
+	@Override
+	public Services<User> getService() {
+		return userServiceImpl;
+	}
+
+	public UserServiceImpl getUserServiceImpl() {
+		return userServiceImpl;
+	}
+
+	public void setUserServiceImpl(UserServiceImpl userServiceImpl) {
+		this.userServiceImpl = userServiceImpl;
+	}
+
+	@Override
+	public void insertAfter(User e) {
+		e.clear();
+	}
+
+	/**
+	 * 转到登录页面
+	 * 
+	 * @param e
+	 * @param session
+	 * @return
+	 */
+	@RequestMapping(value = "login", method = RequestMethod.GET)
+	public String login(@ModelAttribute("e") User e, HttpSession session,HttpServletRequest request) {
+		if (session.getAttribute("manage_session_user_info") != null) {
+			return "redirect:/manage/user/home";
+		}
+		/**
+		 * 判断没有cookie
+		 */
+		Cookie[] cookies = request.getCookies();
+		Cookie sCookie=null;
+		String username = null;
+		String password = null;
+		if(cookies!=null && cookies.length>0){
+			for(int i = 0; i<cookies.length;i++){
+				sCookie = cookies[i];
+				if(sCookie!=null){
+					if(StringUtils.equals(sCookie.getName(), "manage_cookie_username")){
+						username = sCookie.getValue();
+					}
+					if(StringUtils.equals(sCookie.getName(), "manage_cookie_password")){
+						password = sCookie.getValue();
+					}
+				}
+			}
+		}
+		if(username!=null && password!=null&&session.getAttribute("manage_session_user_info")==null){
+			e.setUsername(username);
+			e.setPassword(password);
+			e = userServiceImpl.login(e);
+			session.setAttribute("manage_session_user_info", e);
+			Collection<MenuItem> userMenus = loadMenus();
+			session.setAttribute("userMenus", userMenus);
+			return "redirect:/manage/user/home";
+		}
+		return page_input;
+	}
+
+	/**
+	 * 登录方法
+	 * 
+	 * @param session
+	 * @param e
+	 * @param model
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping(value = "login", method = RequestMethod.POST)
+	public String login(HttpSession session,HttpServletResponse response, @ModelAttribute("e") User e, ModelMap model) throws Exception {
+		String remember = RequestHolder.getRequest().getParameter("remember");
+		String errorMsg;
+		if (session.getAttribute("manage_session_user_info") != null) {
+			return "redirect:/manage/user/home";
+		}
+		if (StringUtils.isBlank(e.getUsername()) || StringUtils.isBlank(e.getPassword())) {
+			model.addAttribute("errorMsg", "用户名和密码不能为空");
+			return page_input;
+		}
+		if(StringUtils.isBlank(e.getManage_vcode())){
+			model.addAttribute("errorMsg", "验证码不能为空");
+			return page_input;
+		}
+		String manage_vcode = RequestHolder.getSession().getAttribute("validateCode").toString();
+		if(StringUtils.isNotBlank(manage_vcode)&&!(manage_vcode.toLowerCase()).equals(e.getManage_vcode().toLowerCase())){
+			model.addAttribute("errorMsg", "验证码错误");
+			return page_input;
+		}
+		e.setPassword(MD5.md5(e.getPassword()));
+		User u = userServiceImpl.login(e);
+		if (u == null) {
+			errorMsg = "登录失败,用户名和密码不符";
+			model.addAttribute("errorMsg", errorMsg);
+			return page_input;
+		}
+		if(StringUtils.isNotBlank(remember)){
+			Cookie usernameCookie = new Cookie("manage_cookie_username", e.getUsername());
+			Cookie passwordCookie = new Cookie("manage_cookie_password", e.getPassword());
+			usernameCookie.setMaxAge(60*60*24*7);	//七天
+			passwordCookie.setMaxAge(60*60*24*7);	//七天
+			response.addCookie(usernameCookie);
+			response.addCookie(passwordCookie);
+		}
+		session.setAttribute("manage_session_user_info", u);
+		Collection<MenuItem> userMenus = loadMenus();
+		session.setAttribute("userMenus", userMenus);
+		try {
+			insertLog(u, "login");
+		} catch (Exception ex) {
+			ex.printStackTrace();
+		}
+		return "redirect:/manage/user/home";
+	}
+
+	/**
+	 * 主页面
+	 * @return
+     */
+	@RequestMapping("home")
+	public String home() {
+		return page_home;
+	}
+
+	/**
+	 * 加载后台菜单
+	 * 
+	 * @return
+	 */
+	public Collection<MenuItem> loadMenus() {
+		Map<String, String> param = new HashMap<String, String>();
+
+		List<Menu> menus = menuService.selectList(param);
+		LinkedHashMap<String, MenuItem> root = new LinkedHashMap<String, MenuItem>();
+		for (Menu menu : menus) {
+			MenuItem item = new MenuItem(menu.getName(), null);
+			item.setId(String.valueOf(menu.getId()));
+			item.setPid(menu.getPid());
+			item.setIcon(menu.getIcon());
+			item.setUrl(StringUtils.trim(menu.getUrl()));
+			if (item.isRootMenu()) {
+				root.put(item.getId(), item);
+			}
+		}
+		for (Menu menu : menus) {
+			MenuItem item = new MenuItem(menu.getName(), null);
+			item.setId(String.valueOf(menu.getId()));
+			item.setPid(menu.getPid());
+			item.setIcon(menu.getIcon());
+			item.setUrl(StringUtils.trimToEmpty(menu.getUrl()));
+			if (!item.isRootMenu() && !item.isButton()) {
+				MenuItem parentItem = root.get(item.getPid());
+				if (parentItem != null) {
+					parentItem.addChildren(item);
+				}
+			}
+		}
+		return root.values();
+	}
+
+	/**
+	 * 登出
+	 * 
+	 * @param e
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("logout")
+	public String logout(@ModelAttribute("e") User e,HttpServletRequest request,HttpServletResponse response) throws Exception {
+		HttpSession session = RequestHolder.getSession();
+		if (session != null) {
+			User u = (User) RequestHolder.getSession().getAttribute("manage_session_user_info");
+			if (u != null && StringUtils.isNotBlank(u.getUsername())) {
+				insertLog(u, "loginOut");
+			}
+			session.setAttribute("manage_session_user_info", null);
+		}
+		Cookie[] cookies = request.getCookies();
+		if (cookies != null || cookies.length > 0) {
+			for(Cookie cookie:cookies){
+				if(StringUtils.equals(cookie.getName(), "manage_cookie_username")){
+		            cookie.setMaxAge(0);
+		            response.addCookie(cookie);
+				}
+				if(StringUtils.equals(cookie.getName(), "manage_cookie_password")){
+					cookie.setMaxAge(0);
+		            response.addCookie(cookie);
+				}
+			}
+	    }
+		e.clear();
+		return page_input;
+	}
+
+
+
+	/**
+	 * 编辑
+	 */
+	@RequestMapping("toEdit")
+	@Override
+	public String toEdit(@ModelAttribute("e") User e, ModelMap model) throws Exception {
+		e = userServiceImpl.selectOne(e);
+		model.addAttribute("e", e);
+		return page_toEdit;
+	}
+
+	/**
+	 * 添加
+	 */
+	@RequestMapping("toAdd")
+	@Override
+	public String toAdd(@ModelAttribute("e") User user, ModelMap model) throws Exception {
+		return page_toAdd;
+	}
+
+	/**
+	 * 增加或修改
+	 * 
+	 * @param e
+	 * @param model
+	 * @param flushAttrs
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping(value = "insertOrUpdate", method = RequestMethod.POST)
+	public String insertOrUpdate(@ModelAttribute("e") User e, ModelMap model, RedirectAttributes flushAttrs)
+			throws Exception {
+		User user = (User) RequestHolder.getSession().getAttribute("manage_session_user_info");
+		if (e.getId() == 0) {// 添加
+			if (StringUtils.isBlank(e.getPassword()) || StringUtils.isBlank(e.getNewpassword2())) {
+				flushAttrs.addFlashAttribute("errorMsg", "输入的密码不符合要求!");
+				return "redirect:toEdit?id=" + e.getId();
+			}
+
+			if (!e.getPassword().equals(e.getNewpassword2())) {
+				flushAttrs.addFlashAttribute("errorMsg", "两次输入的密码不一致!");
+				return "redirect:toEdit?id=" + e.getId();
+			}
+			e.setCreateAccount(user.getUsername());
+			e.setPassword(MD5.md5(e.getPassword()));
+			getService().insert(e);
+		} else {// 修改
+			if (StringUtils.isBlank(e.getPassword()) && StringUtils.isBlank(e.getNewpassword2())) {
+				// 不修改密码
+				e.setPassword(null);
+			} else {
+				// 修改密码
+				if(StringUtils.isBlank(e.getOldPassword())){
+					flushAttrs.addFlashAttribute("errorMsg", "修改密码原始密码不能为空");
+					return "redirect:toEdit?id=" + e.getId();
+				}
+				if (!MD5.md5(e.getOldPassword()).equals(user.getPassword())) {
+					flushAttrs.addFlashAttribute("errorMsg", "原密码不正确");
+					return "redirect:toEdit?id=" + e.getId();
+				}
+				if (!e.getNewpassword().equals(e.getNewpassword2())) {
+					flushAttrs.addFlashAttribute("errorMsg", "两次输入的密码不一致!");
+					return "redirect:toEdit?id=" + e.getId();
+				}
+				e.setPassword(MD5.md5(e.getNewpassword()));
+			}
+
+			e.setUpdateAccount(user.getUsername());
+			getService().update(e);
+			if(StringUtils.isNotBlank(e.getPassword())) {
+				return page_changePwd_result ;
+			}
+		}
+		flushAttrs.addFlashAttribute("message", "操作成功!");
+		return "redirect:back";
+	}
+
+
+
+
+	/**
+	 * 管理员个人信息
+	 * 
+	 * @param e
+	 * @param request
+	 * @param model
+	 * @return
+	 */
+	@RequestMapping("info")
+	public String info(@ModelAttribute("e") User e, HttpServletRequest request, ModelMap model) {
+		if (StringUtils.isBlank(request.getParameter("id"))) {
+			throw new NullPointerException("非法请求!");
+		}
+		int id = Integer.parseInt(request.getParameter("id"));
+		e.setId(id);
+		e = getService().selectOne(e);
+		model.addAttribute("e", e);
+		return page_info;
+	}
+
+	/**
+	 * 添加日志
+	 * 
+	 * @param u
+	 * @param log
+	 */
+	private void insertLog(User u, String log) {
+		Systemlog systemlog = new Systemlog();
+		systemlog.setTitle(log);
+		systemlog.setContent(log);
+		systemlog.setAccount(u.getUsername());
+		systemlog.setType(1);
+		systemlog.setLoginIp(AddressUtil.getIp(RequestHolder.getRequest()));
+
+		String address = null;
+		if (!systemlog.getLoginIp().equals("127.0.0.1") && !systemlog.getLoginIp().equals("localhost")) {
+			// 获取指定IP的区域位置
+			try {
+				address = AddressUtil.getAddress("ip=" + systemlog.getLoginIp(), "utf-8");
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+			systemlog.setLoginArea(address);
+
+			// 异地登陆的判断方法为:先比较本次登陆和上次登陆的区域位置,如果不一致,说明是异地登陆;如果获取不到区域,则比较IP地址,如果IP地址和上次的不一致,则是异地登陆
+			Systemlog firstSystemlog = systemlogService.selectFirstOne(u.getUsername());
+			if (firstSystemlog != null) {
+				if (StringUtils.isNotBlank(address) && StringUtils.isNotBlank(firstSystemlog.getLoginArea())) {
+					if (!address.equals(firstSystemlog.getLoginArea())) {
+						systemlog.setDiffAreaLogin(Systemlog.systemlog_diffAreaLogin_y);
+					}
+				} else if (StringUtils.isNotBlank(systemlog.getLoginIp())
+						&& StringUtils.isNotBlank(firstSystemlog.getLoginIp())) {
+					if (!systemlog.getLoginIp().equals(firstSystemlog.getLoginIp())) {
+						systemlog.setDiffAreaLogin(Systemlog.systemlog_diffAreaLogin_y);
+					}
+				}
+			}
+		}
+		systemlogService.insert(systemlog);
+	}
+
+	/**
+	 * 删除
+	 * @param request
+	 * @param user
+	 * @param flushAttrs
+	 * @return
+     * @throws Exception
+     */
+	@RequestMapping("delete")
+	public String update(HttpServletRequest request, @ModelAttribute("e") User user, RedirectAttributes flushAttrs) throws Exception {
+		userServiceImpl.delete(user);
+		addMessage(flushAttrs,"操作成功!");
+		return "redirect:selectList";
+	}
+
+	/**
+	 * 上传头像
+	 *
+	 * @param request
+	 * @param x
+	 * @param y
+	 * @param h
+	 * @param w
+	 * @param imageFile
+     * @return
+     * @throws Exception
+     */
+	@RequestMapping(value = "/uploadHeadImage")
+	public String uploadHeadImage(
+			HttpServletRequest request,
+			@RequestParam(value = "x") String x,
+			@RequestParam(value = "y") String y,
+			@RequestParam(value = "h") String h,
+			@RequestParam(value = "w") String w,
+			@RequestParam(value = "imgFile") MultipartFile imageFile
+	) throws Exception{
+		User user = (User) RequestHolder.getSession().getAttribute("manage_session_user_info");
+		String realPath = request.getSession().getServletContext().getRealPath("/");
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+		String ymd = sdf.format(new Date());
+		String resourcePath = "attached/headPortrait/"+ymd+"/";//路径
+		if(imageFile!=null){
+			if(allowUpload(imageFile.getContentType())){
+				String fileName = rename(imageFile.getOriginalFilename());
+				int end = fileName.lastIndexOf(".");
+				String saveName = fileName.substring(0,end);
+				File dir = new File(realPath + resourcePath);
+				if(!dir.exists()){
+					dir.mkdirs();
+				}
+				InputStream is = imageFile.getInputStream();
+				String srcImagePath = realPath + resourcePath + saveName;
+				String savePath = resourcePath + saveName;
+				int imageX = Integer.parseInt(x);
+				int imageY = Integer.parseInt(y);
+				int imageH = Integer.parseInt(h);
+				int imageW = Integer.parseInt(w);
+				//这里开始截取操作
+				imgCut(is,srcImagePath,savePath,imageX,imageY,imageW,imageH);
+			}
+		}
+		return "redirect:toEdit?id="+user.getId();
+	}
+	/**
+	 * 截取图片
+	 * @param is
+	 * @param srcImageFile
+	 * @param x
+	 * @param y
+	 * @param desWidth
+	 * @param desHeight
+	 */
+	private void imgCut(InputStream is,String srcImageFile,String savePath, int x, int y, int desWidth,
+							  int desHeight) {
+		try {
+			HttpSession session = RequestHolder.getSession();
+			double ratio = 0.0;
+			Double r = 100.0;
+			Image img;
+			ImageFilter cropFilter;
+			BufferedImage bi = ImageIO.read(is);    //接收图片流
+			int srcWidth = bi.getWidth();
+			int srcHeight = bi.getHeight();
+			double d = (double) srcWidth/600;
+			x = (int)(x*d);
+			y = (int)(y*d);
+			desWidth = (int)(desWidth*d);
+			desHeight = (int)(desHeight*d);
+			if (srcWidth >= desWidth && srcHeight >= desHeight) {
+				ratio = (double)(r / desWidth);
+				Image image = bi.getScaledInstance(srcWidth, srcHeight,Image.SCALE_DEFAULT);
+				cropFilter = new CropImageFilter(x, y, desWidth, desHeight);
+				img = Toolkit.getDefaultToolkit().createImage(
+						new FilteredImageSource(image.getSource(), cropFilter));
+				BufferedImage tag = new BufferedImage(desWidth, desHeight,
+						BufferedImage.TYPE_INT_RGB);
+				int newWidth =(int)(tag.getWidth()*ratio);
+				int newHeight =(int)(tag.getHeight()*ratio);
+				BufferedImage bfImage= new BufferedImage(newWidth,newHeight,BufferedImage.TYPE_INT_RGB);
+				bfImage.getGraphics().drawImage(img.getScaledInstance(newWidth, newHeight,Image.SCALE_SMOOTH),0,0,null);
+				Graphics g = tag.getGraphics();
+				g.drawImage(img, 0, 0, null);
+				g.dispose();
+				//输出文件
+				ImageIO.write(bfImage, "JPEG", new File(srcImageFile+".jpg"));
+				User user = (User) RequestHolder.getSession().getAttribute("manage_session_user_info");
+				User u = new User();
+				u.setId(user.getId());
+				u.setPortrait(savePath+".jpg");
+				userServiceImpl.update(u);
+				u = userServiceImpl.selectById(u.getId());
+				session.setAttribute("manage_session_user_info", u);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	//允许的格式
+	public static final List<String> ALLOW_TYPES = Arrays.asList(
+			"image/jpg","image/jpeg","image/png","image/gif"
+	);
+	//文件重命名
+	public static String rename(String fileName){
+		int i = fileName.lastIndexOf(".");
+		String str = fileName.substring(i);
+		return new Date().getTime()+""+ new Random().nextInt(99999999) +str;
+	}
+	//校验文件类型是否是被允许的
+	public static boolean allowUpload(String postfix){
+		return ALLOW_TYPES.contains(postfix);
+	}
+
+
+	@RequestMapping("unique")
+	@ResponseBody
+	public String unique(@ModelAttribute("e") User e,HttpServletResponse response) throws IOException{
+		response.setCharacterEncoding("utf-8");//设置响应编码为utf-8
+		if(StringUtils.isNotBlank(e.getUsername())){
+			User user = new User();
+			user.setUsername(e.getUsername());
+			user = userServiceImpl.selectOne(user);
+
+			if(user==null){
+				return "{\"ok\":\"帐号可以使用!\"}";
+			}else{
+				return "{\"error\":\"帐号已经存在!\"}";
+			}
+		}else if(StringUtils.isNotBlank(e.getNickname())){
+			User user = new User();
+			user.setNickname(e.getNickname());
+			user = userServiceImpl.selectOne(user);
+			if(user==null){
+				return "{\"ok\":\"管理员名称可以使用!\"}";
+			}else{
+				if(e.getId()!=0 && e.getId()==user.getId()){
+					return "{}";
+				}else {
+					return "{\"error\":\"管理员名称已经存在!\"}";
+				}
+			}
+		}
+		return null;
+
+	}
+
+}

+ 143 - 0
src/main/java/com/enterprise/core/SystemManage.java

@@ -0,0 +1,143 @@
+package com.enterprise.core;
+
+import com.enterprise.cache.CacheProvider;
+import com.enterprise.cache.SimpleCacheProvider;
+import com.enterprise.entity.About;
+import com.enterprise.entity.ArticleCategory;
+import com.enterprise.entity.Contact;
+import com.enterprise.entity.FriendLinks;
+import com.enterprise.entity.IndexImg;
+import com.enterprise.entity.Messages;
+import com.enterprise.entity.Recruitment;
+import com.enterprise.entity.Service;
+import com.enterprise.entity.SystemSetting;
+import org.apache.commons.lang.StringUtils;
+
+import javax.annotation.PostConstruct;
+import java.io.Serializable;
+import java.util.List;
+import java.util.Properties;
+
+
+/**
+ * 系统管理类
+ *
+ * @author Cesiumai
+ */
+public class SystemManage {
+    private static Properties p = new Properties();
+    private static CacheProvider cacheProvider = new SimpleCacheProvider();
+    private static SystemManage instance;
+
+    @PostConstruct
+    public void afterPropertiesSet() {
+        instance = this;
+    }
+
+
+    public static SystemManage getInstance() {
+        return instance;
+    }
+
+    public CacheProvider getCacheProvider() {
+        return cacheProvider;
+    }
+
+    public void setCacheProvider(CacheProvider cacheProvider) {
+        SystemManage.cacheProvider = cacheProvider;
+    }
+
+    public String getProperty(String key) {
+        return p.getProperty(key);
+    }
+
+    private static String buildKey(String key) {
+        return "SystemManage." + StringUtils.trimToEmpty(key);
+    }
+
+    private static void putCacheObject(String key, Serializable cacheObject) {
+        String key1 = buildKey(key);
+        if (cacheObject == null) {
+            cacheProvider.remove(key1);
+        } else {
+            cacheProvider.put(key1, cacheObject);
+        }
+    }
+
+    private static <T extends Serializable> T getCacheObject(String key) {
+        return (T) cacheProvider.get(buildKey(key));
+    }
+
+    //系统设置
+    public SystemSetting getSystemSetting() {
+        return getCacheObject("systemSetting");
+    }
+
+    public void setSystemSetting(SystemSetting systemSetting) {
+        putCacheObject("systemSetting", systemSetting);
+    }
+
+    //友情链接
+    public List<FriendLinks> getFriendLinks() {
+        return getCacheObject("friendLinks");
+    }
+
+    public void setFriendLinks(List<FriendLinks> friendLinks) {
+        putCacheObject("friendLinks", (Serializable) (friendLinks));
+    }
+
+    //招聘信息
+    public List<Recruitment> getRecruitments() {
+        return getCacheObject("recruitments");
+    }
+
+    public void setRecruitments(List<Recruitment> recruitments) {
+        putCacheObject("recruitments", (Serializable) (recruitments));
+    }
+
+    //门户图片
+    public List<IndexImg> getIndexImgs() {return getCacheObject("indexImgs");}
+
+    public void setIndexImgs(List<IndexImg> indexImgs){
+        putCacheObject("indexImgs",(Serializable)(indexImgs));
+    }
+
+    //前五条留言
+    public List<Messages> getMessages(){return getCacheObject("messages");}
+
+    public void setMessages(List<Messages> messages){putCacheObject("messages",(Serializable)(messages));}
+
+    //文章类别
+    public List<ArticleCategory> getArticleCategory(){
+        return getCacheObject("articleCategory");
+    }
+    public void setArticleCategory(List<ArticleCategory> articleCategory){
+        putCacheObject("articleCategory",(Serializable)(articleCategory));
+    }
+    //联系我们
+    public List<Contact> getContact(){
+        return getCacheObject("contacts");
+    }
+    public void setContact(List<Contact> contacts){
+        putCacheObject("contacts",(Serializable)(contacts));
+    }
+
+    //关于我们
+    public List<About> getAbout(){
+        return getCacheObject("abouts");
+    }
+    public void setAbout(List<About> abouts){
+        putCacheObject("abouts",(Serializable)(abouts));
+    }
+
+    //服务领域
+    public List<Service> getService(){
+        return getCacheObject("services");
+    }
+    public void setService(List<Service> servies){
+        putCacheObject("services",(Serializable)(servies));
+    }
+
+
+
+}

+ 31 - 0
src/main/java/com/enterprise/core/servlet/MultipartDispatcherServlet.java

@@ -0,0 +1,31 @@
+package com.enterprise.core.servlet;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+import org.springframework.web.multipart.MultipartException;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.DispatcherServlet;
+
+
+public class MultipartDispatcherServlet extends DispatcherServlet{
+	@Override
+	protected  HttpServletRequest checkMultipart(HttpServletRequest request) throws MultipartException{
+		HttpServletRequest servletRequest = super.checkMultipart(request);
+		if(servletRequest instanceof MultipartHttpServletRequest
+				&& !(RequestContextHolder.currentRequestAttributes() instanceof MultipartServletRequestAttributes)){
+			RequestContextHolder.setRequestAttributes(new MultipartServletRequestAttributes(servletRequest));
+		}
+		return servletRequest;
+	}
+	
+	public static class MultipartServletRequestAttributes extends ServletRequestAttributes{
+
+		public MultipartServletRequestAttributes(HttpServletRequest request) {
+			super(request);
+		}
+		
+	}
+
+}

+ 10 - 0
src/main/java/com/enterprise/dao/AboutDao.java

@@ -0,0 +1,10 @@
+package com.enterprise.dao;
+
+import com.enterprise.entity.About;
+
+/**
+ *
+ * Created by Cesiumai on 2016/7/8.
+ */
+public interface AboutDao extends DaoManage<About>{
+}

+ 10 - 0
src/main/java/com/enterprise/dao/ArticleCategoryDao.java

@@ -0,0 +1,10 @@
+package com.enterprise.dao;
+
+
+import com.enterprise.entity.ArticleCategory;
+
+/**
+ * Created by Cesiumai on 2016/6/14.
+ */
+public interface ArticleCategoryDao extends DaoManage<ArticleCategory>{
+}

+ 12 - 0
src/main/java/com/enterprise/dao/ArticleDao.java

@@ -0,0 +1,12 @@
+package com.enterprise.dao;
+
+
+import com.enterprise.entity.Article;
+
+/**
+ * Created by Cesiumai on 2016/6/14.
+ */
+public interface ArticleDao extends DaoManage<Article>{
+    Article selectPrevious(int id);
+    Article selectNext(int id);
+}

+ 145 - 0
src/main/java/com/enterprise/dao/BaseDao.java

@@ -0,0 +1,145 @@
+package com.enterprise.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.exceptions.IbatisException;
+import org.apache.ibatis.session.SqlSession;
+import org.mybatis.spring.support.SqlSessionDaoSupport;
+import org.springframework.stereotype.Repository;
+
+import com.enterprise.entity.page.PageModel;
+
+/**
+ * 基础Dao
+ */
+@Repository
+public class BaseDao extends SqlSessionDaoSupport{
+	
+	private static final boolean selectPrivilege = false;
+	/**
+	 * 打开session  mybatis中的session能进行数据库基本 的操作
+	 * @return
+	 */
+	public SqlSession openSession(){
+		try {
+			SqlSession session = getSqlSession();
+			return session;
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	/**
+	 * 查询一条记录
+	 * @param str
+	 * @return
+	 */
+	public Object selectOne(String str){
+		SqlSession session = openSession();
+		return session.selectOne(str);
+	}
+	public Object selectOne(String str,Object obj){
+		SqlSession session = openSession();
+		return session.selectOne(str,obj);
+	}
+	
+	public PageModel selectPageList(String selectList,String selectCount,Object param){
+		SqlSession session = openSession();
+		List list = session.selectList(selectList, param);
+		PageModel pm = new PageModel();
+		pm.setList(list);
+		Object o = session.selectOne(selectCount,param);
+		if(o!=null){
+			pm.setTotal(Integer.parseInt(o.toString()));
+		}else{
+			pm.setTotal(0);
+		}
+		return pm;
+	}
+
+	/**
+	 * 查询集合
+	 * @param str
+	 * @return
+	 */
+	public List selectList(String str){
+		SqlSession session = openSession();
+		return session.selectList(str);
+	}
+	public List selectList(String str,Object obj){
+		SqlSession session = openSession();
+		return session.selectList(str,obj);
+	}
+	/**
+	 * 查询总数
+	 * @param str
+	 * @param obj
+	 * @return
+	 */
+	public int getCount(String str , Object obj){
+		SqlSession session = openSession();
+		return (Integer) session.selectOne(str, obj);
+	}
+	/**
+	 * 插入一条记录,成功则返回插入的ID;失败则抛出异常
+	 * @param str
+	 * @param obj
+	 * @return
+	 */
+	public int insert(String str,Object obj){
+		if(selectPrivilege){
+			//如果没有权限
+		}
+		SqlSession session = openSession();
+		int row = session.insert(str,obj);
+		if(row ==1){
+			return ((PageModel)obj).getId();
+		}
+		throw new IbatisException();
+	}
+	/**
+	 * 更新
+	 * @param str
+	 * @param obj
+	 * @return
+	 */
+	public int update(String str,Object obj){
+		if(selectPrivilege){
+			//如果没有权限
+		}
+		SqlSession session = openSession();
+		int row = session.update(str, obj);
+		if(row==1){
+			if(obj instanceof PageModel){
+				int id = ((PageModel) obj).getId();
+				if(id == 0){
+					return 0;
+				}
+				return id;
+			}
+		}
+		return 1;
+	}
+	/**
+	 * 删除
+	 * @param str
+	 * @return
+	 */
+	public int delete(String str){
+		if(selectPrivilege){
+			//如果没有权限
+		}
+		SqlSession session = openSession();
+		return session.delete(str);
+	}
+	/**
+	 * 删除
+	 */
+	public int delete(String str,Object obj){
+		if(selectPrivilege){
+			//如果没有权限
+		}
+		SqlSession session = openSession();
+		return session.delete(str,obj);
+	}
+}

+ 10 - 0
src/main/java/com/enterprise/dao/ContactDao.java

@@ -0,0 +1,10 @@
+package com.enterprise.dao;
+
+
+import com.enterprise.entity.Contact;
+
+/**
+ * Created by Cesiumai on 2016/7/8.
+ */
+public interface ContactDao extends DaoManage<Contact>{
+}

+ 58 - 0
src/main/java/com/enterprise/dao/DaoManage.java

@@ -0,0 +1,58 @@
+package com.enterprise.dao;
+
+import java.util.List;
+
+import com.enterprise.entity.page.PageModel;
+
+public interface DaoManage <E extends PageModel>{
+    /**
+     * 添加
+     * @param e
+     * @return
+     */
+    public int insert(E e);
+    /**
+     * 删除
+     * @param e
+     * @return
+     */
+    public int delete(E e);
+    /**
+     * 更新
+     * @param e
+     * @return
+     */
+    public int update(E e);
+    /**
+     * 查询一条记录
+     * @param e
+     * @return
+     */
+    public E selectOne(E e);
+    /**
+     * 分页查询
+     * @param e
+     * @return
+     */
+    public PageModel selectPageList(E e);
+    /**
+     * 查询集合
+     * @param e
+     * @return
+     */
+    public List<E> selectList(E e);
+    /**
+     * 根据Id删除
+     * @param id
+     * @return
+     */
+    public int deleteById(int id);
+    /**
+     * 根据Id查询
+     * @param id
+     * @return
+     */
+    public E selectById(int id);
+
+}
+

+ 10 - 0
src/main/java/com/enterprise/dao/FriendLinksDao.java

@@ -0,0 +1,10 @@
+package com.enterprise.dao;
+
+
+import com.enterprise.entity.FriendLinks;
+
+public interface FriendLinksDao extends DaoManage<FriendLinks>{
+
+
+
+}

+ 10 - 0
src/main/java/com/enterprise/dao/IndexImgDao.java

@@ -0,0 +1,10 @@
+package com.enterprise.dao;
+
+
+import com.enterprise.entity.IndexImg;
+
+/**
+ * Created by Cesiumai on 2016/5/27.
+ */
+public interface IndexImgDao extends DaoManage<IndexImg>{
+}

+ 8 - 0
src/main/java/com/enterprise/dao/MessageDao.java

@@ -0,0 +1,8 @@
+package com.enterprise.dao;
+
+
+import com.enterprise.entity.Messages;
+
+public interface MessageDao extends DaoManage<Messages>{
+
+}

+ 8 - 0
src/main/java/com/enterprise/dao/RecruitmentDao.java

@@ -0,0 +1,8 @@
+package com.enterprise.dao;
+
+
+import com.enterprise.entity.Recruitment;
+
+public interface RecruitmentDao extends DaoManage<Recruitment>{
+
+}

+ 93 - 0
src/main/java/com/enterprise/dao/ServersManage.java

@@ -0,0 +1,93 @@
+package com.enterprise.dao;
+
+import java.util.List;
+
+import com.enterprise.service.Services;
+import org.apache.commons.lang.StringUtils;
+
+import com.enterprise.entity.page.PageModel;
+
+public abstract class ServersManage <E extends PageModel, DAO extends DaoManage<E>> implements Services<E> {
+    protected DAO dao;
+
+    public DAO getDao() {
+        return dao;
+    }
+
+    public abstract void setDao(DAO dao);
+    /**
+     * 添加
+     */
+    @Override
+    public int insert(E e){
+        if(e==null){
+            throw new NullPointerException();
+        }
+        return dao.insert(e);
+    }
+    /**
+     * 删除
+     */
+    @Override
+    public int delete(E e){
+        if(e == null){
+            throw new NullPointerException();
+        }
+        return dao.delete(e);
+    }
+    /**
+     * 批量删除
+     */
+    @Override
+    public int deletes(String[] ids){
+        if(ids == null || ids.length ==0){
+            throw new NullPointerException("id不能为空");
+        }
+        for(int i = 0 ; i < ids.length; i++){
+            if(StringUtils.isBlank(ids[i])){
+                throw new NullPointerException("id不能为空");
+            }
+            dao.deleteById(Integer.parseInt(ids[i]));
+        }
+        return 0;
+    }
+    /**
+     * 更新
+     */
+    @Override
+    public int update(E e){
+        if(e==null){
+            throw new NullPointerException();
+        }
+        return dao.update(e);
+    }
+    /**
+     * 查询一条记录
+     */
+    @Override
+    public E selectOne(E e){
+        return dao.selectOne(e);
+    }
+    /**
+     * 根据id查询
+     */
+    @Override
+    public E selectById(int id){
+        return dao.selectById(id);
+    }
+    /**
+     * 分页查询
+     */
+    @Override
+    public PageModel selectPageList(E e){
+        return dao.selectPageList(e);
+    }
+    /**
+     * 查询集合
+     */
+    @Override
+    public List<E> selectList(E e){
+        return dao.selectList(e);
+    }
+
+}

+ 10 - 0
src/main/java/com/enterprise/dao/ServiceDao.java

@@ -0,0 +1,10 @@
+package com.enterprise.dao;
+
+
+import com.enterprise.entity.Service;
+
+/**
+ * Created by Cesiumai on 2016/6/14.
+ */
+public interface ServiceDao extends DaoManage<Service>{
+}

+ 9 - 0
src/main/java/com/enterprise/dao/SystemSettingDao.java

@@ -0,0 +1,9 @@
+package com.enterprise.dao;
+
+
+import com.enterprise.entity.SystemSetting;
+
+public interface SystemSettingDao extends DaoManage<SystemSetting>{
+    String selectVersion();
+
+}

+ 10 - 0
src/main/java/com/enterprise/dao/SystemlogDao.java

@@ -0,0 +1,10 @@
+package com.enterprise.dao;
+
+
+import com.enterprise.entity.Systemlog;
+
+public interface SystemlogDao extends DaoManage<Systemlog>{
+
+	Systemlog selectFirstOne(String account);
+
+}

+ 63 - 0
src/main/java/com/enterprise/dao/impl/AboutDaoImpl.java

@@ -0,0 +1,63 @@
+package com.enterprise.dao.impl;
+
+import com.enterprise.dao.BaseDao;
+import com.enterprise.entity.About;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.dao.AboutDao;
+import org.springframework.stereotype.Repository;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Created by Cesiumai on 2016/7/8.
+ */
+@Repository("aboutDao")
+public class AboutDaoImpl implements AboutDao {
+    @Resource
+    private BaseDao dao;
+
+    public void setDao(BaseDao dao) {
+        this.dao = dao;
+    }
+
+    @Override
+    public int insert(About about) {
+        return dao.insert("about.insert",about);
+    }
+
+    @Override
+    public int delete(About about) {
+        return 0;
+    }
+
+    @Override
+    public int update(About about) {
+        return dao.delete("about.update",about);
+    }
+
+    @Override
+    public About selectOne(About about) {
+        return (About) dao.selectOne("about.selectOne",about);
+    }
+
+    @Override
+    public PageModel selectPageList(About about) {
+        return dao.selectPageList("about.selectPageList","about.selectPageCount",about);
+    }
+
+    @Override
+    public List<About> selectList(About about) {
+        return dao.selectList("about.selectList",about);
+    }
+
+    @Override
+    public int deleteById(int id) {
+        return dao.delete("about.deleteById",id);
+    }
+
+    @Override
+    public About selectById(int id) {
+        return (About) dao.selectOne("about.selectById",id);
+    }
+}

+ 63 - 0
src/main/java/com/enterprise/dao/impl/ArticleCategoryDaoImpl.java

@@ -0,0 +1,63 @@
+package com.enterprise.dao.impl;
+
+import com.enterprise.dao.BaseDao;
+import com.enterprise.entity.ArticleCategory;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.dao.ArticleCategoryDao;
+import org.springframework.stereotype.Repository;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Created by Cesiumai on 2016/6/14.
+ */
+@Repository("articleCategoryDao")
+public class ArticleCategoryDaoImpl implements ArticleCategoryDao {
+    @Resource
+    private BaseDao dao;
+
+    public void setDao(BaseDao dao) {
+        this.dao = dao;
+    }
+
+    @Override
+    public int insert(ArticleCategory articleCategory) {
+        return dao.insert("articlecategory.insert", articleCategory);
+    }
+
+    @Override
+    public int delete(ArticleCategory articleCategory) {
+        return dao.delete("articlecategory.delete", articleCategory);
+    }
+
+    @Override
+    public int update(ArticleCategory articleCategory) {
+        return dao.update("articlecategory.update", articleCategory);
+    }
+
+    @Override
+    public ArticleCategory selectOne(ArticleCategory articleCategory) {
+        return (ArticleCategory) dao.selectOne("articlecategory.selectOne", articleCategory);
+    }
+
+    @Override
+    public PageModel selectPageList(ArticleCategory articleCategory) {
+        return dao.selectPageList("articlecategory.selectPageList","articlecategory.selectPageCount", articleCategory);
+    }
+
+    @Override
+    public List<ArticleCategory> selectList(ArticleCategory articleCategory) {
+        return dao.selectList("articlecategory.selectList", articleCategory);
+    }
+
+    @Override
+    public int deleteById(int id) {
+        return dao.delete("articlecategory.deleteById",id);
+    }
+
+    @Override
+    public ArticleCategory selectById(int id) {
+        return (ArticleCategory) dao.selectOne("articlecategory.selectById",id);
+    }
+}

+ 73 - 0
src/main/java/com/enterprise/dao/impl/ArticleDaoImpl.java

@@ -0,0 +1,73 @@
+package com.enterprise.dao.impl;
+
+import com.enterprise.dao.BaseDao;
+import com.enterprise.entity.Article;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.dao.ArticleDao;
+import org.springframework.stereotype.Repository;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Created by Cesiumai on 2016/6/14.
+ */
+@Repository("articleDao")
+public class ArticleDaoImpl implements ArticleDao {
+    @Resource
+    private BaseDao dao;
+
+    public void setDao(BaseDao dao) {
+        this.dao = dao;
+    }
+
+    @Override
+    public int insert(Article article) {
+        return dao.insert("article.insert",article);
+    }
+
+    @Override
+    public int delete(Article article) {
+        return dao.delete("article.delete",article);
+    }
+
+    @Override
+    public int update(Article article) {
+        return dao.update("article.update",article);
+    }
+
+    @Override
+    public Article selectOne(Article article) {
+        return (Article) dao.selectOne("article.selectOne",article);
+    }
+
+    @Override
+    public PageModel selectPageList(Article article) {
+        return dao.selectPageList("article.selectPageList","article.selectPageCount",article);
+    }
+
+    @Override
+    public List<Article> selectList(Article article) {
+        return dao.selectList("article.selectList",article);
+    }
+
+    @Override
+    public int deleteById(int id) {
+        return dao.delete("article.deleteById",id);
+    }
+
+    @Override
+    public Article selectById(int id) {
+        return (Article) dao.selectOne("article.selectById",id);
+    }
+
+    @Override
+    public Article selectPrevious(int id) {
+        return (Article) dao.selectOne("article.selectPrevious",id);
+    }
+
+    @Override
+    public Article selectNext(int id) {
+        return (Article) dao.selectOne("article.selectNext",id);
+    }
+}

+ 63 - 0
src/main/java/com/enterprise/dao/impl/ContactDaoImpl.java

@@ -0,0 +1,63 @@
+package com.enterprise.dao.impl;
+
+import com.enterprise.dao.BaseDao;
+import com.enterprise.entity.Contact;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.dao.ContactDao;
+import org.springframework.stereotype.Repository;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Created by Cesiumai on 2016/7/8.
+ */
+@Repository("contactDao")
+public class ContactDaoImpl implements ContactDao{
+    @Resource
+    private BaseDao dao;
+
+    public void setDao(BaseDao dao) {
+        this.dao = dao;
+    }
+
+    @Override
+    public int insert(Contact contact) {
+        return dao.insert("contact.insert",contact);
+    }
+
+    @Override
+    public int delete(Contact contact) {
+        return 0;
+    }
+
+    @Override
+    public int update(Contact contact) {
+        return dao.delete("contact.update",contact);
+    }
+
+    @Override
+    public Contact selectOne(Contact contact) {
+        return (Contact) dao.selectOne("contact.selectOne",contact);
+    }
+
+    @Override
+    public PageModel selectPageList(Contact contact) {
+        return dao.selectPageList("contact.selectPageList","contact.selectPageCount",contact);
+    }
+
+    @Override
+    public List<Contact> selectList(Contact contact) {
+        return dao.selectList("contact.selectList",contact);
+    }
+
+    @Override
+    public int deleteById(int id) {
+        return dao.delete("contact.deleteById",id);
+    }
+
+    @Override
+    public Contact selectById(int id) {
+        return (Contact) dao.selectOne("contact.selectById",id);
+    }
+}

+ 65 - 0
src/main/java/com/enterprise/dao/impl/FriendLinksDaoImpl.java

@@ -0,0 +1,65 @@
+package com.enterprise.dao.impl;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.enterprise.entity.FriendLinks;
+import org.springframework.stereotype.Repository;
+
+import com.enterprise.dao.BaseDao;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.dao.FriendLinksDao;
+@Repository("friendLinksDao")
+public class FriendLinksDaoImpl implements FriendLinksDao{
+
+	@Resource
+	private BaseDao dao;
+	
+	public void setDao(BaseDao dao) {
+		this.dao = dao;
+	}
+
+	@Override
+	public int insert(FriendLinks e) {
+		return dao.insert("friendLinks.insert", e);
+	}
+
+	@Override
+	public int delete(FriendLinks e) {
+		return dao.delete("friendLinks.delete", e);
+	}
+
+	@Override
+	public int update(FriendLinks e) {
+		return dao.update("friendLinks.update", e);
+	}
+
+	@Override
+	public FriendLinks selectOne(FriendLinks e) {
+		return (FriendLinks) dao.selectOne("friendLinks.selectOne", e);
+	}
+
+	@Override
+	public PageModel selectPageList(FriendLinks e) {
+		return dao.selectPageList("friendLinks.selectPageList", "friendLinks.selectPageCount", e);
+	}
+
+	@Override
+	public List<FriendLinks> selectList(FriendLinks e) {
+		return dao.selectList("friendLinks.selectList", e);
+	}
+
+	@Override
+	public int deleteById(int id) {
+		return dao.delete("friendLinks.deleteById", id);
+	}
+
+	@Override
+	public FriendLinks selectById(int id) {
+		return (FriendLinks) dao.selectOne("friendLinks.selectById", id);
+	}
+
+
+
+}

+ 63 - 0
src/main/java/com/enterprise/dao/impl/IndexImgDaoImpl.java

@@ -0,0 +1,63 @@
+package com.enterprise.dao.impl;
+
+import com.enterprise.dao.BaseDao;
+import com.enterprise.entity.IndexImg;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.dao.IndexImgDao;
+import org.springframework.stereotype.Repository;
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Created by Cesiumai on 2016/5/27.
+ */
+@Repository("indexImgDao")
+public class IndexImgDaoImpl implements IndexImgDao {
+    @Resource
+    private BaseDao dao;
+
+
+    public void setDao(BaseDao dao) {
+        this.dao = dao;
+    }
+
+    @Override
+    public int insert(IndexImg indexImg) {
+        return dao.insert("indeximg.insert",indexImg);
+    }
+
+    @Override
+    public int delete(IndexImg indexImg) {
+        return dao.delete("indeximg.delete",indexImg);
+    }
+
+    @Override
+    public int update(IndexImg indexImg) {
+        return dao.update("indeximg.update",indexImg);
+    }
+
+    @Override
+    public IndexImg selectOne(IndexImg indexImg) {
+        return (IndexImg) dao.selectOne("indeximg.selectOne",indexImg);
+    }
+
+    @Override
+    public PageModel selectPageList(IndexImg indexImg) {
+        return dao.selectPageList("indeximg.selectPageList","indeximg.selectPageCount",indexImg);
+    }
+
+    @Override
+    public List<IndexImg> selectList(IndexImg indexImg) {
+        return dao.selectList("indeximg.selectList",indexImg);
+    }
+
+    @Override
+    public int deleteById(int id) {
+        return dao.delete("indeximg.deleteById",id);
+    }
+
+    @Override
+    public IndexImg selectById(int id) {
+        return (IndexImg) dao.selectOne("indeximg.selectById",id);
+    }
+}

+ 63 - 0
src/main/java/com/enterprise/dao/impl/MessageDaoImpl.java

@@ -0,0 +1,63 @@
+package com.enterprise.dao.impl;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.enterprise.entity.Messages;
+import org.springframework.stereotype.Repository;
+
+import com.enterprise.dao.BaseDao;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.dao.MessageDao;
+@Repository("messageDao")
+public class MessageDaoImpl implements MessageDao{
+	@Resource
+	private BaseDao dao;
+	
+
+	public void setDao(BaseDao dao) {
+		this.dao = dao;
+	}
+
+	@Override
+	public int insert(Messages e) {
+		return dao.insert("message.insert", e);
+	}
+
+	@Override
+	public int delete(Messages e) {
+		return dao.delete("message.delete", e);
+	}
+
+	@Override
+	public int update(Messages e) {
+		return dao.update("message.update", e);
+	}
+
+	@Override
+	public Messages selectOne(Messages e) {
+		return (Messages) dao.selectOne("message.selectOne", e);
+	}
+
+	@Override
+	public PageModel selectPageList(Messages e) {
+		return dao.selectPageList("message.selectPageList", "message.selectPageCount", e);
+	}
+
+	@Override
+	public List<Messages> selectList(Messages e) {
+		return dao.selectList("message.selectList", e);
+	}
+
+	@Override
+	public int deleteById(int id) {
+		return dao.delete("message.deleteById",id);
+	}
+
+	@Override
+	public Messages selectById(int id) {
+		return (Messages) dao.selectOne("message.selectById",id);
+	}
+
+}

+ 66 - 0
src/main/java/com/enterprise/dao/impl/RecruitmentDaoImpl.java

@@ -0,0 +1,66 @@
+package com.enterprise.dao.impl;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.enterprise.entity.Recruitment;
+import org.springframework.stereotype.Repository;
+
+import com.enterprise.dao.BaseDao;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.dao.RecruitmentDao;
+
+
+@Repository("recruitmentDao")
+public class RecruitmentDaoImpl implements RecruitmentDao{
+
+	@Resource
+	private BaseDao dao;
+	
+	public void setDao(BaseDao dao) {
+		this.dao = dao;
+	}
+
+	@Override
+	public int insert(Recruitment e) {
+		return dao.insert("recruitment.insert", e);
+	}
+
+	@Override
+	public int delete(Recruitment e) {
+		return dao.delete("recruitment.delete", e);
+	}
+	
+
+	@Override
+	public int update(Recruitment e) {
+		return dao.update("recruitment.update", e);
+	}
+
+	@Override
+	public Recruitment selectOne(Recruitment e) {
+		return (Recruitment) dao.selectOne("recruitment.selectOne", e);
+	}
+
+	@Override
+	public PageModel selectPageList(Recruitment e) {
+		return dao.selectPageList("recruitment.selectPageList", "recruitment.selectPageCount", e);
+	}
+
+	@Override
+	public List<Recruitment> selectList(Recruitment e) {
+		return dao.selectList("recruitment.selectList", e);
+	}
+
+	@Override
+	public int deleteById(int id) {
+		return dao.delete("recruitment.deleteById",id);
+	}
+
+	@Override
+	public Recruitment selectById(int id) {
+		return (Recruitment) dao.selectOne("recruitment.selectById",id);
+	}
+
+}

+ 63 - 0
src/main/java/com/enterprise/dao/impl/ServiceDaoImpl.java

@@ -0,0 +1,63 @@
+package com.enterprise.dao.impl;
+
+import com.enterprise.dao.BaseDao;
+import com.enterprise.entity.Service;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.dao.ServiceDao;
+import org.springframework.stereotype.Repository;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Created by Cesiumai on 2016/6/14.
+ */
+@Repository("serviceDao")
+public class ServiceDaoImpl implements ServiceDao {
+    @Resource
+    private BaseDao dao;
+
+    public void setDao(BaseDao dao) {
+        this.dao = dao;
+    }
+
+    @Override
+    public int insert(Service service) {
+        return dao.insert("service.insert",service);
+    }
+
+    @Override
+    public int delete(Service service) {
+        return dao.delete("service.delete",service);
+    }
+
+    @Override
+    public int update(Service service) {
+        return dao.update("service.update",service);
+    }
+
+    @Override
+    public Service selectOne(Service service) {
+        return (Service) dao.selectOne("service.selectOne",service);
+    }
+
+    @Override
+    public PageModel selectPageList(Service service) {
+        return dao.selectPageList("service.selectPageList","service.selectPageCount",service);
+    }
+
+    @Override
+    public List<Service> selectList(Service service) {
+        return dao.selectList("service.selectList",service);
+    }
+
+    @Override
+    public int deleteById(int id) {
+        return dao.delete("service.deleteById",id);
+    }
+
+    @Override
+    public Service selectById(int id) {
+        return (Service) dao.selectOne("service.selectById",id);
+    }
+}

+ 67 - 0
src/main/java/com/enterprise/dao/impl/SystemSettingDaoImpl.java

@@ -0,0 +1,67 @@
+package com.enterprise.dao.impl;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.enterprise.entity.SystemSetting;
+import org.springframework.stereotype.Repository;
+
+import com.enterprise.dao.BaseDao;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.dao.SystemSettingDao;
+@Repository("systemSettingDao")
+public class SystemSettingDaoImpl implements SystemSettingDao{
+	@Resource
+	private BaseDao dao;
+	
+
+	public void setDao(BaseDao dao) {
+		this.dao = dao;
+	}
+
+	@Override
+	public int insert(SystemSetting e) {
+		return dao.insert("systemSetting.insert", e);
+	}
+
+	@Override
+	public int delete(SystemSetting e) {
+		return dao.delete("systemSetting.delete",e);
+	}
+
+	@Override
+	public int update(SystemSetting e) {
+		return dao.update("systemSetting.update", e);
+	}
+
+	@Override
+	public SystemSetting selectOne(SystemSetting e) {
+		return (SystemSetting) dao.selectOne("systemSetting.selectOne", e);
+	}
+
+	@Override
+	public PageModel selectPageList(SystemSetting e) {
+		return dao.selectPageList("systemSetting.selectPageList", "systemSetting.selectPageCount", e);
+	}
+
+	@Override
+	public List<SystemSetting> selectList(SystemSetting e) {
+		return dao.selectList("systemSetting.selectList", e);
+	}
+
+	@Override
+	public int deleteById(int id) {
+		return dao.delete("systemSetting.deleteById", id);
+	}
+
+	@Override
+	public SystemSetting selectById(int id) {
+		return (SystemSetting) dao.selectOne("systemSetting.selectById", id);
+	}
+
+	@Override
+	public String selectVersion() {
+		return (String) dao.selectOne("systemSetting.selectVersion");
+	}
+}

+ 68 - 0
src/main/java/com/enterprise/dao/impl/SystemlogDaoImpl.java

@@ -0,0 +1,68 @@
+package com.enterprise.dao.impl;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.enterprise.entity.Systemlog;
+import org.springframework.stereotype.Repository;
+
+import com.enterprise.dao.BaseDao;
+import com.enterprise.entity.page.PageModel;
+import com.enterprise.dao.SystemlogDao;
+@Repository("systemlogDao")
+public class SystemlogDaoImpl implements SystemlogDao{
+	@Resource
+	private BaseDao dao;
+	
+
+	public void setDao(BaseDao dao) {
+		this.dao = dao;
+	}
+
+	@Override
+	public int insert(Systemlog e) {
+		return dao.insert("systemlog.insert", e);
+	}
+
+	@Override
+	public int delete(Systemlog e) {
+		return dao.delete("systemlog.delete",e);
+	}
+
+	@Override
+	public int update(Systemlog e) {
+		return dao.update("systemlog.update", e);
+	}
+
+	@Override
+	public Systemlog selectOne(Systemlog e) {
+		return (Systemlog) dao.selectOne("systemlog.selectOne", e);
+	}
+
+	@Override
+	public PageModel selectPageList(Systemlog e) {
+		return dao.selectPageList("systemlog.selectPageList", "systemlog.selectPageCount", e);
+	}
+
+	@Override
+	public List<Systemlog> selectList(Systemlog e) {
+		return dao.selectList("systemlog.selectList", e);
+	}
+
+	@Override
+	public int deleteById(int id) {
+		return dao.delete("systemlog.deleteById", id);
+	}
+
+	@Override
+	public Systemlog selectById(int id) {
+		return (Systemlog) dao.selectOne("systemlog.selectById", id);
+	}
+
+	@Override
+	public Systemlog selectFirstOne(String account) {
+		return (Systemlog) dao.selectOne("systemlog.selectFirstOne", account);
+	}
+
+}

+ 28 - 0
src/main/java/com/enterprise/entity/About.java

@@ -0,0 +1,28 @@
+package com.enterprise.entity;
+
+import com.enterprise.entity.page.PageModel;
+
+import java.io.Serializable;
+
+/**
+ * 关于我们
+ * Created by Cesiumai on 2016/7/14.
+ */
+public class About extends PageModel implements Serializable{
+    private static final long serialVersionUID = 1L;
+    private String contentHtml;
+
+    @Override
+    public void clean() {
+        super.clean();
+        contentHtml=null;
+    }
+
+    public String getContentHtml() {
+        return contentHtml;
+    }
+
+    public void setContentHtml(String contentHtml) {
+        this.contentHtml = contentHtml;
+    }
+}

+ 130 - 0
src/main/java/com/enterprise/entity/Article.java

@@ -0,0 +1,130 @@
+package com.enterprise.entity;
+
+import com.enterprise.entity.page.PageModel;
+
+import java.io.Serializable;
+
+/**
+ * 文章实体类
+ * Created by Cesiumai on 2016/6/14.
+ */
+public class Article extends PageModel implements Serializable{
+    private static final long serialVersionUID = 1L;
+    private String title;       //文章标题
+    private String categoryId;  //文章所属类别Id
+    private String content;     //文章内容
+    private String keywords;    //文章关键字
+    private String createtime;  //创建时间
+    private String hit;         //点击次数
+    private String image;       //缩略图
+    private String description; //描述
+    private String status;      //状态
+    private String catename;    //分类名
+    private int orders; //排序
+
+    @Override
+    public void clean() {
+        super.clean();
+        title=null;
+        categoryId=null;
+        content=null;
+        keywords=null;
+        createtime=null;
+        hit=null;
+        image=null;
+        description = null;
+        status = null;
+        catename = null;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getCategoryId() {
+        return categoryId;
+    }
+
+    public void setCategoryId(String categoryId) {
+        this.categoryId = categoryId;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public String getKeywords() {
+        return keywords;
+    }
+
+    public void setKeywords(String keywords) {
+        this.keywords = keywords;
+    }
+
+    public String getCreatetime() {
+        return createtime;
+    }
+
+    public void setCreatetime(String createtime) {
+        this.createtime = createtime;
+    }
+
+    public String getHit() {
+        return hit;
+    }
+
+    public void setHit(String hit) {
+        this.hit = hit;
+    }
+
+
+    public String getImage() {
+        return image;
+    }
+
+    public void setImage(String image) {
+        this.image = image;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getCatename() {
+        return catename;
+    }
+
+    public void setCatename(String catename) {
+        this.catename = catename;
+    }
+
+    public int getOrders() {
+        return orders;
+    }
+
+    public void setOrders(int orders) {
+        this.orders = orders;
+    }
+
+
+}

+ 58 - 0
src/main/java/com/enterprise/entity/ArticleCategory.java

@@ -0,0 +1,58 @@
+package com.enterprise.entity;
+
+import com.enterprise.entity.page.PageModel;
+
+import java.io.Serializable;
+
+/**
+ * 文章分类实体类
+ * Created by Cesiumai on 2016/6/14.
+ */
+public class ArticleCategory extends PageModel implements Serializable{
+    private static final long serialVersionUID = 1L;
+    private String catename;        //分类名
+    private int orders;             //排序
+    private String code;            //编码
+    private String description;     //描述
+
+    @Override
+    public void clean() {
+        super.clean();
+        catename=null;
+        orders = 0;
+        code = null;
+        description=null;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getCatename() {
+        return catename;
+    }
+
+    public void setCatename(String catename) {
+        this.catename = catename;
+    }
+
+    public int getOrders() {
+        return orders;
+    }
+
+    public void setOrders(int orders) {
+        this.orders = orders;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+}

+ 80 - 0
src/main/java/com/enterprise/entity/BackUp.java

@@ -0,0 +1,80 @@
+package com.enterprise.entity;
+
+import com.enterprise.entity.page.PageModel;
+
+import java.io.Serializable;
+
+/**
+ * 备份实体类
+ * Created by Cesiumai on 2016/6/7.
+ */
+public class BackUp extends PageModel implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String tableName;   //数据表名
+    private String createtime;  //最后修改时间
+    private String size;        //文件大小
+    private String description; //描述
+    private String fileName;    //文件名字
+
+    @Override
+    public void clean() {
+        super.clean();
+        tableName = null;
+        createtime = null;
+        size = null;
+        description = null;
+        fileName = null;
+    }
+
+
+    public String getTableName() {
+        return tableName;
+    }
+
+    public void setTableName(String tableName) {
+        this.tableName = tableName;
+    }
+
+    public String getCreatetime() {
+        return createtime;
+    }
+
+    public void setCreatetime(String createtime) {
+        this.createtime = createtime;
+    }
+
+    public String getSize() {
+        return size;
+    }
+
+    public void setSize(String size) {
+        this.size = size;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getFileName() {
+        return fileName;
+    }
+
+    public void setFileName(String fileName) {
+        this.fileName = fileName;
+    }
+
+    public BackUp(String description, String tableName) {
+        this.description = description;
+        this.tableName = tableName;
+    }
+
+    public BackUp(String size, String fileName, String createtime) {
+        this.size = size;
+        this.fileName = fileName;
+        this.createtime = createtime;
+    }
+}

+ 28 - 0
src/main/java/com/enterprise/entity/Contact.java

@@ -0,0 +1,28 @@
+package com.enterprise.entity;
+
+import com.enterprise.entity.page.PageModel;
+
+import java.io.Serializable;
+
+/**
+ * 联系我们
+ * * Created by Cesiumai on 2016/7/8.
+ */
+public class Contact extends PageModel implements Serializable{
+    private static final long serialVersionUID = 1L;
+    private String contentHtml;
+
+    @Override
+    public void clean() {
+        super.clean();
+        contentHtml=null;
+    }
+
+    public String getContentHtml() {
+        return contentHtml;
+    }
+
+    public void setContentHtml(String contentHtml) {
+        this.contentHtml = contentHtml;
+    }
+}

+ 51 - 0
src/main/java/com/enterprise/entity/FriendLinks.java

@@ -0,0 +1,51 @@
+package com.enterprise.entity;
+
+import java.io.Serializable;
+
+import com.enterprise.entity.page.PageModel;
+
+/**
+ * 友情链接实体类
+ */
+public class FriendLinks extends PageModel implements Serializable{
+
+	private static final long serialVersionUID = 1L;
+	
+	private String name;		//链接名称
+	private String target;		//打开链接方式
+	private String url;			//链接地址
+	
+	public void clear(){
+		super.clean();
+		name = null;
+		target = null ;
+		url = null;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getTarget() {
+		return target;
+	}
+
+	public void setTarget(String target) {
+		this.target = target;
+	}
+
+	public String getUrl() {
+		return url;
+	}
+
+	public void setUrl(String url) {
+		this.url = url;
+	}
+	
+	
+
+}

+ 69 - 0
src/main/java/com/enterprise/entity/IndexImg.java

@@ -0,0 +1,69 @@
+package com.enterprise.entity;
+
+import com.enterprise.entity.page.PageModel;
+
+import java.io.Serializable;
+
+/**
+ * 门户滚动图片实体类
+ * Created by Cesiumai on 2016/5/27.
+ */
+public class IndexImg extends PageModel implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String title;       //图片标题
+    private String pictureUrl;  //图片地址
+    private String link;        //跳转链接
+    private int orders;      //排序
+    private String status;      //状态
+
+    @Override
+    public void clean() {
+        super.clean();
+        title = null;
+        pictureUrl = null;
+        link = null;
+        orders = 0;
+        status = null;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getPictureUrl() {
+        return pictureUrl;
+    }
+
+    public void setPictureUrl(String pictureUrl) {
+        this.pictureUrl = pictureUrl;
+    }
+
+    public String getLink() {
+        return link;
+    }
+
+    public void setLink(String link) {
+        this.link = link;
+    }
+
+    public int getOrders() {
+        return orders;
+    }
+
+    public void setOrders(int orders) {
+        this.orders = orders;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+}

+ 90 - 0
src/main/java/com/enterprise/entity/Menu.java

@@ -0,0 +1,90 @@
+package com.enterprise.entity;
+
+import java.io.Serializable;
+
+import com.enterprise.entity.page.PageModel;
+
+/**
+ * 后台菜单实体类
+ */
+public class Menu extends PageModel implements Serializable{
+
+
+	private static final long serialVersionUID = 1L;
+	private String pid;		//父id
+	private String url;		//链接
+	private String name;	//菜单名称
+	private int orderNum;	//排序
+	private String type;	//菜单类型
+	private String icon;	//菜单图标
+	
+	public void clear(){
+		super.clean();
+		pid = null;
+		url = null;
+		name=null;
+		orderNum=0;
+		type=null;
+		icon = null;
+	}
+
+	public String getPid() {
+		return pid;
+	}
+
+	public void setPid(String pid) {
+		this.pid = pid;
+	}
+
+	public String getUrl() {
+		return url;
+	}
+
+	public void setUrl(String url) {
+		this.url = url;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public int getOrderNum() {
+		return orderNum;
+	}
+
+	public void setOrderNum(int orderNum) {
+		this.orderNum = orderNum;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public String getIcon() {
+		return icon;
+	}
+
+	public void setIcon(String icon) {
+		this.icon = icon;
+	}
+
+	@Override
+	public String toString() {
+		return "Menu{" +
+				"pid='" + pid + '\'' +
+				", url='" + url + '\'' +
+				", name='" + name + '\'' +
+				", orderNum=" + orderNum +
+				", type='" + type + '\'' +
+				", icon='" + icon + '\'' +
+				'}';
+	}
+}

+ 109 - 0
src/main/java/com/enterprise/entity/MenuItem.java

@@ -0,0 +1,109 @@
+package com.enterprise.entity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 菜单遍历实体类
+ */
+public class MenuItem{
+	private String id;	//id
+	private String pid;	//父id
+	private String url;	//链接
+	private String name;//菜单名称
+	private String icon;//图标
+	private boolean open = false;
+	private boolean checked;
+	private List<MenuItem> children;	//子菜单集合
+	private MenuType type = MenuType.module;
+	
+	
+	
+	
+	public MenuItem(String name, List<MenuItem> children) {
+		super();
+		this.name = name;
+		this.children = children;
+	}
+
+	/**
+	 * 是否是按钮
+	 * @return
+     */
+	public boolean isButton(){
+		if(this.type!=null && this.type.equals(MenuType.button)){
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * 是否是根目录菜单
+	 * @return
+     */
+	public boolean isRootMenu(){
+		return "0".equals(pid);
+	}
+	public void addChildren(MenuItem item){
+		if(children ==null){
+			children = new ArrayList<MenuItem>();
+		}
+		children.add(item);
+	}
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public String getPid() {
+		return pid;
+	}
+	public void setPid(String pid) {
+		this.pid = pid;
+	}
+	public String getUrl() {
+		return url;
+	}
+	public void setUrl(String url) {
+		this.url = url;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public boolean isOpen() {
+		return open;
+	}
+	public void setOpen(boolean open) {
+		this.open = open;
+	}
+	public boolean isChecked() {
+		return checked;
+	}
+	public void setChecked(boolean checked) {
+		this.checked = checked;
+	}
+	public List<MenuItem> getChildren() {
+		return children;
+	}
+	public void setChildren(List<MenuItem> children) {
+		this.children = children;
+	}
+	public MenuType getType() {
+		return type;
+	}
+	public void setType(MenuType type) {
+		this.type = type;
+	}
+
+	public String getIcon() {
+		return icon;
+	}
+
+	public void setIcon(String icon) {
+		this.icon = icon;
+	}
+}

+ 12 - 0
src/main/java/com/enterprise/entity/MenuType.java

@@ -0,0 +1,12 @@
+package com.enterprise.entity;
+
+/**
+ * 菜单属性枚举类
+ */
+public enum MenuType {
+
+	module,
+	page,
+	button
+	
+}

+ 112 - 0
src/main/java/com/enterprise/entity/Messages.java

@@ -0,0 +1,112 @@
+package com.enterprise.entity;
+
+import java.io.Serializable;
+
+import com.enterprise.entity.page.PageModel;
+
+/**
+ * 留言实体类
+ * @author Cesiumai
+ *
+ */
+public class Messages extends PageModel implements Serializable{
+
+	private static final long serialVersionUID = 1L;
+
+	private String title;	//留言标题
+	private String name;	//留言人名字
+	private String gender;	//留言人性别 :女f、男m
+	private String tel;		//留言人电话
+	private String email;	//留言人email
+	private String content;	//留言内容
+	private String leavetime;//留言时间
+	private String vcode;	//验证码
+	
+	public void clean() {
+		super.clean();
+		title = null;
+		name = null;
+		gender = null;
+		tel = null;
+		email = null;
+		content = null;
+		leavetime = null;
+		vcode = null;
+	}
+
+
+	public String getTitle() {
+		return title;
+	}
+
+	public void setTitle(String title) {
+		this.title = title;
+	}
+
+	public String getGender() {
+		return gender;
+	}
+
+	public void setGender(String gender) {
+		this.gender = gender;
+	}
+
+	public String getTel() {
+		return tel;
+	}
+
+	public void setTel(String tel) {
+		this.tel = tel;
+	}
+
+	public String getEmail() {
+		return email;
+	}
+
+	public void setEmail(String email) {
+		this.email = email;
+	}
+
+	public String getContent() {
+		return content;
+	}
+
+	public void setContent(String content) {
+		this.content = content;
+	}
+
+	public static long getSerialversionuid() {
+		return serialVersionUID;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getLeavetime() {
+		return leavetime;
+	}
+
+	public void setLeavetime(String leavetime) {
+		this.leavetime = leavetime;
+	}
+
+	public String getVcode() {
+		return vcode;
+	}
+
+	public void setVcode(String vcode) {
+		this.vcode = vcode;
+	}
+
+
+	
+	
+	
+	
+	
+}

+ 118 - 0
src/main/java/com/enterprise/entity/Recruitment.java

@@ -0,0 +1,118 @@
+package com.enterprise.entity;
+
+import java.io.Serializable;
+
+import com.enterprise.entity.page.PageModel;
+/**
+ * 招聘实体类
+ * @author Cesiumai
+ *
+ */
+public class Recruitment extends PageModel implements Serializable{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+	private String position;		//职位
+	private String nature;			//工作性质
+	private int number;				//人数
+	private String education;		//学历
+	private int experience;		//工作经验
+	private String requirements;			//任职要求
+	private String createtime;		//创建时间
+	private String createAccount;	//创建的账户
+	private String status;			//状态
+	
+	@Override
+	public void clean() {
+		super.clean();
+		position = null;
+		nature  = null;
+		number = 0;
+		education = null;
+		experience = 0;
+		requirements = null;
+		createtime = null;
+		createAccount = null;
+		status = null;
+	}
+
+	public String getPosition() {
+		return position;
+	}
+
+	public void setPosition(String position) {
+		this.position = position;
+	}
+
+	public String getNature() {
+		return nature;
+	}
+
+	public void setNature(String nature) {
+		this.nature = nature;
+	}
+
+	public int getNumber() {
+		return number;
+	}
+
+	public void setNumber(int number) {
+		this.number = number;
+	}
+
+	public String getEducation() {
+		return education;
+	}
+
+	public void setEducation(String education) {
+		this.education = education;
+	}
+
+	
+
+	public int getExperience() {
+		return experience;
+	}
+
+	public void setExperience(int experience) {
+		this.experience = experience;
+	}
+
+	public String getrequirements() {
+		return requirements;
+	}
+
+	public void setrequirements(String requirements) {
+		this.requirements = requirements;
+	}
+
+	public String getCreatetime() {
+		return createtime;
+	}
+
+	public void setCreatetime(String createtime) {
+		this.createtime = createtime;
+	}
+
+	public String getCreateAccount() {
+		return createAccount;
+	}
+
+	public void setCreateAccount(String createAccount) {
+		this.createAccount = createAccount;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+	
+	
+	
+
+}

+ 57 - 0
src/main/java/com/enterprise/entity/Service.java

@@ -0,0 +1,57 @@
+package com.enterprise.entity;
+
+import com.enterprise.entity.page.PageModel;
+
+import java.io.Serializable;
+
+/**
+ * 服务领域实体类
+ * Created by Cesiumai on 2016/7/15.
+ */
+public class Service extends PageModel implements Serializable{
+    private String title;
+    private String contentHtml;
+    private String status;
+    private int orders;
+
+    @Override
+    public void clean() {
+        super.clean();
+        title=null;
+        contentHtml=null;
+        status=null;
+        orders=0;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getContentHtml() {
+        return contentHtml;
+    }
+
+    public void setContentHtml(String contentHtml) {
+        this.contentHtml = contentHtml;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public int getOrders() {
+        return orders;
+    }
+
+    public void setOrders(int orders) {
+        this.orders = orders;
+    }
+}

+ 339 - 0
src/main/java/com/enterprise/entity/SystemSetting.java

@@ -0,0 +1,339 @@
+package com.enterprise.entity;
+
+import java.io.Serializable;
+
+import com.enterprise.entity.page.PageModel;
+
+/**
+ * 系统设置 实体类
+ */
+public class SystemSetting extends PageModel implements Serializable {
+
+    private int id;
+    private String name;        //系统名称
+    private String www;            //门户地址
+    private String logo;        //门户logo
+    private String title;        //网站标题
+    private String description;    //seo描述
+    private String keywords;    //seo关键字
+    private String favicon;        //网页title图标
+    private String address;        //公司地址
+    private String tel;            //公司电话
+    private String email;        //公司邮箱
+    private String icp;            //网站备案号
+    private String isopen;        //是否开放网站
+    private String closeMsg;    //关闭网站时显示的信息
+    private String qq;            //公司QQ
+    private String qqService;    //QQ客服
+    private String statisticsCode;//站长统计代码
+    private String version;        //系统版本
+    private String imageRootPath;//图片根目录
+    private String fax;            //传真
+    private String phone;        //手机
+    private String serverInfo;    //服务器吗名称
+    private String serverVersion;//服务器版本
+    private String javaVersion;        //java版本
+    private String javaHome;        //java路径
+    private String osName;        //操作系统名称
+    private String osVersion;        //操作系统版本
+    private String mysqlVersion;    //mysql版本
+
+    @Override
+    public void clean() {
+        super.clean();
+        id = 0;
+        name = null;
+        www = null;
+        logo = null;
+        title = null;
+        description = null;
+        keywords = null;
+        favicon = null;
+        address = null;
+        tel = null;
+        email = null;
+        icp = null;
+        isopen = null;
+        closeMsg = null;
+        qq = null;
+        qqService = null;
+        statisticsCode = null;
+        version = null;
+        imageRootPath = null;
+        fax = null;
+        phone = null;
+        serverInfo = null;
+        serverVersion = null;
+        javaVersion = null;
+        javaHome = null;
+        osName = null;
+        osVersion = null;
+        mysqlVersion = null;
+    }
+
+
+    public int getId() {
+        return id;
+    }
+
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+
+    public String getName() {
+        return name;
+    }
+
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+
+    public String getWww() {
+        return www;
+    }
+
+
+    public void setWww(String www) {
+        this.www = www;
+    }
+
+
+    public String getLogo() {
+        return logo;
+    }
+
+
+    public void setLogo(String logo) {
+        this.logo = logo;
+    }
+
+
+    public String getTitle() {
+        return title;
+    }
+
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+
+    public String getDescription() {
+        return description;
+    }
+
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+
+    public String getKeywords() {
+        return keywords;
+    }
+
+
+    public void setKeywords(String keywords) {
+        this.keywords = keywords;
+    }
+
+
+    public String getFavicon() {
+        return favicon;
+    }
+
+
+    public void setFavicon(String favicon) {
+        this.favicon = favicon;
+    }
+
+
+    public String getAddress() {
+        return address;
+    }
+
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+
+    public String getTel() {
+        return tel;
+    }
+
+
+    public void setTel(String tel) {
+        this.tel = tel;
+    }
+
+
+    public String getEmail() {
+        return email;
+    }
+
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+
+    public String getIcp() {
+        return icp;
+    }
+
+
+    public void setIcp(String icp) {
+        this.icp = icp;
+    }
+
+
+    public String getIsopen() {
+        return isopen;
+    }
+
+
+    public void setIsopen(String isopen) {
+        this.isopen = isopen;
+    }
+
+
+    public String getCloseMsg() {
+        return closeMsg;
+    }
+
+
+    public void setCloseMsg(String closeMsg) {
+        this.closeMsg = closeMsg;
+    }
+
+
+    public String getQq() {
+        return qq;
+    }
+
+
+    public void setQq(String qq) {
+        this.qq = qq;
+    }
+
+
+    public String getQqService() {
+        return qqService;
+    }
+
+
+    public void setQqService(String qqService) {
+        this.qqService = qqService;
+    }
+
+
+    public String getStatisticsCode() {
+        return statisticsCode;
+    }
+
+
+    public void setStatisticsCode(String statisticsCode) {
+        this.statisticsCode = statisticsCode;
+    }
+
+
+    public String getVersion() {
+        return version;
+    }
+
+
+    public void setVersion(String version) {
+        this.version = version;
+    }
+
+
+    public String getImageRootPath() {
+        return imageRootPath;
+    }
+
+
+    public void setImageRootPath(String imageRootPath) {
+        this.imageRootPath = imageRootPath;
+    }
+
+
+    public String getFax() {
+        return fax;
+    }
+
+
+    public void setFax(String fax) {
+        this.fax = fax;
+    }
+
+
+    public String getPhone() {
+        return phone;
+    }
+
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getServerInfo() {
+        return serverInfo;
+    }
+
+    public void setServerInfo(String serverInfo) {
+        this.serverInfo = serverInfo;
+    }
+
+    public String getServerVersion() {
+        return serverVersion;
+    }
+
+    public void setServerVersion(String serverVersion) {
+        this.serverVersion = serverVersion;
+    }
+
+    public String getJavaVersion() {
+        return javaVersion;
+    }
+
+    public void setJavaVersion(String javaVersion) {
+        this.javaVersion = javaVersion;
+    }
+
+    public String getOsName() {
+        return osName;
+    }
+
+    public void setOsName(String osName) {
+        this.osName = osName;
+    }
+
+    public String getJavaHome() {
+        return javaHome;
+    }
+
+    public void setJavaHome(String javaHome) {
+        this.javaHome = javaHome;
+    }
+
+    public String getOsVersion() {
+        return osVersion;
+    }
+
+    public void setOsVersion(String osVersion) {
+        this.osVersion = osVersion;
+    }
+
+    public String getMysqlVersion() {
+        return mysqlVersion;
+    }
+
+    public void setMysqlVersion(String mysqlVersion) {
+        this.mysqlVersion = mysqlVersion;
+    }
+}

+ 103 - 0
src/main/java/com/enterprise/entity/Systemlog.java

@@ -0,0 +1,103 @@
+package com.enterprise.entity;
+
+import java.io.Serializable;
+
+import com.enterprise.entity.page.PageModel;
+
+/**
+ * 系统日志实体类
+ */
+public class Systemlog extends PageModel implements Serializable{
+
+	private static final long serialVersionUID = 1L;
+	
+	private String title;	//标题
+	private String content;	//内容
+	private String account;	//操作用户名
+	private int type;		//类型
+	private String loginIp;	//操作IP
+	private String logintime;//操作时间
+	private String loginArea;//操作地址
+	private String diffAreaLogin;//是否为异地
+	
+	public static final String systemlog_diffAreaLogin_y ="y";//是
+	public static final String systemlog_diffAreaLogin_n ="n";//否
+	
+	public void clear(){
+		super.clean();
+		title = null;
+		content = null;
+		account = null;
+		type=0;
+		loginIp = null;
+		loginArea = null;
+		diffAreaLogin = null;
+	}
+
+	public String getTitle() {
+		return title;
+	}
+
+	public void setTitle(String title) {
+		this.title = title;
+	}
+
+	public String getContent() {
+		return content;
+	}
+
+	public void setContent(String content) {
+		this.content = content;
+	}
+
+	public String getAccount() {
+		return account;
+	}
+
+	public void setAccount(String account) {
+		this.account = account;
+	}
+
+	public int getType() {
+		return type;
+	}
+
+	public void setType(int type) {
+		this.type = type;
+	}
+
+	public String getLoginIp() {
+		return loginIp;
+	}
+
+	public void setLoginIp(String loginIp) {
+		this.loginIp = loginIp;
+	}
+
+	public String getLogintime() {
+		return logintime;
+	}
+
+	public void setLogintime(String logintime) {
+		this.logintime = logintime;
+	}
+
+	public String getLoginArea() {
+		return loginArea;
+	}
+
+	public void setLoginArea(String loginArea) {
+		this.loginArea = loginArea;
+	}
+
+	public String getDiffAreaLogin() {
+		return diffAreaLogin;
+	}
+
+	public void setDiffAreaLogin(String diffAreaLogin) {
+		this.diffAreaLogin = diffAreaLogin;
+	}
+	
+	
+	
+}

+ 161 - 0
src/main/java/com/enterprise/entity/User.java

@@ -0,0 +1,161 @@
+package com.enterprise.entity;
+
+import java.io.Serializable;
+
+import com.enterprise.entity.page.PageModel;
+
+public class User extends PageModel implements Serializable {
+	private String username;	//用户名
+	private String password;	//密码
+	private String createtime;	//创建时间
+	private String updatetime;	//更新时间
+	private String createAccount;//创建用户
+	private String updateAccount;//更新用户
+	private String email;		//邮件
+	private String newpassword;	//新密码1   用于修改密码
+	private String newpassword2;//新密码2   用于修改密码
+	private String nickname;	//管理员名称
+	private String oldPassword;	//原始密码
+	private String manage_vcode;//验证码
+	private String portrait;	//头像
+
+
+	public void clear() {
+		username = null;
+		password = null;
+		createtime = null;
+		updatetime = null;
+		createAccount = null;
+		updateAccount = null;
+		email = null;
+		newpassword = null;
+		newpassword2 = null;
+		nickname = null;
+		oldPassword = null;
+		manage_vcode = null;
+		portrait = null;
+	}
+
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getPassword() {
+		return password;
+	}
+
+	public void setPassword(String password) {
+		this.password = password;
+	}
+
+	public String getCreatetime() {
+		return createtime;
+	}
+
+	public void setCreatetime(String createtime) {
+		this.createtime = createtime;
+	}
+
+	public String getUpdatetime() {
+		return updatetime;
+	}
+
+	public void setUpdatetime(String updatetime) {
+		this.updatetime = updatetime;
+	}
+
+	public String getCreateAccount() {
+		return createAccount;
+	}
+
+	public void setCreateAccount(String createAccount) {
+		this.createAccount = createAccount;
+	}
+
+	public String getUpdateAccount() {
+		return updateAccount;
+	}
+
+	public void setUpdateAccount(String updateAccount) {
+		this.updateAccount = updateAccount;
+	}
+
+
+	public String getEmail() {
+		return email;
+	}
+
+	public void setEmail(String email) {
+		this.email = email;
+	}
+
+	public String getNewpassword() {
+		return newpassword;
+	}
+
+	public void setNewpassword(String newpassword) {
+		this.newpassword = newpassword;
+	}
+
+	public String getNewpassword2() {
+		return newpassword2;
+	}
+
+	public void setNewpassword2(String newpassword2) {
+		this.newpassword2 = newpassword2;
+	}
+
+	public String getNickname() {
+		return nickname;
+	}
+
+	public void setNickname(String nickname) {
+		this.nickname = nickname;
+	}
+
+	public String getOldPassword() {
+		return oldPassword;
+	}
+
+	public void setOldPassword(String oldPassword) {
+		this.oldPassword = oldPassword;
+	}
+
+	public String getManage_vcode() {
+		return manage_vcode;
+	}
+
+	public void setManage_vcode(String manage_vcode) {
+		this.manage_vcode = manage_vcode;
+	}
+
+	public String getPortrait() {
+		return portrait;
+	}
+
+	public void setPortrait(String portrait) {
+		this.portrait = portrait;
+	}
+
+	@Override
+	public String toString() {
+		return "User{" +
+				", username='" + username + '\'' +
+				", password='" + password + '\'' +
+				", createtime='" + createtime + '\'' +
+				", updatetime='" + updatetime + '\'' +
+				", createAccount='" + createAccount + '\'' +
+				", updateAccount='" + updateAccount + '\'' +
+				", email='" + email + '\'' +
+				", newpassword='" + newpassword + '\'' +
+				", newpassword2='" + newpassword2 + '\'' +
+				", nickname='" + nickname + '\'' +
+				", oldPassword='" + oldPassword + '\'' +
+				'}';
+	}
+}

+ 6 - 0
src/main/java/com/enterprise/entity/page/CleanBean.java

@@ -0,0 +1,6 @@
+package com.enterprise.entity.page;
+
+public interface CleanBean {
+	void clean();
+
+}

+ 142 - 0
src/main/java/com/enterprise/entity/page/PageModel.java

@@ -0,0 +1,142 @@
+package com.enterprise.entity.page;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 分页模型   实体类继承该类
+ */
+public class PageModel implements CleanBean{
+	private int id;	//id
+	private int total;	//数据总数
+	private List list = new ArrayList();//查询到集合
+	private int pageSize = 20;	//每页数据  20
+	private int offset;			//页数
+	private int pagerSize;		// 总页数
+	protected String pagerUrl;	//分页utl
+	private int recordsTotal;	//记录总数
+	private int recordsFiltered;	//记录过滤
+
+	
+
+	public int getTotal() {
+		return total;
+	}
+
+
+
+	public void setTotal(int total) {
+		this.total = total;
+	}
+
+
+
+	public List getList() {
+		return list;
+	}
+
+
+
+	public void setList(List list) {
+		this.list = list;
+	}
+
+
+
+	public int getOffset() {
+		return offset;
+	}
+
+
+
+	public void setOffset(int offset) {
+		this.offset = offset;
+	}
+
+
+
+	public int getPagerSize() {
+		return pagerSize;
+	}
+
+
+
+	public void setPagerSize(int pagerSize) {
+		this.pagerSize = pagerSize;
+	}
+
+
+
+	public String getPagerUrl() {
+		return pagerUrl;
+	}
+
+
+
+	public void setPagerUrl(String pagerUrl) {
+		this.pagerUrl = pagerUrl;
+	}
+
+
+
+	public int getId() {
+		return id;
+	}
+
+
+
+	public void setId(int id) {
+		this.id = id;
+	}
+
+
+
+	public int getRecordsTotal() {
+		return recordsTotal;
+	}
+
+
+
+	public void setRecordsTotal(int recordsTotal) {
+		this.recordsTotal = recordsTotal;
+	}
+
+
+
+	public int getRecordsFiltered() {
+		return recordsFiltered;
+	}
+
+
+
+	public void setRecordsFiltered(int recordsFiltered) {
+		this.recordsFiltered = recordsFiltered;
+	}
+
+
+
+
+
+	public int getPageSize() {
+		return pageSize;
+	}
+
+
+
+	public void setPageSize(int pageSize) {
+		this.pageSize = pageSize;
+	}
+
+
+
+	@Override
+	public void clean() {
+		total = 0;
+		list = null;
+		offset = 0;
+		recordsTotal = 0;
+		id = 0;
+	}
+
+
+}

+ 83 - 0
src/main/java/com/enterprise/interceptor/LowerCaseSqlInterceptor.java

@@ -0,0 +1,83 @@
+package com.enterprise.interceptor;
+
+import java.lang.reflect.Field;
+import java.util.Properties;
+
+import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.mapping.BoundSql;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.SqlSource;
+import org.apache.ibatis.plugin.Interceptor;
+import org.apache.ibatis.plugin.Intercepts;
+import org.apache.ibatis.plugin.Invocation;
+import org.apache.ibatis.plugin.Plugin;
+import org.apache.ibatis.plugin.Signature;
+import org.apache.ibatis.session.ResultHandler;
+import org.apache.ibatis.session.RowBounds;
+import org.springframework.util.ReflectionUtils;
+
+/**
+ * 拦截器
+ * 为兼容一些数据库不支持区分大小写的sql语句     故把sql语句都换为小写
+ */
+@Intercepts({@Signature(type=Executor.class,method="query",args={MappedStatement.class,Object.class,RowBounds.class,ResultHandler.class})
+,@Signature(type=Executor.class ,method="update",args={MappedStatement.class,Object.class})})
+			
+public class LowerCaseSqlInterceptor implements Interceptor{
+
+	@Override
+	public Object intercept(Invocation invocation) throws Throwable {
+		String method = invocation.getMethod().getName();
+		MappedStatement ms = (MappedStatement) invocation.getArgs()[0];
+		SqlSource sqlSource = wrapperSqlSource(ms,ms.getSqlSource(),invocation.getArgs()[1],method);
+		Field sqlSourceField = MappedStatement.class.getDeclaredField("sqlSource");
+		ReflectionUtils.makeAccessible(sqlSourceField);
+		ReflectionUtils.setField(sqlSourceField, ms, sqlSource);
+		return invocation.proceed();
+	}
+
+	@Override
+	public Object plugin(Object target) {
+		if(target instanceof Executor){
+			return Plugin.wrap(target, this);
+		}else{
+			return target;
+		}
+	}
+
+	@Override
+	public void setProperties(Properties properties) {
+		
+	}
+	
+	public SqlSource wrapperSqlSource(MappedStatement ms,SqlSource sqlSource,Object parameter,String method){
+		BoundSql originBoundSql = sqlSource.getBoundSql(parameter);
+		String sql = originBoundSql.getSql();
+		SqlSource wrapper = new SqlSourceWrapper(sqlSource);
+		sql = wrapper.getBoundSql(parameter).getSql();
+		return wrapper;
+		
+	}
+	public static class SqlSourceWrapper implements SqlSource{
+		private SqlSource origin;
+		public SqlSourceWrapper(SqlSource origin){
+			this.origin = origin;
+		}
+		@Override
+		public BoundSql getBoundSql(Object parameterObject) {
+			 BoundSql boundSql = origin.getBoundSql(parameterObject);
+	         String sql = boundSql.getSql();
+	         Field sqlField = null;
+	         try{
+	        	 sqlField = BoundSql.class.getDeclaredField("sql");
+	         }catch(NoSuchFieldException e){
+	        	 e.printStackTrace();
+	         }	
+	         ReflectionUtils.makeAccessible(sqlField);
+	         ReflectionUtils.setField(sqlField, boundSql, sql.toLowerCase());
+	         return boundSql;
+		}
+		
+	}
+	
+}

+ 39 - 0
src/main/java/com/enterprise/listener/SystemListener.java

@@ -0,0 +1,39 @@
+package com.enterprise.listener;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+import com.enterprise.cache.FrontCache;
+import com.enterprise.core.SystemManage;
+/**
+ * 系统配置加载监听器
+ * @author Administrator
+ *
+ */
+public class SystemListener implements ServletContextListener{
+    @Override
+    public void contextDestroyed(ServletContextEvent arg0) {
+
+    }
+
+    @Override
+    public void contextInitialized(ServletContextEvent arg0) {
+        try{
+            SystemManage.getInstance();
+            WebApplicationContext app = WebApplicationContextUtils.getWebApplicationContext(arg0.getServletContext());
+            FrontCache frontCache = (FrontCache) app.getBean("frontCache");
+            frontCache.loadAllCache();
+        }catch( Throwable e){
+            e.printStackTrace();
+            try {
+                throw new Exception("系统初始化失败");
+            } catch (Exception e2) {
+                e2.printStackTrace();
+            }
+        }
+    }
+
+}

+ 9 - 0
src/main/java/com/enterprise/service/AboutService.java

@@ -0,0 +1,9 @@
+package com.enterprise.service;
+
+import com.enterprise.entity.About;
+
+/**
+ * Created by Cesiumai on 2016/7/8.
+ */
+public interface AboutService extends Services<About>{
+}

+ 9 - 0
src/main/java/com/enterprise/service/ArticleCategoryService.java

@@ -0,0 +1,9 @@
+package com.enterprise.service;
+
+import com.enterprise.entity.ArticleCategory;
+
+/**
+ * Created by Cesiumai on 2016/6/14.
+ */
+public interface ArticleCategoryService extends Services<ArticleCategory>{
+}

+ 11 - 0
src/main/java/com/enterprise/service/ArticleService.java

@@ -0,0 +1,11 @@
+package com.enterprise.service;
+
+import com.enterprise.entity.Article;
+
+/**
+ * Created by Cesiumai on 2016/6/14.
+ */
+public interface ArticleService extends Services<Article>{
+    Article selectPrevious(int id);
+    Article selectNext(int id);
+}

+ 9 - 0
src/main/java/com/enterprise/service/ContactService.java

@@ -0,0 +1,9 @@
+package com.enterprise.service;
+
+import com.enterprise.entity.Contact;
+
+/**
+ * Created by Cesiumai on 2016/7/8.
+ */
+public interface ContactService extends Services<Contact>{
+}

+ 9 - 0
src/main/java/com/enterprise/service/FriendLinksService.java

@@ -0,0 +1,9 @@
+package com.enterprise.service;
+
+import com.enterprise.entity.FriendLinks;
+
+public interface FriendLinksService extends Services<FriendLinks>{
+
+
+
+}

+ 9 - 0
src/main/java/com/enterprise/service/IndexImgService.java

@@ -0,0 +1,9 @@
+package com.enterprise.service;
+
+import com.enterprise.entity.IndexImg;
+
+/**
+ * Created by Cesiumai on 2016/5/27.
+ */
+public interface IndexImgService extends Services<IndexImg>{
+}

+ 38 - 0
src/main/java/com/enterprise/service/MenuService.java

@@ -0,0 +1,38 @@
+package com.enterprise.service;
+
+import com.enterprise.entity.Menu;
+import com.enterprise.entity.MenuItem;
+import com.enterprise.entity.User;
+import java.util.*;
+
+
+public interface MenuService extends Services<Menu>{
+
+	List<Menu> selectList(Map<String, String> param);
+	 int getCount(Menu menu);
+
+	/**
+	 * 根据菜单ID 删除菜单树勾选的借点,某个非叶子借点即便它下面的所有的叶子节点都呗勾选也不会被本次删除操作删除掉,
+	 * 这样做是为了避免只想删除某个非叶子节点下面的所有子节点
+	 * @param ids
+	 * @param deleteParent 是否级联删除父菜单,在父菜单下的所有子菜单全部勾选的情况下,1:级联删除,-1不级联
+	 * 	
+	 */
+	public void deletes(String ids,String deleteParent);
+	/**
+	 * 检查指定的菜单列表是否全部存在于另一个列表中
+	 * @param idArr 待删除的菜单列表
+	 * @param list	被检查的菜单列表
+	 * @return  全部存在返回true   
+	 */
+	 boolean checkAllContains(String[] idArr,List<Menu> list);
+	
+	 boolean addOrUpdate(String updateP,Menu menu,Menu itemMenu);
+	//加载根节点
+	 List<MenuItem> loadMenus(User u, String pid, String url);
+	 void loadChildrenByPid(MenuItem item, Menu menu,String url,User u);
+	 Menu selectById(String id);
+	
+	
+	
+}

+ 7 - 0
src/main/java/com/enterprise/service/MessageService.java

@@ -0,0 +1,7 @@
+package com.enterprise.service;
+
+import com.enterprise.entity.Messages;
+
+public interface MessageService extends Services<Messages>{
+
+}

+ 8 - 0
src/main/java/com/enterprise/service/RecruitmentService.java

@@ -0,0 +1,8 @@
+package com.enterprise.service;
+
+
+import com.enterprise.entity.Recruitment;
+
+public interface RecruitmentService extends Services<Recruitment>{
+
+}

+ 9 - 0
src/main/java/com/enterprise/service/ServiceService.java

@@ -0,0 +1,9 @@
+package com.enterprise.service;
+
+import com.enterprise.entity.Service;
+
+/**
+ * Created by Cesiumai on 2016/6/14.
+ */
+public interface ServiceService extends Services<Service>{
+}

+ 53 - 0
src/main/java/com/enterprise/service/Services.java

@@ -0,0 +1,53 @@
+package com.enterprise.service;
+
+import java.util.List;
+
+import com.enterprise.entity.page.PageModel;
+
+public interface Services <E extends PageModel>{
+    /**
+     * 添加
+     * @param e
+     * @return
+     */
+    public int insert(E e);
+    /**
+     * 删除
+     * @param e
+     * @return
+     */
+    public int delete(E e);
+    /**
+     * 批量删除
+     * @param ids
+     * @return
+     */
+    public int deletes(String[] ids);
+    /**
+     * 更新
+     * @param e
+     * @return
+     */
+    public int update(E e);
+    /**
+     * 查询一条记录
+     */
+    public E selectOne(E e);
+    /**
+     * 根据Id查询
+     * @param id
+     * @return
+     */
+    public E selectById(int id);
+    /**
+     * 分页查询
+     */
+    public PageModel selectPageList(E e);
+    /**
+     * 查询集合
+     * @param e
+     * @return
+     */
+    public List<E> selectList(E e);
+
+}

+ 9 - 0
src/main/java/com/enterprise/service/SystemSettingService.java

@@ -0,0 +1,9 @@
+package com.enterprise.service;
+
+
+import com.enterprise.entity.SystemSetting;
+
+public interface SystemSettingService extends Services<SystemSetting>{
+
+    String selectVersion();
+}

+ 13 - 0
src/main/java/com/enterprise/service/SystemlogService.java

@@ -0,0 +1,13 @@
+package com.enterprise.service;
+
+
+import com.enterprise.entity.Systemlog;
+
+public interface SystemlogService extends Services<Systemlog>{
+
+	/**
+	 * 根据账号查询最新的一次登陆记录
+	 * @return
+	 */
+	Systemlog selectFirstOne(String account);
+}

+ 8 - 0
src/main/java/com/enterprise/service/UserService.java

@@ -0,0 +1,8 @@
+package com.enterprise.service;
+
+import com.enterprise.entity.User;
+
+public interface UserService extends Services<User>{
+
+	public User login(User e);
+}

+ 21 - 0
src/main/java/com/enterprise/service/impl/AboutServiceImpl.java

@@ -0,0 +1,21 @@
+package com.enterprise.service.impl;
+
+import com.enterprise.dao.ServersManage;
+import com.enterprise.entity.About;
+import com.enterprise.service.AboutService;
+import com.enterprise.dao.AboutDao;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * Created by Cesiumai on 2016/7/8.
+ */
+@Service("aboutService")
+public class AboutServiceImpl extends ServersManage<About,AboutDao> implements AboutService{
+    @Override
+    @Resource(name="aboutDao")
+    public void setDao(AboutDao dao) {
+        this.dao=dao;
+    }
+}

+ 21 - 0
src/main/java/com/enterprise/service/impl/ArticleCategoryServiceImpl.java

@@ -0,0 +1,21 @@
+package com.enterprise.service.impl;
+
+import com.enterprise.dao.ArticleCategoryDao;
+import com.enterprise.dao.ServersManage;
+import com.enterprise.entity.ArticleCategory;
+import com.enterprise.service.ArticleCategoryService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * Created by Cesiumai on 2016/6/14.
+ */
+@Service("articleCategoryService")
+public class ArticleCategoryServiceImpl extends ServersManage<ArticleCategory,ArticleCategoryDao> implements ArticleCategoryService {
+    @Override
+    @Resource(name="articleCategoryDao")
+    public void setDao(ArticleCategoryDao dao) {
+        this.dao = dao;
+    }
+}

+ 32 - 0
src/main/java/com/enterprise/service/impl/ArticleServiceImpl.java

@@ -0,0 +1,32 @@
+package com.enterprise.service.impl;
+
+import com.enterprise.dao.ServersManage;
+import com.enterprise.entity.Article;
+import com.enterprise.service.ArticleService;
+import com.enterprise.dao.ArticleDao;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * Created by Cesiumai on 2016/6/14.
+ */
+@Service("articleService")
+public class ArticleServiceImpl extends ServersManage<Article,ArticleDao> implements ArticleService {
+
+    @Override
+    @Resource(name="articleDao")
+    public void setDao(ArticleDao dao) {
+        this.dao = dao;
+    }
+
+    @Override
+    public Article selectPrevious(int id) {
+        return dao.selectPrevious(id);
+    }
+
+    @Override
+    public Article selectNext(int id) {
+        return dao.selectNext(id);
+    }
+}

+ 21 - 0
src/main/java/com/enterprise/service/impl/ContactServiceImpl.java

@@ -0,0 +1,21 @@
+package com.enterprise.service.impl;
+
+import com.enterprise.dao.ServersManage;
+import com.enterprise.entity.Contact;
+import com.enterprise.service.ContactService;
+import com.enterprise.dao.ContactDao;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * Created by Cesiumai on 2016/7/8.
+ */
+@Service("contactService")
+public class ContactServiceImpl extends ServersManage<Contact,ContactDao> implements ContactService{
+    @Override
+    @Resource(name="contactDao")
+    public void setDao(ContactDao dao) {
+        this.dao=dao;
+    }
+}

+ 22 - 0
src/main/java/com/enterprise/service/impl/FriendLinksServiceImpl.java

@@ -0,0 +1,22 @@
+package com.enterprise.service.impl;
+
+import javax.annotation.Resource;
+
+import com.enterprise.entity.FriendLinks;
+import org.springframework.stereotype.Service;
+
+import com.enterprise.dao.ServersManage;
+import com.enterprise.service.FriendLinksService;
+import com.enterprise.dao.FriendLinksDao;
+@Service("friendLinksService")
+public class FriendLinksServiceImpl extends ServersManage<FriendLinks, FriendLinksDao> implements FriendLinksService{
+
+	@Resource(name="friendLinksDao")
+	@Override
+	public void setDao(FriendLinksDao dao) {
+		this.dao = dao;
+	}
+
+
+
+}

+ 21 - 0
src/main/java/com/enterprise/service/impl/IndexImgServiceImpl.java

@@ -0,0 +1,21 @@
+package com.enterprise.service.impl;
+
+import com.enterprise.dao.ServersManage;
+import com.enterprise.entity.IndexImg;
+import com.enterprise.service.IndexImgService;
+import com.enterprise.dao.IndexImgDao;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * Created by Cesiumai on 2016/5/27.
+ */
+@Service("indexImgService")
+public class IndexImgServiceImpl extends ServersManage<IndexImg,IndexImgDao> implements IndexImgService {
+    @Override
+    @Resource(name="indexImgDao")
+    public void setDao(IndexImgDao dao) {
+        this.dao = dao;
+    }
+}

+ 0 - 0
src/main/java/com/enterprise/service/impl/MenuServiceImpl.java


Some files were not shown because too many files changed in this diff