From 8fde2958bdc6f79c7c04c497c4c4fa246fe20d96 Mon Sep 17 00:00:00 2001
From: dupengyue <dupengyue@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期一, 06 三月 2017 10:44:06 +0800
Subject: [PATCH] 

---
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/CheckingMapper.java              |   17 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/PostMapper.xml                |   60 +
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Image.java                            |   33 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/PersonMapper.java                    |   17 
 VisitFace/face_discern/.classpath                                                                                |   36 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/calling/callingMapper.java                |   17 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/PlaceMapper.xml               |  242 ++++
 VisitFace/face_discern/src/main/resources/springmvc-context.xml                                                  |  109 +
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/calling/mapper/callingMapper.xml          |   84 +
 VisitFace/face_discern/src/main/webapp/WEB-INF/web.xml                                                           |    7 
 VisitFace/face_discern/src/main/resources/log4j.properties                                                       |   31 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/EmployeeFaceMapper.java              |   17 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitMapper.xml              |  153 ++
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/PostMapper.java                      |   17 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/checking/entity/Checking.java                     |   55 
 VisitFace/face_discern/.settings/org.eclipse.m2e.core.prefs                                                      |    4 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/VisitorTypeMapper.java               |   17 
 VisitFace/face_discern/.settings/org.eclipse.jdt.core.prefs                                                      |   13 
 VisitFace/face_discern/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml                             |    7 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/Visiting.java                        |   55 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/VisitFaceMapper.xml           |   71 +
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Post.java                             |   23 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Person.java                           |  175 ++
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitStatMapper.java                |    9 
 VisitFace/face_discern/.settings/org.eclipse.wst.jsdt.ui.superType.container                                     |    1 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/mapper/CheckingMapper.xml        |   93 +
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitMapper.java                    |   17 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitStatMapper.xml          |   76 +
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/CheckingCompanyMapper.java       |    9 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/VisitorTypeMapper.xml         |   84 +
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitingMapper.java                 |   17 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/DepartmentMapper.xml          |   73 +
 VisitFace/face_discern/src/main/resources/jdbc.properties                                                        |    5 
 VisitFace/face_discern/src/main/resources/ehcache.xml                                                            |   13 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/component/user/cotroller/FacilityManager.java     |   19 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/VisitFaceMapper.java                 |   17 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/CompanyMapper.java                   |   17 
 VisitFace/face_discern/src/main/webapp/index.jsp                                                                 |    5 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/ImageMapper.xml               |   40 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitMatterMapper.java              |   17 
 VisitFace/face_discern/.project                                                                                  |   43 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/CompanyMapper.xml             |   58 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitingMapper.xml           |  184 +++
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/checking/entity/CheckingCompany.java              |   23 
 VisitFace/face_discern/.settings/org.eclipse.wst.validation.prefs                                                |    2 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/mapper/CheckingCompanyMapper.xml |   31 
 VisitFace/face_discern/src/main/resources/spring-context.xml                                                     |  181 +++
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/EmployeeFace.java                     |   43 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/VisitMatter.java                     |   43 
 VisitFace/face_discern/pom.xml                                                                                   |  326 +++++
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Place.java                            |   43 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/DepartmentMapper.java                |   17 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/Visit.java                           |  105 +
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/ImageMapper.java                     |    9 
 VisitFace/face_discern/.settings/.jsdtscope                                                                      |   13 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/PersonMapper.xml              |  236 +++
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/VisitorType.java                      |   43 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/EmployeeFaceMapper.xml        |   82 +
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Department.java                       |   33 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/VisitStat.java                       |   33 
 VisitFace/face_discern/.settings/org.eclipse.wst.common.project.facet.core.xml                                   |    9 
 VisitFace/face_discern/.settings/org.eclipse.wst.jsdt.ui.superType.name                                          |    1 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/calling/entity/calling.java                       |   45 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Company.java                          |   23 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitMatterMapper.xml        |   84 +
 VisitFace/face_discern/.settings/org.eclipse.wst.common.component                                                |   10 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/VisitFace.java                        |   33 
 VisitFace/face_discern/src/main/resources/MyBaits-config.xml                                                     |    5 
 VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/PlaceMapper.java                     |   17 
 69 files changed, 3,547 insertions(+), 0 deletions(-)

diff --git a/VisitFace/face_discern/.classpath b/VisitFace/face_discern/.classpath
new file mode 100644
index 0000000..e099bc2
--- /dev/null
+++ b/VisitFace/face_discern/.classpath
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v7.0">
+		<attributes>
+			<attribute name="owner.project.facets" value="jst.web"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/VisitFace/face_discern/.project b/VisitFace/face_discern/.project
new file mode 100644
index 0000000..68345b7
--- /dev/null
+++ b/VisitFace/face_discern/.project
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>face_discern</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.springframework.ide.eclipse.core.springbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.springframework.ide.eclipse.core.springnature</nature>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/VisitFace/face_discern/.settings/.jsdtscope b/VisitFace/face_discern/.settings/.jsdtscope
new file mode 100644
index 0000000..c34a336
--- /dev/null
+++ b/VisitFace/face_discern/.settings/.jsdtscope
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="src/main/webapp"/>
+	<classpathentry kind="src" path="target/m2e-wtp/web-resources"/>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
+		<attributes>
+			<attribute name="hide" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
+	<classpathentry kind="output" path=""/>
+</classpath>
diff --git a/VisitFace/face_discern/.settings/org.eclipse.jdt.core.prefs b/VisitFace/face_discern/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..9c4403f
--- /dev/null
+++ b/VisitFace/face_discern/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,13 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/VisitFace/face_discern/.settings/org.eclipse.m2e.core.prefs b/VisitFace/face_discern/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..14b697b
--- /dev/null
+++ b/VisitFace/face_discern/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/VisitFace/face_discern/.settings/org.eclipse.wst.common.component b/VisitFace/face_discern/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..9e3c9a8
--- /dev/null
+++ b/VisitFace/face_discern/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="jf-console">
+        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
+        <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
+        <property name="java-output-path" value="/face_discern/target/classes"/>
+        <property name="context-root" value="jf-console"/>
+    </wb-module>
+</project-modules>
diff --git a/VisitFace/face_discern/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml b/VisitFace/face_discern/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
new file mode 100644
index 0000000..b01fdb7
--- /dev/null
+++ b/VisitFace/face_discern/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
@@ -0,0 +1,7 @@
+<root>
+  <facet id="jst.jaxrs">
+    <node name="libprov">
+      <attribute name="provider-id" value="jaxrs-no-op-library-provider"/>
+    </node>
+  </facet>
+</root>
diff --git a/VisitFace/face_discern/.settings/org.eclipse.wst.common.project.facet.core.xml b/VisitFace/face_discern/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..7121ebb
--- /dev/null
+++ b/VisitFace/face_discern/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <runtime name="Apache Tomcat v7.0"/>
+  <fixed facet="wst.jsdt.web"/>
+  <installed facet="jst.web" version="2.5"/>
+  <installed facet="wst.jsdt.web" version="1.0"/>
+  <installed facet="jst.jaxrs" version="2.0"/>
+  <installed facet="java" version="1.7"/>
+</faceted-project>
diff --git a/VisitFace/face_discern/.settings/org.eclipse.wst.jsdt.ui.superType.container b/VisitFace/face_discern/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 0000000..3bd5d0a
--- /dev/null
+++ b/VisitFace/face_discern/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/VisitFace/face_discern/.settings/org.eclipse.wst.jsdt.ui.superType.name b/VisitFace/face_discern/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 0000000..05bd71b
--- /dev/null
+++ b/VisitFace/face_discern/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window
\ No newline at end of file
diff --git a/VisitFace/face_discern/.settings/org.eclipse.wst.validation.prefs b/VisitFace/face_discern/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..6f1cba6
--- /dev/null
+++ b/VisitFace/face_discern/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,2 @@
+disabled=06target
+eclipse.preferences.version=1
diff --git a/VisitFace/face_discern/pom.xml b/VisitFace/face_discern/pom.xml
new file mode 100644
index 0000000..2dbdfed
--- /dev/null
+++ b/VisitFace/face_discern/pom.xml
@@ -0,0 +1,326 @@
+<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>cn.com.basic</groupId>
+  <artifactId>face_discern</artifactId>
+  <packaging>war</packaging>
+  <version>0.0.1-SNAPSHOT</version>
+  <name>face_discern Maven Webapp</name>
+  <url>http://maven.apache.org</url>
+  <dependencies>
+    <!-- spring鐩稿叧 -->
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-web</artifactId>
+      <version>4.0.0.RELEASE</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-aspects</artifactId>
+      <version>4.0.0.RELEASE</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId> 
+      <artifactId>spring-webmvc</artifactId>
+      <version>4.0.0.RELEASE</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-context-support</artifactId>
+      <version>4.0.0.RELEASE</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-mock</artifactId>
+      <version>2.0.8</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-tx</artifactId>
+      <version>4.0.0.RELEASE</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-jdbc</artifactId>
+      <version>4.0.0.RELEASE</version>
+    </dependency>
+    <!-- aspectj -->
+    <dependency>
+      <groupId>org.aspectj</groupId>
+      <artifactId>aspectjweaver</artifactId>
+      <version>1.7.4</version>
+    </dependency>
+    <!-- mybaits -->
+    <dependency>
+      <groupId>org.mybatis</groupId>
+      <artifactId>mybatis</artifactId>
+      <version>3.2.8</version>
+    </dependency>
+    <dependency>
+      <groupId>org.mybatis</groupId>
+      <artifactId>mybatis-spring</artifactId>
+      <version>1.2.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.mybatis.caches</groupId>
+      <artifactId>mybatis-ehcache</artifactId>
+      <version>1.0.2</version>
+    </dependency>
+    <!-- JDBC椹卞姩 -->
+    <dependency>
+      <groupId>mysql</groupId>
+      <artifactId>mysql-connector-java</artifactId>
+      <version>5.1.32</version>
+    </dependency>
+    <!-- <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> 
+      <version>10.2.0.5</version> </dependency> -->
+    <!-- 杩炴帴姹� -->
+    <dependency>
+      <groupId>com.alibaba</groupId>
+      <artifactId>druid</artifactId>
+      <version>1.0.11</version>
+    </dependency>
+    <!-- 渚濊禆鐨勬祴璇曠被搴� -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.12</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-test</artifactId>
+      <version>4.0.0.RELEASE</version>
+    </dependency>
+    <!-- 鏃ュ織搴� -->
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+      <version>1.7.7</version>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <version>1.7.7</version>
+    </dependency>
+    <!-- 渚濊禆鐨刉EB绫诲簱 -->
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>javax.servlet-api</artifactId>
+      <version>3.1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>jstl</artifactId>
+      <version>1.2</version>
+    </dependency>
+    <!-- 渚濊禆鐨勫叕鍏辩被搴� -->
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.6</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-collections4</artifactId>
+      <version>4.0</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-dbcp</groupId>
+      <artifactId>commons-dbcp</artifactId>
+      <version>1.4</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-pool</groupId>
+      <artifactId>commons-pool</artifactId>
+      <version>1.6</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>2.4</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-fileupload</groupId>
+      <artifactId>commons-fileupload</artifactId>
+      <version>1.2.2</version>
+    </dependency>
+ 
+    <!-- shiro鏉冮檺鎺у埗 -->
+    <dependency>
+      <groupId>org.apache.shiro</groupId>
+      <artifactId>shiro-core</artifactId>
+      <version>1.2.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.shiro</groupId>
+      <artifactId>shiro-web</artifactId>
+      <version>1.2.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.shiro</groupId>
+      <artifactId>shiro-spring</artifactId>
+      <version>1.2.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.shiro</groupId>
+      <artifactId>shiro-ehcache</artifactId>
+      <version>1.2.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.shiro</groupId>
+      <artifactId>shiro-aspectj</artifactId>
+      <version>1.2.2</version>
+    </dependency>
+ 
+    <!-- 缂撳瓨 -->
+    <dependency>
+      <groupId>net.sf.ehcache</groupId>
+      <artifactId>ehcache</artifactId>
+      <version>2.8.1</version>
+    </dependency>
+    <!-- json搴� -->
+    <dependency>
+      <groupId>com.alibaba</groupId>
+      <artifactId>fastjson</artifactId>
+      <version>1.2.12</version>
+    </dependency>
+    <!-- 鍒嗛〉 -->
+    <dependency>
+      <groupId>com.github.pagehelper</groupId>
+      <artifactId>pagehelper</artifactId>
+      <version>3.7.5</version>
+    </dependency>
+    <!-- poi xml -->
+    <dependency>
+      <groupId>org.apache.poi</groupId>
+      <artifactId>poi</artifactId>
+      <version>3.8</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.poi</groupId>
+      <artifactId>poi-ooxml</artifactId>
+      <version>3.8</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.poi</groupId>
+      <artifactId>poi-ooxml-schemas</artifactId>
+      <version>3.8</version>
+    </dependency>
+    <dependency>
+      <groupId>xmlbeans</groupId>
+      <artifactId>xmlbeans</artifactId>
+      <version>2.3.0</version>
+      <type>pom</type>
+    </dependency>
+ 
+ 
+    <!-- 妯℃澘搴� -->
+    <dependency>
+      <groupId>org.freemarker</groupId>
+      <artifactId>freemarker</artifactId>
+      <version>2.3.21</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.velocity</groupId>
+      <artifactId>velocity</artifactId>
+      <version>1.7</version>
+    </dependency>
+    <!-- webservice jersey restful -->
+    <dependency>
+      <groupId>javax.ws.rs</groupId>
+      <artifactId>javax.ws.rs-api</artifactId>
+      <version>2.0.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.core</groupId>
+      <artifactId>jersey-common</artifactId>
+      <version>2.19</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.jersey</groupId>
+      <artifactId>jersey-core</artifactId>
+      <version>1.19</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.jersey</groupId>
+      <artifactId>jersey-client</artifactId>
+      <version>1.19</version>
+    </dependency>
+    <!-- java mail -->
+    <dependency>
+      <groupId>javax.mail</groupId>
+      <artifactId>mail</artifactId>
+      <version>1.5.0-b01</version>
+    </dependency>
+    <!-- FasterXML/jackson -->
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+      <version>2.5.4</version>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-annotations</artifactId>
+      <version>2.5.4</version>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+      <version>2.5.4</version>
+    </dependency>
+    <!-- oss sdk -->
+    <dependency>
+      <groupId>com.aliyun.oss</groupId>
+      <artifactId>aliyun-sdk-oss</artifactId>
+      <version>2.2.3</version>
+    </dependency>
+ 
+    <!-- quartz -->
+    <dependency>
+      <groupId>org.quartz-scheduler</groupId>
+      <artifactId>quartz</artifactId>
+      <version>2.2.1</version>
+    </dependency>
+    
+    
+<!--     jsp -->
+    	
+<!-- 	<dependency> -->
+<!-- 		  <groupId>javax.servlet</groupId> -->
+<!-- 		  <artifactId>servlet-api</artifactId> -->
+<!-- 		  <version>2.5</version> -->
+<!-- 		  <scope>provided</scope>娉ㄦ剰锛侊紒锛侊紒 -->
+<!-- 	</dependency>  -->
+<!-- 	<dependency> -->
+<!-- 		<groupId>javax.servlet.jsp</groupId> -->
+<!-- 	    <artifactId>jsp-api</artifactId> -->
+<!-- 	    <version>2.1.3-b06</version> -->
+<!-- 	    <scope>provided</scope>娉ㄦ剰锛侊紒锛侊紒 -->
+<!-- 	</dependency> -->
+    
+ 
+  </dependencies>
+  <build>
+    <finalName>jf-console</finalName>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.3.2</version>
+        <configuration>
+          <source>1.7</source>
+          <target>1.7</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
+ 
+  
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/calling/callingMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/calling/callingMapper.java
new file mode 100644
index 0000000..568c773
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/calling/callingMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.calling;
+
+import cn.com.basic.face.discern.calling.entity.calling;
+
+public interface callingMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(calling record);
+
+    int insertSelective(calling record);
+
+    calling selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(calling record);
+
+    int updateByPrimaryKey(calling record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/calling/mapper/callingMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/calling/mapper/callingMapper.xml
new file mode 100644
index 0000000..c8043ad
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/calling/mapper/callingMapper.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.calling.callingMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.calling.entity.calling" >
+    <id column="ID" property="id" jdbcType="INTEGER" />
+    <result column="callDT" property="calldt" jdbcType="TIMESTAMP" />
+    <result column="callerPersonID" property="callerpersonid" jdbcType="INTEGER" />
+    <result column="calleePersonID" property="calleepersonid" jdbcType="INTEGER" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    ID, callDT, callerPersonID, calleePersonID
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from t_calling
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from t_calling
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.calling.entity.calling" >
+    <selectKey resultType="java.lang.Integer" keyProperty="id" order="BEFORE" >
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_calling (ID, callDT, callerPersonID, 
+      calleePersonID)
+    values (#{id,jdbcType=INTEGER}, #{calldt,jdbcType=TIMESTAMP}, #{callerpersonid,jdbcType=INTEGER}, 
+      #{calleepersonid,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.calling.entity.calling" >
+    <selectKey resultType="java.lang.Integer" keyProperty="id" order="BEFORE" >
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_calling
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      ID,
+      <if test="calldt != null" >
+        callDT,
+      </if>
+      <if test="callerpersonid != null" >
+        callerPersonID,
+      </if>
+      <if test="calleepersonid != null" >
+        calleePersonID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      #{id,jdbcType=INTEGER},
+      <if test="calldt != null" >
+        #{calldt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="callerpersonid != null" >
+        #{callerpersonid,jdbcType=INTEGER},
+      </if>
+      <if test="calleepersonid != null" >
+        #{calleepersonid,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.calling.entity.calling" >
+    update t_calling
+    <set >
+      <if test="calldt != null" >
+        callDT = #{calldt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="callerpersonid != null" >
+        callerPersonID = #{callerpersonid,jdbcType=INTEGER},
+      </if>
+      <if test="calleepersonid != null" >
+        calleePersonID = #{calleepersonid,jdbcType=INTEGER},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.calling.entity.calling" >
+    update t_calling
+    set callDT = #{calldt,jdbcType=TIMESTAMP},
+      callerPersonID = #{callerpersonid,jdbcType=INTEGER},
+      calleePersonID = #{calleepersonid,jdbcType=INTEGER}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/CheckingCompanyMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/CheckingCompanyMapper.java
new file mode 100644
index 0000000..ed7ecea
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/CheckingCompanyMapper.java
@@ -0,0 +1,9 @@
+package cn.com.basic.face.discern.baseapi.checking;
+
+import cn.com.basic.face.discern.checking.entity.CheckingCompany;
+
+public interface CheckingCompanyMapper {
+    int insert(CheckingCompany record);
+
+    int insertSelective(CheckingCompany record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/CheckingMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/CheckingMapper.java
new file mode 100644
index 0000000..caef6ab
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/CheckingMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.checking;
+
+import cn.com.basic.face.discern.checking.entity.Checking;
+
+public interface CheckingMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(Checking record);
+
+    int insertSelective(Checking record);
+
+    Checking selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(Checking record);
+
+    int updateByPrimaryKey(Checking record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/mapper/CheckingCompanyMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/mapper/CheckingCompanyMapper.xml
new file mode 100644
index 0000000..c052b2b
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/mapper/CheckingCompanyMapper.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.checking.CheckingCompanyMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.checking.entity.CheckingCompany" >
+    <result column="personID" property="personid" jdbcType="INTEGER" />
+    <result column="companyID" property="companyid" jdbcType="INTEGER" />
+  </resultMap>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.checking.entity.CheckingCompany" >
+    insert into t_checkingcompany (personID, companyID)
+    values (#{personid,jdbcType=INTEGER}, #{companyid,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.checking.entity.CheckingCompany" >
+    insert into t_checkingcompany
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="personid != null" >
+        personID,
+      </if>
+      <if test="companyid != null" >
+        companyID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="personid != null" >
+        #{personid,jdbcType=INTEGER},
+      </if>
+      <if test="companyid != null" >
+        #{companyid,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/mapper/CheckingMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/mapper/CheckingMapper.xml
new file mode 100644
index 0000000..74bbda6
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/checking/mapper/CheckingMapper.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.checking.CheckingMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.checking.entity.Checking" >
+    <id column="ID" property="id" jdbcType="INTEGER" />
+    <result column="statusID" property="statusid" jdbcType="TINYINT" />
+    <result column="statusDT" property="statusdt" jdbcType="TIMESTAMP" />
+    <result column="personID" property="personid" jdbcType="INTEGER" />
+    <result column="placeID" property="placeid" jdbcType="INTEGER" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    ID, statusID, statusDT, personID, placeID
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from t_checking
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from t_checking
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.checking.entity.Checking" >
+    insert into t_checking (ID, statusID, statusDT, 
+      personID, placeID)
+    values (#{id,jdbcType=INTEGER}, #{statusid,jdbcType=TINYINT}, #{statusdt,jdbcType=TIMESTAMP}, 
+      #{personid,jdbcType=INTEGER}, #{placeid,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.checking.entity.Checking" >
+    insert into t_checking
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        ID,
+      </if>
+      <if test="statusid != null" >
+        statusID,
+      </if>
+      <if test="statusdt != null" >
+        statusDT,
+      </if>
+      <if test="personid != null" >
+        personID,
+      </if>
+      <if test="placeid != null" >
+        placeID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        #{id,jdbcType=INTEGER},
+      </if>
+      <if test="statusid != null" >
+        #{statusid,jdbcType=TINYINT},
+      </if>
+      <if test="statusdt != null" >
+        #{statusdt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="personid != null" >
+        #{personid,jdbcType=INTEGER},
+      </if>
+      <if test="placeid != null" >
+        #{placeid,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.checking.entity.Checking" >
+    update t_checking
+    <set >
+      <if test="statusid != null" >
+        statusID = #{statusid,jdbcType=TINYINT},
+      </if>
+      <if test="statusdt != null" >
+        statusDT = #{statusdt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="personid != null" >
+        personID = #{personid,jdbcType=INTEGER},
+      </if>
+      <if test="placeid != null" >
+        placeID = #{placeid,jdbcType=INTEGER},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.checking.entity.Checking" >
+    update t_checking
+    set statusID = #{statusid,jdbcType=TINYINT},
+      statusDT = #{statusdt,jdbcType=TIMESTAMP},
+      personID = #{personid,jdbcType=INTEGER},
+      placeID = #{placeid,jdbcType=INTEGER}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/CompanyMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/CompanyMapper.java
new file mode 100644
index 0000000..8beee07
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/CompanyMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.user;
+
+import cn.com.basic.face.discern.user.entity.Company;
+
+public interface CompanyMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(Company record);
+
+    int insertSelective(Company record);
+
+    Company selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(Company record);
+
+    int updateByPrimaryKey(Company record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/DepartmentMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/DepartmentMapper.java
new file mode 100644
index 0000000..a012936
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/DepartmentMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.user;
+
+import cn.com.basic.face.discern.user.entity.Department;
+
+public interface DepartmentMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(Department record);
+
+    int insertSelective(Department record);
+
+    Department selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(Department record);
+
+    int updateByPrimaryKey(Department record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/EmployeeFaceMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/EmployeeFaceMapper.java
new file mode 100644
index 0000000..fab3a0e
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/EmployeeFaceMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.user;
+
+import cn.com.basic.face.discern.user.entity.EmployeeFace;
+
+public interface EmployeeFaceMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(EmployeeFace record);
+
+    int insertSelective(EmployeeFace record);
+
+    EmployeeFace selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(EmployeeFace record);
+
+    int updateByPrimaryKey(EmployeeFace record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/ImageMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/ImageMapper.java
new file mode 100644
index 0000000..572237e
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/ImageMapper.java
@@ -0,0 +1,9 @@
+package cn.com.basic.face.discern.baseapi.user;
+
+import cn.com.basic.face.discern.user.entity.Image;
+
+public interface ImageMapper {
+    int insert(Image record);
+
+    int insertSelective(Image record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/PersonMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/PersonMapper.java
new file mode 100644
index 0000000..3730b8a
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/PersonMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.user;
+
+import cn.com.basic.face.discern.user.entity.Person;
+
+public interface PersonMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(Person record);
+
+    int insertSelective(Person record);
+
+    Person selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(Person record);
+
+    int updateByPrimaryKey(Person record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/PlaceMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/PlaceMapper.java
new file mode 100644
index 0000000..e243c37
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/PlaceMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.user;
+
+import cn.com.basic.face.discern.user.entity.Place;
+
+public interface PlaceMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(Place record);
+
+    int insertSelective(Place record);
+
+    Place selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(Place record);
+
+    int updateByPrimaryKey(Place record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/PostMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/PostMapper.java
new file mode 100644
index 0000000..3bd1724
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/PostMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.user;
+
+import cn.com.basic.face.discern.user.entity.Post;
+
+public interface PostMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(Post record);
+
+    int insertSelective(Post record);
+
+    Post selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(Post record);
+
+    int updateByPrimaryKey(Post record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/VisitFaceMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/VisitFaceMapper.java
new file mode 100644
index 0000000..e135a2e
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/VisitFaceMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.user;
+
+import cn.com.basic.face.discern.user.entity.VisitFace;
+
+public interface VisitFaceMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(VisitFace record);
+
+    int insertSelective(VisitFace record);
+
+    VisitFace selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(VisitFace record);
+
+    int updateByPrimaryKey(VisitFace record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/VisitorTypeMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/VisitorTypeMapper.java
new file mode 100644
index 0000000..696061c
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/VisitorTypeMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.user;
+
+import cn.com.basic.face.discern.user.entity.VisitorType;
+
+public interface VisitorTypeMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(VisitorType record);
+
+    int insertSelective(VisitorType record);
+
+    VisitorType selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(VisitorType record);
+
+    int updateByPrimaryKey(VisitorType record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/CompanyMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/CompanyMapper.xml
new file mode 100644
index 0000000..b59275f
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/CompanyMapper.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.user.CompanyMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.user.entity.Company" >
+    <id column="ID" property="id" jdbcType="INTEGER" />
+    <result column="NAME" property="name" jdbcType="VARCHAR" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    ID, NAME
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from t_company
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from t_company
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.user.entity.Company" >
+    insert into t_company (ID, NAME)
+    values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.user.entity.Company" >
+    insert into t_company
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        ID,
+      </if>
+      <if test="name != null" >
+        NAME,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        #{id,jdbcType=INTEGER},
+      </if>
+      <if test="name != null" >
+        #{name,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.user.entity.Company" >
+    update t_company
+    <set >
+      <if test="name != null" >
+        NAME = #{name,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.user.entity.Company" >
+    update t_company
+    set NAME = #{name,jdbcType=VARCHAR}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/DepartmentMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/DepartmentMapper.xml
new file mode 100644
index 0000000..6dfb6ff
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/DepartmentMapper.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.user.DepartmentMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.user.entity.Department" >
+    <id column="ID" property="id" jdbcType="INTEGER" />
+    <result column="label" property="label" jdbcType="VARCHAR" />
+    <result column="labelSpell" property="labelspell" jdbcType="CHAR" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    ID, label, labelSpell
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from t_department
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from t_department
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.user.entity.Department" >
+    <selectKey resultType="java.lang.Integer" keyProperty="id" order="BEFORE" >
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_department (ID, label, labelSpell
+      )
+    values (#{id,jdbcType=INTEGER}, #{label,jdbcType=VARCHAR}, #{labelspell,jdbcType=CHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.user.entity.Department" >
+    <selectKey resultType="java.lang.Integer" keyProperty="id" order="BEFORE" >
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_department
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      ID,
+      <if test="label != null" >
+        label,
+      </if>
+      <if test="labelspell != null" >
+        labelSpell,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      #{id,jdbcType=INTEGER},
+      <if test="label != null" >
+        #{label,jdbcType=VARCHAR},
+      </if>
+      <if test="labelspell != null" >
+        #{labelspell,jdbcType=CHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.user.entity.Department" >
+    update t_department
+    <set >
+      <if test="label != null" >
+        label = #{label,jdbcType=VARCHAR},
+      </if>
+      <if test="labelspell != null" >
+        labelSpell = #{labelspell,jdbcType=CHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.user.entity.Department" >
+    update t_department
+    set label = #{label,jdbcType=VARCHAR},
+      labelSpell = #{labelspell,jdbcType=CHAR}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/EmployeeFaceMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/EmployeeFaceMapper.xml
new file mode 100644
index 0000000..9960c48
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/EmployeeFaceMapper.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.user.EmployeeFaceMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.user.entity.EmployeeFace" >
+    <id column="ID" property="id" jdbcType="INTEGER" />
+    <result column="registerCompanyID" property="registercompanyid" jdbcType="INTEGER" />
+    <result column="personID" property="personid" jdbcType="INTEGER" />
+    <result column="imagePath" property="imagepath" jdbcType="VARCHAR" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    ID, registerCompanyID, personID, imagePath
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from t_employeeface
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from t_employeeface
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.user.entity.EmployeeFace" >
+    insert into t_employeeface (ID, registerCompanyID, personID, 
+      imagePath)
+    values (#{id,jdbcType=INTEGER}, #{registercompanyid,jdbcType=INTEGER}, #{personid,jdbcType=INTEGER}, 
+      #{imagepath,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.user.entity.EmployeeFace" >
+    insert into t_employeeface
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        ID,
+      </if>
+      <if test="registercompanyid != null" >
+        registerCompanyID,
+      </if>
+      <if test="personid != null" >
+        personID,
+      </if>
+      <if test="imagepath != null" >
+        imagePath,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        #{id,jdbcType=INTEGER},
+      </if>
+      <if test="registercompanyid != null" >
+        #{registercompanyid,jdbcType=INTEGER},
+      </if>
+      <if test="personid != null" >
+        #{personid,jdbcType=INTEGER},
+      </if>
+      <if test="imagepath != null" >
+        #{imagepath,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.user.entity.EmployeeFace" >
+    update t_employeeface
+    <set >
+      <if test="registercompanyid != null" >
+        registerCompanyID = #{registercompanyid,jdbcType=INTEGER},
+      </if>
+      <if test="personid != null" >
+        personID = #{personid,jdbcType=INTEGER},
+      </if>
+      <if test="imagepath != null" >
+        imagePath = #{imagepath,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.user.entity.EmployeeFace" >
+    update t_employeeface
+    set registerCompanyID = #{registercompanyid,jdbcType=INTEGER},
+      personID = #{personid,jdbcType=INTEGER},
+      imagePath = #{imagepath,jdbcType=VARCHAR}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/ImageMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/ImageMapper.xml
new file mode 100644
index 0000000..208c0e7
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/ImageMapper.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.user.ImageMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.user.entity.Image" >
+    <result column="personID" property="personid" jdbcType="INTEGER" />
+    <result column="imageTye" property="imagetye" jdbcType="VARCHAR" />
+    <result column="imagePath" property="imagepath" jdbcType="VARCHAR" />
+  </resultMap>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.user.entity.Image" >
+    insert into t_image (personID, imageTye, imagePath
+      )
+    values (#{personid,jdbcType=INTEGER}, #{imagetye,jdbcType=VARCHAR}, #{imagepath,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.user.entity.Image" >
+    insert into t_image
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="personid != null" >
+        personID,
+      </if>
+      <if test="imagetye != null" >
+        imageTye,
+      </if>
+      <if test="imagepath != null" >
+        imagePath,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="personid != null" >
+        #{personid,jdbcType=INTEGER},
+      </if>
+      <if test="imagetye != null" >
+        #{imagetye,jdbcType=VARCHAR},
+      </if>
+      <if test="imagepath != null" >
+        #{imagepath,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/PersonMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/PersonMapper.xml
new file mode 100644
index 0000000..b8c3b43
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/PersonMapper.xml
@@ -0,0 +1,236 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.user.PersonMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.user.entity.Person" >
+    <id column="ID" property="id" jdbcType="INTEGER" />
+    <result column="NAME" property="name" jdbcType="VARCHAR" />
+    <result column="nameSpell" property="namespell" jdbcType="CHAR" />
+    <result column="gender" property="gender" jdbcType="BIT" />
+    <result column="country" property="country" jdbcType="CHAR" />
+    <result column="province" property="province" jdbcType="CHAR" />
+    <result column="city" property="city" jdbcType="CHAR" />
+    <result column="birthday" property="birthday" jdbcType="DATE" />
+    <result column="phone" property="phone" jdbcType="CHAR" />
+    <result column="mobilePhone" property="mobilephone" jdbcType="CHAR" />
+    <result column="identityType" property="identitytype" jdbcType="CHAR" />
+    <result column="identify" property="identify" jdbcType="VARCHAR" />
+    <result column="companyID" property="companyid" jdbcType="INTEGER" />
+    <result column="departmentID" property="departmentid" jdbcType="INTEGER" />
+    <result column="postID" property="postid" jdbcType="INTEGER" />
+    <result column="remark" property="remark" jdbcType="VARCHAR" />
+    <result column="warning" property="warning" jdbcType="VARCHAR" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    ID, NAME, nameSpell, gender, country, province, city, birthday, phone, mobilePhone, 
+    identityType, identify, companyID, departmentID, postID, remark, warning
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from t_person
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from t_person
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.user.entity.Person" >
+    <selectKey resultType="java.lang.Integer" keyProperty="id" order="BEFORE" >
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_person (ID, NAME, nameSpell, 
+      gender, country, province, city, 
+      birthday, phone, mobilePhone, 
+      identityType, identify, companyID, 
+      departmentID, postID, remark, 
+      warning)
+    values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{namespell,jdbcType=CHAR}, 
+      #{gender,jdbcType=BIT}, #{country,jdbcType=CHAR}, #{province,jdbcType=CHAR}, #{city,jdbcType=CHAR}, 
+      #{birthday,jdbcType=DATE}, #{phone,jdbcType=CHAR}, #{mobilephone,jdbcType=CHAR}, 
+      #{identitytype,jdbcType=CHAR}, #{identify,jdbcType=VARCHAR}, #{companyid,jdbcType=INTEGER}, 
+      #{departmentid,jdbcType=INTEGER}, #{postid,jdbcType=INTEGER}, #{remark,jdbcType=VARCHAR}, 
+      #{warning,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.user.entity.Person" >
+    <selectKey resultType="java.lang.Integer" keyProperty="id" order="BEFORE" >
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_person
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      ID,
+      <if test="name != null" >
+        NAME,
+      </if>
+      <if test="namespell != null" >
+        nameSpell,
+      </if>
+      <if test="gender != null" >
+        gender,
+      </if>
+      <if test="country != null" >
+        country,
+      </if>
+      <if test="province != null" >
+        province,
+      </if>
+      <if test="city != null" >
+        city,
+      </if>
+      <if test="birthday != null" >
+        birthday,
+      </if>
+      <if test="phone != null" >
+        phone,
+      </if>
+      <if test="mobilephone != null" >
+        mobilePhone,
+      </if>
+      <if test="identitytype != null" >
+        identityType,
+      </if>
+      <if test="identify != null" >
+        identify,
+      </if>
+      <if test="companyid != null" >
+        companyID,
+      </if>
+      <if test="departmentid != null" >
+        departmentID,
+      </if>
+      <if test="postid != null" >
+        postID,
+      </if>
+      <if test="remark != null" >
+        remark,
+      </if>
+      <if test="warning != null" >
+        warning,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      #{id,jdbcType=INTEGER},
+      <if test="name != null" >
+        #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="namespell != null" >
+        #{namespell,jdbcType=CHAR},
+      </if>
+      <if test="gender != null" >
+        #{gender,jdbcType=BIT},
+      </if>
+      <if test="country != null" >
+        #{country,jdbcType=CHAR},
+      </if>
+      <if test="province != null" >
+        #{province,jdbcType=CHAR},
+      </if>
+      <if test="city != null" >
+        #{city,jdbcType=CHAR},
+      </if>
+      <if test="birthday != null" >
+        #{birthday,jdbcType=DATE},
+      </if>
+      <if test="phone != null" >
+        #{phone,jdbcType=CHAR},
+      </if>
+      <if test="mobilephone != null" >
+        #{mobilephone,jdbcType=CHAR},
+      </if>
+      <if test="identitytype != null" >
+        #{identitytype,jdbcType=CHAR},
+      </if>
+      <if test="identify != null" >
+        #{identify,jdbcType=VARCHAR},
+      </if>
+      <if test="companyid != null" >
+        #{companyid,jdbcType=INTEGER},
+      </if>
+      <if test="departmentid != null" >
+        #{departmentid,jdbcType=INTEGER},
+      </if>
+      <if test="postid != null" >
+        #{postid,jdbcType=INTEGER},
+      </if>
+      <if test="remark != null" >
+        #{remark,jdbcType=VARCHAR},
+      </if>
+      <if test="warning != null" >
+        #{warning,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.user.entity.Person" >
+    update t_person
+    <set >
+      <if test="name != null" >
+        NAME = #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="namespell != null" >
+        nameSpell = #{namespell,jdbcType=CHAR},
+      </if>
+      <if test="gender != null" >
+        gender = #{gender,jdbcType=BIT},
+      </if>
+      <if test="country != null" >
+        country = #{country,jdbcType=CHAR},
+      </if>
+      <if test="province != null" >
+        province = #{province,jdbcType=CHAR},
+      </if>
+      <if test="city != null" >
+        city = #{city,jdbcType=CHAR},
+      </if>
+      <if test="birthday != null" >
+        birthday = #{birthday,jdbcType=DATE},
+      </if>
+      <if test="phone != null" >
+        phone = #{phone,jdbcType=CHAR},
+      </if>
+      <if test="mobilephone != null" >
+        mobilePhone = #{mobilephone,jdbcType=CHAR},
+      </if>
+      <if test="identitytype != null" >
+        identityType = #{identitytype,jdbcType=CHAR},
+      </if>
+      <if test="identify != null" >
+        identify = #{identify,jdbcType=VARCHAR},
+      </if>
+      <if test="companyid != null" >
+        companyID = #{companyid,jdbcType=INTEGER},
+      </if>
+      <if test="departmentid != null" >
+        departmentID = #{departmentid,jdbcType=INTEGER},
+      </if>
+      <if test="postid != null" >
+        postID = #{postid,jdbcType=INTEGER},
+      </if>
+      <if test="remark != null" >
+        remark = #{remark,jdbcType=VARCHAR},
+      </if>
+      <if test="warning != null" >
+        warning = #{warning,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.user.entity.Person" >
+    update t_person
+    set NAME = #{name,jdbcType=VARCHAR},
+      nameSpell = #{namespell,jdbcType=CHAR},
+      gender = #{gender,jdbcType=BIT},
+      country = #{country,jdbcType=CHAR},
+      province = #{province,jdbcType=CHAR},
+      city = #{city,jdbcType=CHAR},
+      birthday = #{birthday,jdbcType=DATE},
+      phone = #{phone,jdbcType=CHAR},
+      mobilePhone = #{mobilephone,jdbcType=CHAR},
+      identityType = #{identitytype,jdbcType=CHAR},
+      identify = #{identify,jdbcType=VARCHAR},
+      companyID = #{companyid,jdbcType=INTEGER},
+      departmentID = #{departmentid,jdbcType=INTEGER},
+      postID = #{postid,jdbcType=INTEGER},
+      remark = #{remark,jdbcType=VARCHAR},
+      warning = #{warning,jdbcType=VARCHAR}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/PlaceMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/PlaceMapper.xml
new file mode 100644
index 0000000..9047829
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/PlaceMapper.xml
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.basic.face.discern.baseapi.user.PlaceMapper">
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.user.entity.Place">
+    <id column="ID" jdbcType="INTEGER" property="id" />
+    <result column="companyID" jdbcType="INTEGER" property="companyid" />
+    <result column="label" jdbcType="VARCHAR" property="label" />
+    <result column="authorizationID" jdbcType="VARCHAR" property="authorizationid" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    ID, companyID, label, authorizationID
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from t_place
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    delete from t_place
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.user.entity.Place">
+    insert into t_place (ID, companyID, label, 
+      authorizationID)
+    values (#{id,jdbcType=INTEGER}, #{companyid,jdbcType=INTEGER}, #{label,jdbcType=VARCHAR}, 
+      #{authorizationid,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.user.entity.Place">
+    insert into t_place
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="companyid != null">
+        companyID,
+      </if>
+      <if test="label != null">
+        label,
+      </if>
+      <if test="authorizationid != null">
+        authorizationID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=INTEGER},
+      </if>
+      <if test="companyid != null">
+        #{companyid,jdbcType=INTEGER},
+      </if>
+      <if test="label != null">
+        #{label,jdbcType=VARCHAR},
+      </if>
+      <if test="authorizationid != null">
+        #{authorizationid,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.user.entity.Place">
+    update t_place
+    <set>
+      <if test="companyid != null">
+        companyID = #{companyid,jdbcType=INTEGER},
+      </if>
+      <if test="label != null">
+        label = #{label,jdbcType=VARCHAR},
+      </if>
+      <if test="authorizationid != null">
+        authorizationID = #{authorizationid,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.user.entity.Place">
+    update t_place
+    set companyID = #{companyid,jdbcType=INTEGER},
+      label = #{label,jdbcType=VARCHAR},
+      authorizationID = #{authorizationid,jdbcType=VARCHAR}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.user.entity.Place">
+    <id column="ID" jdbcType="INTEGER" property="id" />
+    <result column="companyID" jdbcType="INTEGER" property="companyid" />
+    <result column="label" jdbcType="VARCHAR" property="label" />
+    <result column="authorizationID" jdbcType="VARCHAR" property="authorizationid" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    ID, companyID, label, authorizationID
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from t_place
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    delete from t_place
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.user.entity.Place">
+    <selectKey keyProperty="id" order="BEFORE" resultType="java.lang.Integer">
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_place (ID, companyID, label, 
+      authorizationID)
+    values (#{id,jdbcType=INTEGER}, #{companyid,jdbcType=INTEGER}, #{label,jdbcType=VARCHAR}, 
+      #{authorizationid,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.user.entity.Place">
+    <selectKey keyProperty="id" order="BEFORE" resultType="java.lang.Integer">
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_place
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      ID,
+      <if test="companyid != null">
+        companyID,
+      </if>
+      <if test="label != null">
+        label,
+      </if>
+      <if test="authorizationid != null">
+        authorizationID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      #{id,jdbcType=INTEGER},
+      <if test="companyid != null">
+        #{companyid,jdbcType=INTEGER},
+      </if>
+      <if test="label != null">
+        #{label,jdbcType=VARCHAR},
+      </if>
+      <if test="authorizationid != null">
+        #{authorizationid,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.user.entity.Place">
+    update t_place
+    <set>
+      <if test="companyid != null">
+        companyID = #{companyid,jdbcType=INTEGER},
+      </if>
+      <if test="label != null">
+        label = #{label,jdbcType=VARCHAR},
+      </if>
+      <if test="authorizationid != null">
+        authorizationID = #{authorizationid,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.user.entity.Place">
+    update t_place
+    set companyID = #{companyid,jdbcType=INTEGER},
+      label = #{label,jdbcType=VARCHAR},
+      authorizationID = #{authorizationid,jdbcType=VARCHAR}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.user.entity.Place">
+    <id column="ID" jdbcType="INTEGER" property="id" />
+    <result column="companyID" jdbcType="INTEGER" property="companyid" />
+    <result column="label" jdbcType="VARCHAR" property="label" />
+    <result column="authorizationID" jdbcType="VARCHAR" property="authorizationid" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    ID, companyID, label, authorizationID
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from t_place
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    delete from t_place
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.user.entity.Place">
+    <selectKey keyProperty="id" order="BEFORE" resultType="java.lang.Integer">
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_place (ID, companyID, label, 
+      authorizationID)
+    values (#{id,jdbcType=INTEGER}, #{companyid,jdbcType=INTEGER}, #{label,jdbcType=VARCHAR}, 
+      #{authorizationid,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.user.entity.Place">
+    <selectKey keyProperty="id" order="BEFORE" resultType="java.lang.Integer">
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_place
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      ID,
+      <if test="companyid != null">
+        companyID,
+      </if>
+      <if test="label != null">
+        label,
+      </if>
+      <if test="authorizationid != null">
+        authorizationID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      #{id,jdbcType=INTEGER},
+      <if test="companyid != null">
+        #{companyid,jdbcType=INTEGER},
+      </if>
+      <if test="label != null">
+        #{label,jdbcType=VARCHAR},
+      </if>
+      <if test="authorizationid != null">
+        #{authorizationid,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.user.entity.Place">
+    update t_place
+    <set>
+      <if test="companyid != null">
+        companyID = #{companyid,jdbcType=INTEGER},
+      </if>
+      <if test="label != null">
+        label = #{label,jdbcType=VARCHAR},
+      </if>
+      <if test="authorizationid != null">
+        authorizationID = #{authorizationid,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.user.entity.Place">
+    update t_place
+    set companyID = #{companyid,jdbcType=INTEGER},
+      label = #{label,jdbcType=VARCHAR},
+      authorizationID = #{authorizationid,jdbcType=VARCHAR}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/PostMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/PostMapper.xml
new file mode 100644
index 0000000..c3fa11c
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/PostMapper.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.user.PostMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.user.entity.Post" >
+    <id column="ID" property="id" jdbcType="INTEGER" />
+    <result column="label" property="label" jdbcType="VARCHAR" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    ID, label
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from t_post
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from t_post
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.user.entity.Post" >
+    <selectKey resultType="java.lang.Integer" keyProperty="id" order="BEFORE" >
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_post (ID, label)
+    values (#{id,jdbcType=INTEGER}, #{label,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.user.entity.Post" >
+    <selectKey resultType="java.lang.Integer" keyProperty="id" order="BEFORE" >
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_post
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      ID,
+      <if test="label != null" >
+        label,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      #{id,jdbcType=INTEGER},
+      <if test="label != null" >
+        #{label,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.user.entity.Post" >
+    update t_post
+    <set >
+      <if test="label != null" >
+        label = #{label,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.user.entity.Post" >
+    update t_post
+    set label = #{label,jdbcType=VARCHAR}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/VisitFaceMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/VisitFaceMapper.xml
new file mode 100644
index 0000000..8e52d0e
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/VisitFaceMapper.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.user.VisitFaceMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.user.entity.VisitFace" >
+    <id column="ID" property="id" jdbcType="INTEGER" />
+    <result column="personID" property="personid" jdbcType="INTEGER" />
+    <result column="imagePath" property="imagepath" jdbcType="VARCHAR" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    ID, personID, imagePath
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from t_visitface
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from t_visitface
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.user.entity.VisitFace" >
+    insert into t_visitface (ID, personID, imagePath
+      )
+    values (#{id,jdbcType=INTEGER}, #{personid,jdbcType=INTEGER}, #{imagepath,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.user.entity.VisitFace" >
+    insert into t_visitface
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        ID,
+      </if>
+      <if test="personid != null" >
+        personID,
+      </if>
+      <if test="imagepath != null" >
+        imagePath,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        #{id,jdbcType=INTEGER},
+      </if>
+      <if test="personid != null" >
+        #{personid,jdbcType=INTEGER},
+      </if>
+      <if test="imagepath != null" >
+        #{imagepath,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.user.entity.VisitFace" >
+    update t_visitface
+    <set >
+      <if test="personid != null" >
+        personID = #{personid,jdbcType=INTEGER},
+      </if>
+      <if test="imagepath != null" >
+        imagePath = #{imagepath,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.user.entity.VisitFace" >
+    update t_visitface
+    set personID = #{personid,jdbcType=INTEGER},
+      imagePath = #{imagepath,jdbcType=VARCHAR}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/VisitorTypeMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/VisitorTypeMapper.xml
new file mode 100644
index 0000000..31bc187
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/user/mapper/VisitorTypeMapper.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.user.VisitorTypeMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.user.entity.VisitorType" >
+    <id column="ID" property="id" jdbcType="INTEGER" />
+    <result column="label" property="label" jdbcType="VARCHAR" />
+    <result column="registerCompanyID" property="registercompanyid" jdbcType="INTEGER" />
+    <result column="personID" property="personid" jdbcType="INTEGER" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    ID, label, registerCompanyID, personID
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from t_visitortype
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from t_visitortype
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.user.entity.VisitorType" >
+    <selectKey resultType="java.lang.Integer" keyProperty="id" order="BEFORE" >
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_visitortype (ID, label, registerCompanyID, 
+      personID)
+    values (#{id,jdbcType=INTEGER}, #{label,jdbcType=VARCHAR}, #{registercompanyid,jdbcType=INTEGER}, 
+      #{personid,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.user.entity.VisitorType" >
+    <selectKey resultType="java.lang.Integer" keyProperty="id" order="BEFORE" >
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_visitortype
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      ID,
+      <if test="label != null" >
+        label,
+      </if>
+      <if test="registercompanyid != null" >
+        registerCompanyID,
+      </if>
+      <if test="personid != null" >
+        personID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      #{id,jdbcType=INTEGER},
+      <if test="label != null" >
+        #{label,jdbcType=VARCHAR},
+      </if>
+      <if test="registercompanyid != null" >
+        #{registercompanyid,jdbcType=INTEGER},
+      </if>
+      <if test="personid != null" >
+        #{personid,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.user.entity.VisitorType" >
+    update t_visitortype
+    <set >
+      <if test="label != null" >
+        label = #{label,jdbcType=VARCHAR},
+      </if>
+      <if test="registercompanyid != null" >
+        registerCompanyID = #{registercompanyid,jdbcType=INTEGER},
+      </if>
+      <if test="personid != null" >
+        personID = #{personid,jdbcType=INTEGER},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.user.entity.VisitorType" >
+    update t_visitortype
+    set label = #{label,jdbcType=VARCHAR},
+      registerCompanyID = #{registercompanyid,jdbcType=INTEGER},
+      personID = #{personid,jdbcType=INTEGER}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitMapper.java
new file mode 100644
index 0000000..b2f86a5
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.visit;
+
+import cn.com.basic.face.discern.visit.entity.Visit;
+
+public interface VisitMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(Visit record);
+
+    int insertSelective(Visit record);
+
+    Visit selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(Visit record);
+
+    int updateByPrimaryKey(Visit record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitMatterMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitMatterMapper.java
new file mode 100644
index 0000000..a19c795
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitMatterMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.visit;
+
+import cn.com.basic.face.discern.visit.entity.VisitMatter;
+
+public interface VisitMatterMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(VisitMatter record);
+
+    int insertSelective(VisitMatter record);
+
+    VisitMatter selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(VisitMatter record);
+
+    int updateByPrimaryKey(VisitMatter record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitStatMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitStatMapper.java
new file mode 100644
index 0000000..9a1cb3e
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitStatMapper.java
@@ -0,0 +1,9 @@
+package cn.com.basic.face.discern.baseapi.visit;
+
+import cn.com.basic.face.discern.visit.entity.VisitStat;
+
+public interface VisitStatMapper {
+    int insert(VisitStat record);
+
+    int insertSelective(VisitStat record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitingMapper.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitingMapper.java
new file mode 100644
index 0000000..5c58d1c
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/VisitingMapper.java
@@ -0,0 +1,17 @@
+package cn.com.basic.face.discern.baseapi.visit;
+
+import cn.com.basic.face.discern.visit.entity.Visiting;
+
+public interface VisitingMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(Visiting record);
+
+    int insertSelective(Visiting record);
+
+    Visiting selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(Visiting record);
+
+    int updateByPrimaryKey(Visiting record);
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitMapper.xml
new file mode 100644
index 0000000..66d1490
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitMapper.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.visit.VisitMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.visit.entity.Visit" >
+    <id column="ID" property="id" jdbcType="INTEGER" />
+    <result column="visitorPersonID" property="visitorpersonid" jdbcType="INTEGER" />
+    <result column="visiteePersonID" property="visiteepersonid" jdbcType="INTEGER" />
+    <result column="matterID" property="matterid" jdbcType="INTEGER" />
+    <result column="remark" property="remark" jdbcType="VARCHAR" />
+    <result column="lastStatus" property="laststatus" jdbcType="INTEGER" />
+    <result column="startTime" property="starttime" jdbcType="TIMESTAMP" />
+    <result column="lastTime" property="lasttime" jdbcType="TIMESTAMP" />
+    <result column="visitorTypeLabel" property="visitortypelabel" jdbcType="VARCHAR" />
+    <result column="warning" property="warning" jdbcType="VARCHAR" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    ID, visitorPersonID, visiteePersonID, matterID, remark, lastStatus, startTime, lastTime, 
+    visitorTypeLabel, warning
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from t_visit
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from t_visit
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.visit.entity.Visit" >
+    insert into t_visit (ID, visitorPersonID, visiteePersonID, 
+      matterID, remark, lastStatus, 
+      startTime, lastTime, visitorTypeLabel, 
+      warning)
+    values (#{id,jdbcType=INTEGER}, #{visitorpersonid,jdbcType=INTEGER}, #{visiteepersonid,jdbcType=INTEGER}, 
+      #{matterid,jdbcType=INTEGER}, #{remark,jdbcType=VARCHAR}, #{laststatus,jdbcType=INTEGER}, 
+      #{starttime,jdbcType=TIMESTAMP}, #{lasttime,jdbcType=TIMESTAMP}, #{visitortypelabel,jdbcType=VARCHAR}, 
+      #{warning,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.visit.entity.Visit" >
+    insert into t_visit
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        ID,
+      </if>
+      <if test="visitorpersonid != null" >
+        visitorPersonID,
+      </if>
+      <if test="visiteepersonid != null" >
+        visiteePersonID,
+      </if>
+      <if test="matterid != null" >
+        matterID,
+      </if>
+      <if test="remark != null" >
+        remark,
+      </if>
+      <if test="laststatus != null" >
+        lastStatus,
+      </if>
+      <if test="starttime != null" >
+        startTime,
+      </if>
+      <if test="lasttime != null" >
+        lastTime,
+      </if>
+      <if test="visitortypelabel != null" >
+        visitorTypeLabel,
+      </if>
+      <if test="warning != null" >
+        warning,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        #{id,jdbcType=INTEGER},
+      </if>
+      <if test="visitorpersonid != null" >
+        #{visitorpersonid,jdbcType=INTEGER},
+      </if>
+      <if test="visiteepersonid != null" >
+        #{visiteepersonid,jdbcType=INTEGER},
+      </if>
+      <if test="matterid != null" >
+        #{matterid,jdbcType=INTEGER},
+      </if>
+      <if test="remark != null" >
+        #{remark,jdbcType=VARCHAR},
+      </if>
+      <if test="laststatus != null" >
+        #{laststatus,jdbcType=INTEGER},
+      </if>
+      <if test="starttime != null" >
+        #{starttime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="lasttime != null" >
+        #{lasttime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="visitortypelabel != null" >
+        #{visitortypelabel,jdbcType=VARCHAR},
+      </if>
+      <if test="warning != null" >
+        #{warning,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.visit.entity.Visit" >
+    update t_visit
+    <set >
+      <if test="visitorpersonid != null" >
+        visitorPersonID = #{visitorpersonid,jdbcType=INTEGER},
+      </if>
+      <if test="visiteepersonid != null" >
+        visiteePersonID = #{visiteepersonid,jdbcType=INTEGER},
+      </if>
+      <if test="matterid != null" >
+        matterID = #{matterid,jdbcType=INTEGER},
+      </if>
+      <if test="remark != null" >
+        remark = #{remark,jdbcType=VARCHAR},
+      </if>
+      <if test="laststatus != null" >
+        lastStatus = #{laststatus,jdbcType=INTEGER},
+      </if>
+      <if test="starttime != null" >
+        startTime = #{starttime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="lasttime != null" >
+        lastTime = #{lasttime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="visitortypelabel != null" >
+        visitorTypeLabel = #{visitortypelabel,jdbcType=VARCHAR},
+      </if>
+      <if test="warning != null" >
+        warning = #{warning,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.visit.entity.Visit" >
+    update t_visit
+    set visitorPersonID = #{visitorpersonid,jdbcType=INTEGER},
+      visiteePersonID = #{visiteepersonid,jdbcType=INTEGER},
+      matterID = #{matterid,jdbcType=INTEGER},
+      remark = #{remark,jdbcType=VARCHAR},
+      lastStatus = #{laststatus,jdbcType=INTEGER},
+      startTime = #{starttime,jdbcType=TIMESTAMP},
+      lastTime = #{lasttime,jdbcType=TIMESTAMP},
+      visitorTypeLabel = #{visitortypelabel,jdbcType=VARCHAR},
+      warning = #{warning,jdbcType=VARCHAR}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitMatterMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitMatterMapper.xml
new file mode 100644
index 0000000..f6eca52
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitMatterMapper.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.basic.face.discern.baseapi.visit.VisitMatterMapper" >
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.visit.entity.VisitMatter" >
+    <id column="ID" property="id" jdbcType="INTEGER" />
+    <result column="companyID" property="companyid" jdbcType="INTEGER" />
+    <result column="label" property="label" jdbcType="VARCHAR" />
+    <result column="available" property="available" jdbcType="BIT" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    ID, companyID, label, available
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from t_visitmatter
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from t_visitmatter
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.visit.entity.VisitMatter" >
+    <selectKey resultType="java.lang.Integer" keyProperty="id" order="BEFORE" >
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_visitmatter (ID, companyID, label, 
+      available)
+    values (#{id,jdbcType=INTEGER}, #{companyid,jdbcType=INTEGER}, #{label,jdbcType=VARCHAR}, 
+      #{available,jdbcType=BIT})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.visit.entity.VisitMatter" >
+    <selectKey resultType="java.lang.Integer" keyProperty="id" order="BEFORE" >
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_visitmatter
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      ID,
+      <if test="companyid != null" >
+        companyID,
+      </if>
+      <if test="label != null" >
+        label,
+      </if>
+      <if test="available != null" >
+        available,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      #{id,jdbcType=INTEGER},
+      <if test="companyid != null" >
+        #{companyid,jdbcType=INTEGER},
+      </if>
+      <if test="label != null" >
+        #{label,jdbcType=VARCHAR},
+      </if>
+      <if test="available != null" >
+        #{available,jdbcType=BIT},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.visit.entity.VisitMatter" >
+    update t_visitmatter
+    <set >
+      <if test="companyid != null" >
+        companyID = #{companyid,jdbcType=INTEGER},
+      </if>
+      <if test="label != null" >
+        label = #{label,jdbcType=VARCHAR},
+      </if>
+      <if test="available != null" >
+        available = #{available,jdbcType=BIT},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.visit.entity.VisitMatter" >
+    update t_visitmatter
+    set companyID = #{companyid,jdbcType=INTEGER},
+      label = #{label,jdbcType=VARCHAR},
+      available = #{available,jdbcType=BIT}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitStatMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitStatMapper.xml
new file mode 100644
index 0000000..029a981
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitStatMapper.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.basic.face.discern.baseapi.visit.VisitStatMapper">
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.visit.entity.VisitStat">
+    <result column="personID" jdbcType="INTEGER" property="personid" />
+    <result column="registerCompanyID" jdbcType="INTEGER" property="registercompanyid" />
+    <result column="totalCount" jdbcType="INTEGER" property="totalcount" />
+  </resultMap>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.visit.entity.VisitStat">
+    insert into t_visitstat (personID, registerCompanyID, totalCount
+      )
+    values (#{personid,jdbcType=INTEGER}, #{registercompanyid,jdbcType=INTEGER}, #{totalcount,jdbcType=INTEGER}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.visit.entity.VisitStat">
+    insert into t_visitstat
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="personid != null">
+        personID,
+      </if>
+      <if test="registercompanyid != null">
+        registerCompanyID,
+      </if>
+      <if test="totalcount != null">
+        totalCount,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="personid != null">
+        #{personid,jdbcType=INTEGER},
+      </if>
+      <if test="registercompanyid != null">
+        #{registercompanyid,jdbcType=INTEGER},
+      </if>
+      <if test="totalcount != null">
+        #{totalcount,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.visit.entity.VisitStat">
+    <result column="personID" jdbcType="INTEGER" property="personid" />
+    <result column="registerCompanyID" jdbcType="INTEGER" property="registercompanyid" />
+    <result column="totalCount" jdbcType="INTEGER" property="totalcount" />
+  </resultMap>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.visit.entity.VisitStat">
+    insert into t_visitstat (personID, registerCompanyID, totalCount
+      )
+    values (#{personid,jdbcType=INTEGER}, #{registercompanyid,jdbcType=INTEGER}, #{totalcount,jdbcType=INTEGER}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.visit.entity.VisitStat">
+    insert into t_visitstat
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="personid != null">
+        personID,
+      </if>
+      <if test="registercompanyid != null">
+        registerCompanyID,
+      </if>
+      <if test="totalcount != null">
+        totalCount,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="personid != null">
+        #{personid,jdbcType=INTEGER},
+      </if>
+      <if test="registercompanyid != null">
+        #{registercompanyid,jdbcType=INTEGER},
+      </if>
+      <if test="totalcount != null">
+        #{totalcount,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitingMapper.xml b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitingMapper.xml
new file mode 100644
index 0000000..b2a080c
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/baseapi/visit/mapper/VisitingMapper.xml
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.basic.face.discern.baseapi.visit.VisitingMapper">
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.visit.entity.Visiting">
+    <id column="ID" jdbcType="INTEGER" property="id" />
+    <result column="visitID" jdbcType="INTEGER" property="visitid" />
+    <result column="statusID" jdbcType="TIMESTAMP" property="statusid" />
+    <result column="statusDT" jdbcType="TIMESTAMP" property="statusdt" />
+    <result column="placeID" jdbcType="INTEGER" property="placeid" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    ID, visitID, statusID, statusDT, placeID
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from t_visiting
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    delete from t_visiting
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.visit.entity.Visiting">
+    <selectKey keyProperty="id" order="BEFORE" resultType="java.lang.Integer">
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_visiting (ID, visitID, statusID, 
+      statusDT, placeID)
+    values (#{id,jdbcType=INTEGER}, #{visitid,jdbcType=INTEGER}, #{statusid,jdbcType=TIMESTAMP}, 
+      #{statusdt,jdbcType=TIMESTAMP}, #{placeid,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.visit.entity.Visiting">
+    <selectKey keyProperty="id" order="BEFORE" resultType="java.lang.Integer">
+      SELECT LAST_INSERT_ID()
+    </selectKey>
+    insert into t_visiting
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      ID,
+      <if test="visitid != null">
+        visitID,
+      </if>
+      <if test="statusid != null">
+        statusID,
+      </if>
+      <if test="statusdt != null">
+        statusDT,
+      </if>
+      <if test="placeid != null">
+        placeID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      #{id,jdbcType=INTEGER},
+      <if test="visitid != null">
+        #{visitid,jdbcType=INTEGER},
+      </if>
+      <if test="statusid != null">
+        #{statusid,jdbcType=TIMESTAMP},
+      </if>
+      <if test="statusdt != null">
+        #{statusdt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="placeid != null">
+        #{placeid,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.visit.entity.Visiting">
+    update t_visiting
+    <set>
+      <if test="visitid != null">
+        visitID = #{visitid,jdbcType=INTEGER},
+      </if>
+      <if test="statusid != null">
+        statusID = #{statusid,jdbcType=TIMESTAMP},
+      </if>
+      <if test="statusdt != null">
+        statusDT = #{statusdt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="placeid != null">
+        placeID = #{placeid,jdbcType=INTEGER},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.visit.entity.Visiting">
+    update t_visiting
+    set visitID = #{visitid,jdbcType=INTEGER},
+      statusID = #{statusid,jdbcType=TIMESTAMP},
+      statusDT = #{statusdt,jdbcType=TIMESTAMP},
+      placeID = #{placeid,jdbcType=INTEGER}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <resultMap id="BaseResultMap" type="cn.com.basic.face.discern.visit.entity.Visiting">
+    <id column="ID" jdbcType="INTEGER" property="id" />
+    <result column="visitID" jdbcType="INTEGER" property="visitid" />
+    <result column="statusID" jdbcType="TIMESTAMP" property="statusid" />
+    <result column="statusDT" jdbcType="TIMESTAMP" property="statusdt" />
+    <result column="placeID" jdbcType="INTEGER" property="placeid" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    ID, visitID, statusID, statusDT, placeID
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from t_visiting
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    delete from t_visiting
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="cn.com.basic.face.discern.visit.entity.Visiting">
+    insert into t_visiting (ID, visitID, statusID, 
+      statusDT, placeID)
+    values (#{id,jdbcType=INTEGER}, #{visitid,jdbcType=INTEGER}, #{statusid,jdbcType=TIMESTAMP}, 
+      #{statusdt,jdbcType=TIMESTAMP}, #{placeid,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="cn.com.basic.face.discern.visit.entity.Visiting">
+    insert into t_visiting
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="visitid != null">
+        visitID,
+      </if>
+      <if test="statusid != null">
+        statusID,
+      </if>
+      <if test="statusdt != null">
+        statusDT,
+      </if>
+      <if test="placeid != null">
+        placeID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=INTEGER},
+      </if>
+      <if test="visitid != null">
+        #{visitid,jdbcType=INTEGER},
+      </if>
+      <if test="statusid != null">
+        #{statusid,jdbcType=TIMESTAMP},
+      </if>
+      <if test="statusdt != null">
+        #{statusdt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="placeid != null">
+        #{placeid,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="cn.com.basic.face.discern.visit.entity.Visiting">
+    update t_visiting
+    <set>
+      <if test="visitid != null">
+        visitID = #{visitid,jdbcType=INTEGER},
+      </if>
+      <if test="statusid != null">
+        statusID = #{statusid,jdbcType=TIMESTAMP},
+      </if>
+      <if test="statusdt != null">
+        statusDT = #{statusdt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="placeid != null">
+        placeID = #{placeid,jdbcType=INTEGER},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="cn.com.basic.face.discern.visit.entity.Visiting">
+    update t_visiting
+    set visitID = #{visitid,jdbcType=INTEGER},
+      statusID = #{statusid,jdbcType=TIMESTAMP},
+      statusDT = #{statusdt,jdbcType=TIMESTAMP},
+      placeID = #{placeid,jdbcType=INTEGER}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/calling/entity/calling.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/calling/entity/calling.java
new file mode 100644
index 0000000..12bb63a
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/calling/entity/calling.java
@@ -0,0 +1,45 @@
+package cn.com.basic.face.discern.calling.entity;
+
+import java.util.Date;
+
+public class calling {
+    private Integer id;
+
+    private Date calldt;
+
+    private Integer callerpersonid;
+
+    private Integer calleepersonid;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Date getCalldt() {
+        return calldt;
+    }
+
+    public void setCalldt(Date calldt) {
+        this.calldt = calldt;
+    }
+
+    public Integer getCallerpersonid() {
+        return callerpersonid;
+    }
+
+    public void setCallerpersonid(Integer callerpersonid) {
+        this.callerpersonid = callerpersonid;
+    }
+
+    public Integer getCalleepersonid() {
+        return calleepersonid;
+    }
+
+    public void setCalleepersonid(Integer calleepersonid) {
+        this.calleepersonid = calleepersonid;
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/checking/entity/Checking.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/checking/entity/Checking.java
new file mode 100644
index 0000000..4d2a414
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/checking/entity/Checking.java
@@ -0,0 +1,55 @@
+package cn.com.basic.face.discern.checking.entity;
+
+import java.util.Date;
+
+public class Checking {
+    private Integer id;
+
+    private Byte statusid;
+
+    private Date statusdt;
+
+    private Integer personid;
+
+    private Integer placeid;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Byte getStatusid() {
+        return statusid;
+    }
+
+    public void setStatusid(Byte statusid) {
+        this.statusid = statusid;
+    }
+
+    public Date getStatusdt() {
+        return statusdt;
+    }
+
+    public void setStatusdt(Date statusdt) {
+        this.statusdt = statusdt;
+    }
+
+    public Integer getPersonid() {
+        return personid;
+    }
+
+    public void setPersonid(Integer personid) {
+        this.personid = personid;
+    }
+
+    public Integer getPlaceid() {
+        return placeid;
+    }
+
+    public void setPlaceid(Integer placeid) {
+        this.placeid = placeid;
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/checking/entity/CheckingCompany.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/checking/entity/CheckingCompany.java
new file mode 100644
index 0000000..3c9ec62
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/checking/entity/CheckingCompany.java
@@ -0,0 +1,23 @@
+package cn.com.basic.face.discern.checking.entity;
+
+public class CheckingCompany {
+    private Integer personid;
+
+    private Integer companyid;
+
+    public Integer getPersonid() {
+        return personid;
+    }
+
+    public void setPersonid(Integer personid) {
+        this.personid = personid;
+    }
+
+    public Integer getCompanyid() {
+        return companyid;
+    }
+
+    public void setCompanyid(Integer companyid) {
+        this.companyid = companyid;
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/component/user/cotroller/FacilityManager.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/component/user/cotroller/FacilityManager.java
new file mode 100644
index 0000000..7009760
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/component/user/cotroller/FacilityManager.java
@@ -0,0 +1,19 @@
+package cn.com.basic.face.discern.component.user.cotroller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * 
+ *
+ * @简介:
+ * @author dpy
+ * @内容说明:
+ * @版本:1.0
+ *
+ */
+@RequestMapping(value="facility")
+public class FacilityManager {
+	
+	
+
+}
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Company.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Company.java
new file mode 100644
index 0000000..36a16f2
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Company.java
@@ -0,0 +1,23 @@
+package cn.com.basic.face.discern.user.entity;
+
+public class Company {
+    private Integer id;
+
+    private String name;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Department.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Department.java
new file mode 100644
index 0000000..6e29304
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Department.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.discern.user.entity;
+
+public class Department {
+    private Integer id;
+
+    private String label;
+
+    private String labelspell;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label == null ? null : label.trim();
+    }
+
+    public String getLabelspell() {
+        return labelspell;
+    }
+
+    public void setLabelspell(String labelspell) {
+        this.labelspell = labelspell == null ? null : labelspell.trim();
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/EmployeeFace.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/EmployeeFace.java
new file mode 100644
index 0000000..b99e9cc
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/EmployeeFace.java
@@ -0,0 +1,43 @@
+package cn.com.basic.face.discern.user.entity;
+
+public class EmployeeFace {
+    private Integer id;
+
+    private Integer registercompanyid;
+
+    private Integer personid;
+
+    private String imagepath;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getRegistercompanyid() {
+        return registercompanyid;
+    }
+
+    public void setRegistercompanyid(Integer registercompanyid) {
+        this.registercompanyid = registercompanyid;
+    }
+
+    public Integer getPersonid() {
+        return personid;
+    }
+
+    public void setPersonid(Integer personid) {
+        this.personid = personid;
+    }
+
+    public String getImagepath() {
+        return imagepath;
+    }
+
+    public void setImagepath(String imagepath) {
+        this.imagepath = imagepath == null ? null : imagepath.trim();
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Image.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Image.java
new file mode 100644
index 0000000..2329469
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Image.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.discern.user.entity;
+
+public class Image {
+    private Integer personid;
+
+    private String imagetye;
+
+    private String imagepath;
+
+    public Integer getPersonid() {
+        return personid;
+    }
+
+    public void setPersonid(Integer personid) {
+        this.personid = personid;
+    }
+
+    public String getImagetye() {
+        return imagetye;
+    }
+
+    public void setImagetye(String imagetye) {
+        this.imagetye = imagetye == null ? null : imagetye.trim();
+    }
+
+    public String getImagepath() {
+        return imagepath;
+    }
+
+    public void setImagepath(String imagepath) {
+        this.imagepath = imagepath == null ? null : imagepath.trim();
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Person.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Person.java
new file mode 100644
index 0000000..7090feb
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Person.java
@@ -0,0 +1,175 @@
+package cn.com.basic.face.discern.user.entity;
+
+import java.util.Date;
+
+public class Person {
+    private Integer id;
+
+    private String name;
+
+    private String namespell;
+
+    private Boolean gender;
+
+    private String country;
+
+    private String province;
+
+    private String city;
+
+    private Date birthday;
+
+    private String phone;
+
+    private String mobilephone;
+
+    private String identitytype;
+
+    private String identify;
+
+    private Integer companyid;
+
+    private Integer departmentid;
+
+    private Integer postid;
+
+    private String remark;
+
+    private String warning;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    public String getNamespell() {
+        return namespell;
+    }
+
+    public void setNamespell(String namespell) {
+        this.namespell = namespell == null ? null : namespell.trim();
+    }
+
+    public Boolean getGender() {
+        return gender;
+    }
+
+    public void setGender(Boolean gender) {
+        this.gender = gender;
+    }
+
+    public String getCountry() {
+        return country;
+    }
+
+    public void setCountry(String country) {
+        this.country = country == null ? null : country.trim();
+    }
+
+    public String getProvince() {
+        return province;
+    }
+
+    public void setProvince(String province) {
+        this.province = province == null ? null : province.trim();
+    }
+
+    public String getCity() {
+        return city;
+    }
+
+    public void setCity(String city) {
+        this.city = city == null ? null : city.trim();
+    }
+
+    public Date getBirthday() {
+        return birthday;
+    }
+
+    public void setBirthday(Date birthday) {
+        this.birthday = birthday;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone == null ? null : phone.trim();
+    }
+
+    public String getMobilephone() {
+        return mobilephone;
+    }
+
+    public void setMobilephone(String mobilephone) {
+        this.mobilephone = mobilephone == null ? null : mobilephone.trim();
+    }
+
+    public String getIdentitytype() {
+        return identitytype;
+    }
+
+    public void setIdentitytype(String identitytype) {
+        this.identitytype = identitytype == null ? null : identitytype.trim();
+    }
+
+    public String getIdentify() {
+        return identify;
+    }
+
+    public void setIdentify(String identify) {
+        this.identify = identify == null ? null : identify.trim();
+    }
+
+    public Integer getCompanyid() {
+        return companyid;
+    }
+
+    public void setCompanyid(Integer companyid) {
+        this.companyid = companyid;
+    }
+
+    public Integer getDepartmentid() {
+        return departmentid;
+    }
+
+    public void setDepartmentid(Integer departmentid) {
+        this.departmentid = departmentid;
+    }
+
+    public Integer getPostid() {
+        return postid;
+    }
+
+    public void setPostid(Integer postid) {
+        this.postid = postid;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public String getWarning() {
+        return warning;
+    }
+
+    public void setWarning(String warning) {
+        this.warning = warning == null ? null : warning.trim();
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Place.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Place.java
new file mode 100644
index 0000000..7524a98
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Place.java
@@ -0,0 +1,43 @@
+package cn.com.basic.face.discern.user.entity;
+
+public class Place {
+    private Integer id;
+
+    private Integer companyid;
+
+    private String label;
+
+    private String authorizationid;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getCompanyid() {
+        return companyid;
+    }
+
+    public void setCompanyid(Integer companyid) {
+        this.companyid = companyid;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label == null ? null : label.trim();
+    }
+
+    public String getAuthorizationid() {
+        return authorizationid;
+    }
+
+    public void setAuthorizationid(String authorizationid) {
+        this.authorizationid = authorizationid == null ? null : authorizationid.trim();
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Post.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Post.java
new file mode 100644
index 0000000..387a2d4
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/Post.java
@@ -0,0 +1,23 @@
+package cn.com.basic.face.discern.user.entity;
+
+public class Post {
+    private Integer id;
+
+    private String label;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label == null ? null : label.trim();
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/VisitFace.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/VisitFace.java
new file mode 100644
index 0000000..d2025ea
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/VisitFace.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.discern.user.entity;
+
+public class VisitFace {
+    private Integer id;
+
+    private Integer personid;
+
+    private String imagepath;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getPersonid() {
+        return personid;
+    }
+
+    public void setPersonid(Integer personid) {
+        this.personid = personid;
+    }
+
+    public String getImagepath() {
+        return imagepath;
+    }
+
+    public void setImagepath(String imagepath) {
+        this.imagepath = imagepath == null ? null : imagepath.trim();
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/VisitorType.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/VisitorType.java
new file mode 100644
index 0000000..2b93c83
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/user/entity/VisitorType.java
@@ -0,0 +1,43 @@
+package cn.com.basic.face.discern.user.entity;
+
+public class VisitorType {
+    private Integer id;
+
+    private String label;
+
+    private Integer registercompanyid;
+
+    private Integer personid;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label == null ? null : label.trim();
+    }
+
+    public Integer getRegistercompanyid() {
+        return registercompanyid;
+    }
+
+    public void setRegistercompanyid(Integer registercompanyid) {
+        this.registercompanyid = registercompanyid;
+    }
+
+    public Integer getPersonid() {
+        return personid;
+    }
+
+    public void setPersonid(Integer personid) {
+        this.personid = personid;
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/Visit.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/Visit.java
new file mode 100644
index 0000000..0f3378e
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/Visit.java
@@ -0,0 +1,105 @@
+package cn.com.basic.face.discern.visit.entity;
+
+import java.util.Date;
+
+public class Visit {
+    private Integer id;
+
+    private Integer visitorpersonid;
+
+    private Integer visiteepersonid;
+
+    private Integer matterid;
+
+    private String remark;
+
+    private Integer laststatus;
+
+    private Date starttime;
+
+    private Date lasttime;
+
+    private String visitortypelabel;
+
+    private String warning;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getVisitorpersonid() {
+        return visitorpersonid;
+    }
+
+    public void setVisitorpersonid(Integer visitorpersonid) {
+        this.visitorpersonid = visitorpersonid;
+    }
+
+    public Integer getVisiteepersonid() {
+        return visiteepersonid;
+    }
+
+    public void setVisiteepersonid(Integer visiteepersonid) {
+        this.visiteepersonid = visiteepersonid;
+    }
+
+    public Integer getMatterid() {
+        return matterid;
+    }
+
+    public void setMatterid(Integer matterid) {
+        this.matterid = matterid;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public Integer getLaststatus() {
+        return laststatus;
+    }
+
+    public void setLaststatus(Integer laststatus) {
+        this.laststatus = laststatus;
+    }
+
+    public Date getStarttime() {
+        return starttime;
+    }
+
+    public void setStarttime(Date starttime) {
+        this.starttime = starttime;
+    }
+
+    public Date getLasttime() {
+        return lasttime;
+    }
+
+    public void setLasttime(Date lasttime) {
+        this.lasttime = lasttime;
+    }
+
+    public String getVisitortypelabel() {
+        return visitortypelabel;
+    }
+
+    public void setVisitortypelabel(String visitortypelabel) {
+        this.visitortypelabel = visitortypelabel == null ? null : visitortypelabel.trim();
+    }
+
+    public String getWarning() {
+        return warning;
+    }
+
+    public void setWarning(String warning) {
+        this.warning = warning == null ? null : warning.trim();
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/VisitMatter.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/VisitMatter.java
new file mode 100644
index 0000000..bdf4659
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/VisitMatter.java
@@ -0,0 +1,43 @@
+package cn.com.basic.face.discern.visit.entity;
+
+public class VisitMatter {
+    private Integer id;
+
+    private Integer companyid;
+
+    private String label;
+
+    private Boolean available;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getCompanyid() {
+        return companyid;
+    }
+
+    public void setCompanyid(Integer companyid) {
+        this.companyid = companyid;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label == null ? null : label.trim();
+    }
+
+    public Boolean getAvailable() {
+        return available;
+    }
+
+    public void setAvailable(Boolean available) {
+        this.available = available;
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/VisitStat.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/VisitStat.java
new file mode 100644
index 0000000..94060b8
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/VisitStat.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.discern.visit.entity;
+
+public class VisitStat {
+    private Integer personid;
+
+    private Integer registercompanyid;
+
+    private Integer totalcount;
+
+    public Integer getPersonid() {
+        return personid;
+    }
+
+    public void setPersonid(Integer personid) {
+        this.personid = personid;
+    }
+
+    public Integer getRegistercompanyid() {
+        return registercompanyid;
+    }
+
+    public void setRegistercompanyid(Integer registercompanyid) {
+        this.registercompanyid = registercompanyid;
+    }
+
+    public Integer getTotalcount() {
+        return totalcount;
+    }
+
+    public void setTotalcount(Integer totalcount) {
+        this.totalcount = totalcount;
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/Visiting.java b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/Visiting.java
new file mode 100644
index 0000000..5bc44bc
--- /dev/null
+++ b/VisitFace/face_discern/src/main/java/cn/com/basic/face/discern/visit/entity/Visiting.java
@@ -0,0 +1,55 @@
+package cn.com.basic.face.discern.visit.entity;
+
+import java.util.Date;
+
+public class Visiting {
+    private Integer id;
+
+    private Integer visitid;
+
+    private Date statusid;
+
+    private Date statusdt;
+
+    private Integer placeid;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getVisitid() {
+        return visitid;
+    }
+
+    public void setVisitid(Integer visitid) {
+        this.visitid = visitid;
+    }
+
+    public Date getStatusid() {
+        return statusid;
+    }
+
+    public void setStatusid(Date statusid) {
+        this.statusid = statusid;
+    }
+
+    public Date getStatusdt() {
+        return statusdt;
+    }
+
+    public void setStatusdt(Date statusdt) {
+        this.statusdt = statusdt;
+    }
+
+    public Integer getPlaceid() {
+        return placeid;
+    }
+
+    public void setPlaceid(Integer placeid) {
+        this.placeid = placeid;
+    }
+}
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/resources/MyBaits-config.xml b/VisitFace/face_discern/src/main/resources/MyBaits-config.xml
new file mode 100644
index 0000000..de7272c
--- /dev/null
+++ b/VisitFace/face_discern/src/main/resources/MyBaits-config.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
+<configuration>
+
+</configuration>
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/resources/ehcache.xml b/VisitFace/face_discern/src/main/resources/ehcache.xml
new file mode 100644
index 0000000..252ac5c
--- /dev/null
+++ b/VisitFace/face_discern/src/main/resources/ehcache.xml
@@ -0,0 +1,13 @@
+<ehcache>
+
+    <diskStore path="java.io.tmpdir"/>
+
+    <cache name="surveyCache"
+        maxElementsInMemory="10000"
+        eternal="false"
+        timeToIdleSeconds="300"
+        timeToLiveSeconds="600"
+        overflowToDisk="true"
+        />
+
+</ehcache>
diff --git a/VisitFace/face_discern/src/main/resources/jdbc.properties b/VisitFace/face_discern/src/main/resources/jdbc.properties
new file mode 100644
index 0000000..f1de5e8
--- /dev/null
+++ b/VisitFace/face_discern/src/main/resources/jdbc.properties
@@ -0,0 +1,5 @@
+jdbc.user=root
+jdbc.password=123456
+jdbc.url=jdbc:mysql://localhost:3306/face_discern?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8
+jdbc.driver=com.mysql.jdbc.Driver
+
diff --git a/VisitFace/face_discern/src/main/resources/log4j.properties b/VisitFace/face_discern/src/main/resources/log4j.properties
new file mode 100644
index 0000000..004ed21
--- /dev/null
+++ b/VisitFace/face_discern/src/main/resources/log4j.properties
@@ -0,0 +1,31 @@
+log4j.rootLogger=DEBUG,myLogger,logFile
+log4j.appender.myLogger=org.apache.log4j.ConsoleAppender
+log4j.appender.myLogger.Threshold=DEBUG
+log4j.appender.myLogger.ImmediateFlush=true
+log4j.appender.myLogger.Target=System.out
+log4j.appender.myLogger.layout=org.apache.log4j.PatternLayout
+log4j.appender.myLogger.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
+
+log4j.logger.org.mybatis=debug 
+
+log4j.logger.java.sql.PreparedStatement=DEBUG 
+log4j.logger.java.sql.Statement=DEBUG 
+log4j.logger.java.sql.Connection=DEBUG 
+log4j.logger.java.sql.ResultSet=DEBUG
+
+log4j.logger.com.mchange.v2=ERROR
+log4j.logger.org.springframework=ERROR
+log4j.logger.org.mybatis.spring.mapper=ERROR
+
+log4j.logger.com.atguigu=debug
+
+
+
+
+log4j.appender.logFile=org.apache.log4j.FileAppender
+log4j.appender.logFile.Threshold=DEBUG
+log4j.appender.logFile.ImmediateFlush=true
+log4j.appender.logFile.Append=true
+log4j.appender.logFile.File=D:/myserver/var/log/face_discern_log/face_discern_log.log4j
+log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
+log4j.appender.logFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
\ No newline at end of file
diff --git a/VisitFace/face_discern/src/main/resources/spring-context.xml b/VisitFace/face_discern/src/main/resources/spring-context.xml
new file mode 100644
index 0000000..2a96c57
--- /dev/null
+++ b/VisitFace/face_discern/src/main/resources/spring-context.xml
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:tx="http://www.springframework.org/schema/tx"
+	xmlns:aop="http://www.springframework.org/schema/aop"
+	xmlns:cache="http://www.springframework.org/schema/cache"
+	xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
+		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+		http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.0.xsd
+		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
+		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
+
+	<!-- 鎵弿缁勪欢Bean瀵硅薄:鎺掗櫎handler缁勪欢锛屽墿浣欓兘杩涜绠$悊 -->
+	<context:component-scan base-package="cn.com.basic.face.discern">
+		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
+	</context:component-scan>
+
+	<!-- 鍔犺浇澶栭儴灞炴�ч厤缃枃浠� -->
+	<context:property-placeholder location="classpath:jdbc.properties"/>
+	
+	<!-- 閰嶇疆C3P0鏁版嵁婧� -->
+	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" abstract="true">
+		<property name="driverClass" value="${jdbc.driver}"/>
+		<property name="user" value="${jdbc.user}"/>
+		<property name="password" value="${jdbc.password}"/>
+		<property name="jdbcUrl" value="${jdbc.url}"/>
+	</bean>
+	
+	<!-- 閰嶇疆SQLSessionFactory -->
+	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
+		<!-- 鈶犺閰嶆暟鎹簮 -->
+		<property name="dataSource" ref="dataSource"/>
+		<!-- 鈶℃寚瀹歁yBatis鑷韩閰嶇疆鏂囦欢鐨勪綅缃� -->
+		<property name="configLocation" value="classpath:MyBaits-config.xml"/>
+		<!-- typeAliasesPackage灞炴�alue鍊硷細鍙互鎸囧畾鐖跺寘锛岃嚜鍔ㄦ壂鎻忓瓙鍖� -->
+		<!-- 鈶㈡寚瀹氬疄浣撶被鐨勪綅缃� -->
+		<property name="typeAliasesPackage" value="cn.com.basic.face.discern"/>
+		<!-- <property name="mapperLocations"></property> -->
+	</bean>
+	
+	<!-- 鎵弿Mapper鏄犲皠閰嶇疆 -->
+	<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
+		<property name="basePackage" value="cn.com.basic.face.discern.baseapi"/>
+	</bean>
+			
+	<!-- 閰嶇疆浜嬪姟绠$悊鍣�:AOP涓垏闈㈢被 -->
+	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
+		<property name="dataSource" ref="logRouterDataSource"/>
+	</bean>
+		
+	<!-- 鈶犻厤缃簨鍔″垏闈� -->
+	<aop:config>
+		<!-- 澹版槑鍒囧叆鐐硅〃杈惧紡 -->
+		<aop:pointcut expression="execution(* *..*Service.*(..))" id="txPointcut"/>
+		<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut" order="50"/>
+	</aop:config>
+	
+	<!-- 鈶¢厤缃簨鍔¢�氱煡 -->
+	<!-- 鍩轰簬娉ㄨВ鐨勫0鏄庡紡浜嬪姟:@Transactional -->
+	<!-- <tx:annotation-driven/> -->
+	
+	<!-- 鍩轰簬XML鐨勫0鏄庡紡浜嬪姟锛�
+		transaction-manager="transactionManager" 榛樿閰嶇疆銆傚彲浠ョ渷鐣ャ��
+	 -->
+	<tx:advice id="txAdvice" transaction-manager="transactionManager">
+		<tx:attributes>
+			<!--  isolation="DEFAULT" 锛� 浣跨敤鏁版嵁搴撻粯璁や簨鍔¢殧绂荤骇鍒細MySQL 4 锛� Oracle 2  -->
+			<!-- 澧烇紝鍒狅紝鏀规搷浣滈兘闇�瑕佸鍔犱簨鍔★紝鑰屼笖锛屽叿浣撴儏鍐典娇鐢ㄤ笉鍚岄殧绂荤骇鍒�  propagation="REQUIRES_NEW"-->
+			<tx:method name="save*" rollback-for="java.lang.Exception" propagation="REQUIRED"/>
+			<tx:method name="update*" rollback-for="java.lang.Exception" propagation="REQUIRED" />
+			<tx:method name="delete*" rollback-for="java.lang.Exception" propagation="REQUIRED"/>
+			<tx:method name="regist*" rollback-for="java.lang.Exception" propagation="REQUIRED"/>
+			<tx:method name="batch*" rollback-for="java.lang.Exception" propagation="REQUIRED"/>
+			<tx:method name="dispatcher*" rollback-for="java.lang.Exception" propagation="REQUIRED"/>
+			<tx:method name="create*" rollback-for="java.lang.Exception" propagation="REQUIRED"/>
+			
+			<!-- 鏌ヨ鏁版嵁涓�鑸缃畆ead-only="true"锛屽彲浠ユ彁楂樼郴缁熸�ц兘 -->
+			<tx:method name="get*" read-only="true"/>
+			<tx:method name="query*" read-only="true"/>
+			<tx:method name="login*" read-only="true"/>
+			<tx:method name="servletPathExists" read-only="true"/>
+			<tx:method name="existsUserName" read-only="true"/>
+			<!-- <tx:method name="*" read-only="true"/> -->
+		</tx:attributes>
+	</tx:advice>	
+	
+	<!-- 鏃ュ織鍒囬潰瀵硅薄 -->
+	<bean id="logRecorder" class="com.survey.log.aspect.LogRecorder">
+		<!-- 涓嶉渶瑕佹墜鍔ㄦ敞鍏ogService瀵硅薄锛岄噰鐢ˊAutowired -->
+	</bean>
+	
+	<!-- 鏃ュ織鍒囬潰閰嶇疆 -->
+	<aop:config >
+		<!-- 澹版槑鍒囧叆鐐硅〃杈惧紡 -->
+		<aop:pointcut expression="((execution(* *..*Service.save*(..)) or
+									execution(* *..*Service.update*(..)) or
+									execution(* *..*Service.delete*(..)) or
+									execution(* *..*Service.regist*(..)) or
+									execution(* *..*Service.batch*(..)) or
+									execution(* *..*Service.dispatcher*(..)))) 
+									and (!bean(logServiceImpl))" id="logPointcut"/>
+		
+		<!-- 澹版槑鍒囬潰绫荤殑閫氱煡鏂规硶 -->
+		<aop:aspect id="logAspect" ref="logRecorder" order="10">
+			<aop:around method="logRecord" pointcut-ref="logPointcut"/>
+		</aop:aspect>
+	</aop:config>
+	
+	
+	<!-- 澹版槑Spring鐩戝惉鍣� -->
+	<bean id="logCreateTableListener" class="com.survey.log.listener.LogCreateTableListener"></bean>
+<!-- 	
+	瀹氫箟浠诲姟鐨勮缁咮ean
+	<bean id="jobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean">
+		<property name="jobClass" value="com.survey.log.quartz.AutoCreateTableJobBean"/>
+		缁欎换鍔ean娉ㄥ叆灞炴��
+		<property name="jobDataMap">
+			<map>
+				<entry key="logService" value-ref="logServiceImpl"/>
+			</map>
+		</property>
+	</bean>
+	
+	璁剧疆瑙﹀彂鍣�
+	<bean id="triggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
+		<property name="jobDetail" ref="jobDetailBean"/>
+		0 0 0 15 * ?
+		<property name="cronExpression" value="*/10 * * * * ?"/>
+		<property name="cronExpression" value="0 0 0 15 * ?"/>
+	</bean>
+	
+	澹版槑璋冨害宸ュ巶Bean
+	<bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
+		<property name="triggers">
+			<list>
+				<ref bean="triggerBean"/>
+			</list>
+		</property>
+	</bean>
+		 -->
+	<!-- 	
+	閰嶇疆缂撳瓨鎶借薄锛�
+	
+	<bean id="methodKeyGenerator" class="com.survey.ehcache.MethodKeyGenerator"></bean>
+	
+	<bean id="ehCacheManagerFactoryBean" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
+		<property name="configLocation" value="classpath:ehcache.xml"></property>
+	</bean>	
+	
+	<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
+		<property name="cacheManager" ref="ehCacheManagerFactoryBean"/>
+	</bean> -->
+	
+	<!-- 
+		閰嶇疆缂撳瓨閫氱煡锛�
+		id : 閫氱煡id
+		cache-manager : 璁剧疆缂撳瓨绠$悊鍣紙鍒囬潰绫伙級灏嗘暟鎹線缂撳瓨涓柟娉曪紝浠ュ強浠庣紦瀛樹腑鑾峰彇锛屾竻鐞嗙紦瀛橈紱
+		key-generator : 鐢ㄤ簬澹版槑缂撳瓨Map闆嗗悎key
+	 -->
+	<cache:advice id="cacheAdviceId" cache-manager="cacheManager" key-generator="methodKeyGenerator">
+		<!-- 
+			cache : 璁剧疆缂撳瓨鏂规硶鐨勮繑鍥炵粨鏋滐紝瀛樻斁鍒板摢涓�涓悕绉扮殑缂撳瓨鍖轰腑锛涘搴攅hcache.xml鏂囦欢涓殑<cache>鏍囩鐨刵ame灞炴�у��
+		 -->
+		<cache:caching cache="surveyCache">	
+			<!-- 閰嶇疆鍝簺鏂规硶鐨勮繑鍥炵粨鏋滈渶瑕佸線缂撳瓨涓瓨鍌� -->
+			<!-- 闇�瑕佽�冭檻锛岄偅涔堟柟娉曠殑杩斿洖缁撴灉閫傚悎浣跨敤浜岀骇缂撳瓨 -->
+			<cache:cacheable method="servletPathExists"/>
+		</cache:caching>
+	</cache:advice>
+	
+	<aop:config>
+		<!-- 鍖归厤鍝簺鏂规硶闇�瑕佸弬涓庝簩绾х紦瀛樻搷浣� -->
+		<aop:pointcut expression="execution(* *..*Service.get*(..)) or
+									execution(* *..*Service.query*(..)) or
+									execution(* *..*Service.servletPathExists(..))" id="ehCachePointcut"/>
+		<aop:advisor advice-ref="cacheAdviceId" pointcut-ref="ehCachePointcut"/>
+	</aop:config>
+		
+
+</beans>
diff --git a/VisitFace/face_discern/src/main/resources/springmvc-context.xml b/VisitFace/face_discern/src/main/resources/springmvc-context.xml
new file mode 100644
index 0000000..7fa7fff
--- /dev/null
+++ b/VisitFace/face_discern/src/main/resources/springmvc-context.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:mvc="http://www.springframework.org/schema/mvc"
+	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
+		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
+
+	<!-- 璁剧疆鎵弿鐨勫寘锛氭壂鎻廻andler缁勪欢 -->
+	<context:component-scan base-package="com.atguigu.survey.component" use-default-filters="false" >
+		<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
+		<!-- <context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/> -->
+	</context:component-scan>
+	
+	
+	<!-- 
+		public String toUpddateUI(){
+			return "guest/user_updateUI"; //    /WEB-INF/guest/user_updateUI.jsp 
+		}
+	 -->
+	<!-- 閰嶇疆瑙嗗浘瑙f瀽鍣細InternalResourceViewResolver -->
+	<bean id="ViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
+		<property name="prefix" value="/WEB-INF/"/>
+		<property name="suffix" value=".jsp"/>
+	</bean>
+	
+	<!-- 閰嶇疆mvc:default-servlet-handler 澶勭悊闈欐�佽祫婧�-->
+	<!-- default-servlet-name="default" 榛樿鍊硷紝鍙互鐪佺暐銆俤efault鍊兼潵鑷簬Tomcat/conf/web.xml鏂囦欢榛樿Servlet
+		<servlet>
+	       <servlet-name>default</servlet-name>
+	       <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
+	       	銆傘�傘��
+	   </servlet>
+	 -->
+	<mvc:default-servlet-handler default-servlet-name="default"/>
+	<!-- 閰嶇疆mvc:annotation-driven -->
+	<mvc:annotation-driven />
+	
+	<!-- 
+		@RequestMapping("/guest/user/toRegistUI")
+		public String toRegistUI(){
+			return "guest/user_regist";
+		}
+	 -->
+	 <!-- 鍙互涓嶇敤閫氳繃鎺у埗鍣ㄨ烦杞〉闈紝鍙互鏍规嵁璇锋眰path鍜寁iew-name鏉ヨ烦杞〉闈紱涓�鑸槸璺宠浆鍒�/WEB-INF鐩綍涓嬬殑椤甸潰 -->
+	<mvc:view-controller path="/guest/user/toRegistUI" view-name="guest/user_regist"/>
+	<mvc:view-controller path="/guest/user/toLoginUI" view-name="guest/user_login"/>
+	<mvc:view-controller path="/guest/survey/toSurveyUI" view-name="guest/survey_add"/>
+	<mvc:view-controller path="/guest/survey/queryAllSurvey" view-name="guest/survey_queryAlllist"/>
+	
+	<mvc:view-controller path="/manager/admin/toMainUI" view-name="manager/manager_main"/>
+	<mvc:view-controller path="/manager/admin/toLoginUI" view-name="manager/admin_login"/>
+	
+	<mvc:view-controller path="/manager/auth/toAddUI" view-name="manager/auth_addUI"/>
+	<mvc:view-controller path="/manager/role/toAddUI" view-name="manager/role_addUI"/>
+	<mvc:view-controller path="/manager/admin/toAddUI" view-name="manager/admin_addUI"/>
+	
+	
+	<!-- 绯荤粺寮傚父缁熶竴澶勭悊鏈哄埗锛� -->
+	<bean id="simpleMappingExceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
+		<!-- <property name="exceptionAttribute" value="exp"></property> -->
+		<property name="exceptionMappings">
+			<props>
+				<prop key="com.atguigu.survey.e.UserNameAlreadyExistsException">guest/user_regist</prop>
+				<prop key="com.atguigu.survey.e.UserOperationForbiddenException">guest/user_login</prop>
+				<prop key="com.atguigu.survey.e.FileTooLargeException">guest/survey_add</prop>
+				<prop key="com.atguigu.survey.e.FileTypeErrorException">guest/survey_add</prop>
+				<prop key="com.atguigu.survey.e.EditFileTooLargeException">guest/survey_edit</prop>
+				<prop key="com.atguigu.survey.e.EditFileTypeErrorException">guest/survey_edit</prop>
+				
+				<prop key="com.atguigu.survey.e.DeleteSurveyException">error</prop>
+				<prop key="com.atguigu.survey.e.DeleteBagException">error</prop>
+				<prop key="com.atguigu.survey.e.BagOrderDuplicateException">guest/bag_adjust</prop>
+				
+				<prop key="com.atguigu.survey.e.BagEmptyException">error</prop>
+				<prop key="com.atguigu.survey.e.QuestionEmptyException">error</prop>
+				<prop key="com.atguigu.survey.e.UserLoginForbiddenException">guest/user_login</prop>
+				<prop key="com.atguigu.survey.e.AdminLoginForbiddenException">manager/admin_login</prop>
+				<prop key="com.atguigu.survey.e.AdminOperationForbiddenException">manager/admin_login</prop>
+				
+				<prop key="com.atguigu.survey.e.RemoveAuthFailedException">error</prop>
+				<prop key="com.atguigu.survey.e.RemoveRoleFailedException">error</prop>
+				<prop key="com.atguigu.survey.e.RemoveResFailedException">error</prop>
+				
+				<prop key="com.atguigu.survey.e.UserLoginNeededException">error</prop>
+				<prop key="com.atguigu.survey.e.AdminLoginNeededException">error</prop>
+				<prop key="com.atguigu.survey.e.HasNoAuthorityException">error</prop>
+			</props>
+		</property>
+	</bean>
+	
+	<!-- 澹版槑鑷畾涔夋嫤鎴櫒锛� -->
+	<mvc:interceptors>
+		<bean id="webBinderInterceptor" class="com.atguigu.survey.interceptors.WebBinderInterceptor"></bean>
+		<bean id="resInterceptor" class="com.atguigu.survey.interceptors.ResInterceptor"/>
+		
+		<!-- <bean id="loginInterceptor" class="com.atguigu.survey.interceptors.LoginInterceptor"/> -->
+		
+		<bean id="authorityInterceptor" class="com.atguigu.survey.interceptors.AuthorityInterceptor"></bean>
+	</mvc:interceptors>
+	
+	<!-- 鏂囦欢涓婁紶瑙f瀽鍣� -->
+	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
+		<property name="defaultEncoding" value="UTF-8"/>
+	</bean>
+	
+
+</beans>
diff --git a/VisitFace/face_discern/src/main/webapp/WEB-INF/web.xml b/VisitFace/face_discern/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..04563ea
--- /dev/null
+++ b/VisitFace/face_discern/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,7 @@
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd" >
+
+<web-app>
+  <display-name>Archetype Created Web Application</display-name>
+</web-app>
diff --git a/VisitFace/face_discern/src/main/webapp/index.jsp b/VisitFace/face_discern/src/main/webapp/index.jsp
new file mode 100644
index 0000000..6f07b72
--- /dev/null
+++ b/VisitFace/face_discern/src/main/webapp/index.jsp
@@ -0,0 +1,5 @@
+<html>
+<body>
+<h2>Hello World!</h2>
+</body>
+</html>

--
Gitblit v1.8.0