Browse Source

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

zou_ht 8 years ago
parent
commit
913a4a8f9a
25 changed files with 8683 additions and 5 deletions
  1. 83 0
      src/main/java/com/goafanti/admin/controller/AdminCustomerApiController.java
  2. 11 0
      src/main/java/com/goafanti/admin/service/CustomerService.java
  3. 24 0
      src/main/java/com/goafanti/admin/service/impl/CustomerServiceImpl.java
  4. 3 1
      src/main/java/com/goafanti/common/controller/WebpageController.java
  5. 75 0
      src/main/java/com/goafanti/common/dao/CustomerLogMapper.java
  6. 75 0
      src/main/java/com/goafanti/common/dao/CustomerMapper.java
  7. 77 0
      src/main/java/com/goafanti/common/dao/CustomerOrganizationInfoMapper.java
  8. 76 0
      src/main/java/com/goafanti/common/dao/CustomerUserInfoMapper.java
  9. 76 0
      src/main/java/com/goafanti/common/dao/FollowUpRecordMapper.java
  10. 366 0
      src/main/java/com/goafanti/common/mapper/CustomerLogMapper.xml
  11. 599 0
      src/main/java/com/goafanti/common/mapper/CustomerMapper.xml
  12. 318 0
      src/main/java/com/goafanti/common/mapper/CustomerOrganizationInfoMapper.xml
  13. 380 0
      src/main/java/com/goafanti/common/mapper/CustomerUserInfoMapper.xml
  14. 333 0
      src/main/java/com/goafanti/common/mapper/FollowUpRecordMapper.xml
  15. 237 0
      src/main/java/com/goafanti/common/model/Customer.java
  16. 1572 0
      src/main/java/com/goafanti/common/model/CustomerExample.java
  17. 235 0
      src/main/java/com/goafanti/common/model/CustomerLog.java
  18. 961 0
      src/main/java/com/goafanti/common/model/CustomerLogExample.java
  19. 166 0
      src/main/java/com/goafanti/common/model/CustomerOrganizationInfo.java
  20. 751 0
      src/main/java/com/goafanti/common/model/CustomerOrganizationInfoExample.java
  21. 258 0
      src/main/java/com/goafanti/common/model/CustomerUserInfo.java
  22. 1031 0
      src/main/java/com/goafanti/common/model/CustomerUserInfoExample.java
  23. 191 0
      src/main/java/com/goafanti/common/model/FollowUpRecord.java
  24. 782 0
      src/main/java/com/goafanti/common/model/FollowUpRecordExample.java
  25. 3 4
      src/main/webapp/WEB-INF/views/admin/marketing.html

+ 83 - 0
src/main/java/com/goafanti/admin/controller/AdminCustomerApiController.java

@@ -0,0 +1,83 @@
+package com.goafanti.admin.controller;
+
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.servlet.ModelAndView;
+
+import com.goafanti.admin.service.CustomerService;
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.model.Customer;
+import com.goafanti.core.shiro.token.TokenManager;
+
+
+
+
+@RestController
+@RequestMapping(value = "/api/admin/customer")
+public class AdminCustomerApiController extends CertifyApiController{
+	
+	@Resource
+	private CustomerService		customerService;
+	/**
+	 * 新增客户
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/addCustomer", method = RequestMethod.POST)
+	public Result addCustomer(HttpServletRequest req, String aid) {
+		Customer cus =new Customer();
+		Result res=new Result();
+		cus.setId(UUID.randomUUID().toString());
+		cus.setOwnerId((TokenManager.getUserId()));
+		cus.setCreateTime((Date) req.getAttribute("createTime"));
+		cus.setCompanyName((String) req.getAttribute("companyName"));
+		cus.setCompanyIndustry((String) req.getAttribute("companyIndustry"));
+		cus.setCompanyIntention((String) req.getAttribute("companyIntention"));
+		cus.setAdress((String) req.getAttribute("adress"));
+		cus.setCustomerName((String) req.getAttribute("customerName"));
+		cus.setMobile((String) req.getAttribute("mobile"));
+		cus.setEmail((String) req.getAttribute("email"));
+		cus.setQq((String) req.getAttribute("qq"));
+		cus.setWechat((String) req.getAttribute("wechat"));
+		cus.setCustomerPosition((String) req.getAttribute("customerPosition"));
+		cus.setRemark((String) req.getAttribute("remark"));
+		cus.setProvince((String) req.getAttribute("province"));
+		cus.setFllowSituation((String) req.getAttribute("fllowSituation"));
+		cus.setSex((int) req.getAttribute("sex"));
+		cus.setCustomerStatue((String) req.getAttribute("customerStatue"));
+		cus.setDepartment((String) req.getAttribute("department"));
+		customerService.addCustomer(cus);
+		return res;
+	}
+	
+	/**
+	 * 删除客户信息
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/deleteCustomer", method = RequestMethod.POST)
+	public int deleteCustomer(HttpServletRequest req, String id) {
+		int res = customerService.deleteCustomer(id);
+		return res;
+	}
+	
+	/**
+	 * 查询客户信息
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/SearchCustomerList", method = RequestMethod.POST)
+	public List<Customer> SearchCustomerList() {
+		return null;
+	}
+	
+	
+}

+ 11 - 0
src/main/java/com/goafanti/admin/service/CustomerService.java

@@ -0,0 +1,11 @@
+package com.goafanti.admin.service;
+
+import com.goafanti.common.model.Customer;
+
+public interface CustomerService {
+
+	int addCustomer(Customer cus);
+	
+	int deleteCustomer(String id);
+
+}

+ 24 - 0
src/main/java/com/goafanti/admin/service/impl/CustomerServiceImpl.java

@@ -0,0 +1,24 @@
+package com.goafanti.admin.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.goafanti.admin.service.CustomerService;
+import com.goafanti.common.dao.CustomerMapper;
+import com.goafanti.common.model.Customer;
+@Service
+public class CustomerServiceImpl implements CustomerService {
+	@Autowired
+	private CustomerMapper customerMapper ;
+	@Override
+	public int addCustomer(Customer cus) {
+		int res = customerMapper.insertCustomer(cus);
+		return res;
+	}
+	@Override
+	public int deleteCustomer(String id) {
+		int res = customerMapper.deleteByPrimaryKey(id);
+		return res;
+	}
+	
+}

+ 3 - 1
src/main/java/com/goafanti/common/controller/WebpageController.java

@@ -252,6 +252,7 @@ public class WebpageController extends BaseController {
 	public String adminAchievement(HttpServletRequest request, ModelAndView modelview) {
 		return "/admin/achievement";
 	}
+	
 
 	@RequestMapping(value = "/admin/set", method = RequestMethod.GET)
 	public String adminSet(HttpServletRequest request, ModelAndView modelview) {
@@ -260,6 +261,7 @@ public class WebpageController extends BaseController {
 
 	@RequestMapping(value = "/admin/userManage", method = RequestMethod.GET)
 	public ModelAndView adminUserManage(HttpServletRequest request, ModelAndView modelview) {
+		System.out.println("用户管理");
 		modelview.setViewName("/admin/userManage");
 		return modelview;
 	}
@@ -317,7 +319,7 @@ public class WebpageController extends BaseController {
 		modelview.setViewName("/admin/userOrder");
 		return modelview;
 	}
-
+	
 	@RequestMapping(value = "/portal/technologyTrading/achievement", method = RequestMethod.GET)
 	public ModelAndView portalSearchAchievement(HttpServletRequest request, ModelAndView modelview) {
 		modelview.setViewName("/portal/technologyTrading/achievement");

+ 75 - 0
src/main/java/com/goafanti/common/dao/CustomerLogMapper.java

@@ -0,0 +1,75 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.CustomerLog;
+import com.goafanti.common.model.CustomerLogExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface CustomerLogMapper {
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	long countByExample(CustomerLogExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	int deleteByExample(CustomerLogExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	int deleteByPrimaryKey(String id);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	int insert(CustomerLog record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	int insertSelective(CustomerLog record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	List<CustomerLog> selectByExample(CustomerLogExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	CustomerLog selectByPrimaryKey(String id);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	int updateByExampleSelective(@Param("record") CustomerLog record, @Param("example") CustomerLogExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	int updateByExample(@Param("record") CustomerLog record, @Param("example") CustomerLogExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	int updateByPrimaryKeySelective(CustomerLog record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	int updateByPrimaryKey(CustomerLog record);
+}

+ 75 - 0
src/main/java/com/goafanti/common/dao/CustomerMapper.java

@@ -0,0 +1,75 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.Customer;
+import com.goafanti.common.model.CustomerExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface CustomerMapper {
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer
+	 * @mbg.generated  Tue Oct 10 10:30:05 CST 2017
+	 */
+	long countByExample(CustomerExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer
+	 * @mbg.generated  Tue Oct 10 10:30:05 CST 2017
+	 */
+	int deleteByExample(CustomerExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer
+	 * @mbg.generated  Tue Oct 10 10:30:05 CST 2017
+	 */
+	int deleteByPrimaryKey(String id);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer
+	 * @mbg.generated  Tue Oct 10 10:30:05 CST 2017
+	 */
+	int insertCustomer(Customer cus);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer
+	 * @mbg.generated  Tue Oct 10 10:30:05 CST 2017
+	 */
+	int insertSelective(Customer record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer
+	 * @mbg.generated  Tue Oct 10 10:30:05 CST 2017
+	 */
+	List<Customer> selectByExample(CustomerExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer
+	 * @mbg.generated  Tue Oct 10 10:30:05 CST 2017
+	 */
+	Customer selectByPrimaryKey(String id);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer
+	 * @mbg.generated  Tue Oct 10 10:30:05 CST 2017
+	 */
+	int updateByExampleSelective(@Param("record") Customer record, @Param("example") CustomerExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer
+	 * @mbg.generated  Tue Oct 10 10:30:05 CST 2017
+	 */
+	int updateByExample(@Param("record") Customer record, @Param("example") CustomerExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer
+	 * @mbg.generated  Tue Oct 10 10:30:05 CST 2017
+	 */
+	int updateByPrimaryKeySelective(Customer record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer
+	 * @mbg.generated  Tue Oct 10 10:30:05 CST 2017
+	 */
+	int updateByPrimaryKey(Customer record);
+}

+ 77 - 0
src/main/java/com/goafanti/common/dao/CustomerOrganizationInfoMapper.java

@@ -0,0 +1,77 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.CustomerOrganizationInfo;
+import com.goafanti.common.model.CustomerOrganizationInfoExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface CustomerOrganizationInfoMapper {
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	long countByExample(CustomerOrganizationInfoExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	int deleteByExample(CustomerOrganizationInfoExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	int deleteByPrimaryKey(String id);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	int insert(CustomerOrganizationInfo record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	int insertSelective(CustomerOrganizationInfo record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	List<CustomerOrganizationInfo> selectByExample(CustomerOrganizationInfoExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	CustomerOrganizationInfo selectByPrimaryKey(String id);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	int updateByExampleSelective(@Param("record") CustomerOrganizationInfo record,
+			@Param("example") CustomerOrganizationInfoExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	int updateByExample(@Param("record") CustomerOrganizationInfo record,
+			@Param("example") CustomerOrganizationInfoExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	int updateByPrimaryKeySelective(CustomerOrganizationInfo record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	int updateByPrimaryKey(CustomerOrganizationInfo record);
+}

+ 76 - 0
src/main/java/com/goafanti/common/dao/CustomerUserInfoMapper.java

@@ -0,0 +1,76 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.CustomerUserInfo;
+import com.goafanti.common.model.CustomerUserInfoExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface CustomerUserInfoMapper {
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_user_info
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	long countByExample(CustomerUserInfoExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_user_info
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	int deleteByExample(CustomerUserInfoExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_user_info
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	int deleteByPrimaryKey(String id);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_user_info
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	int insert(CustomerUserInfo record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_user_info
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	int insertSelective(CustomerUserInfo record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_user_info
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	List<CustomerUserInfo> selectByExample(CustomerUserInfoExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_user_info
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	CustomerUserInfo selectByPrimaryKey(String id);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_user_info
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	int updateByExampleSelective(@Param("record") CustomerUserInfo record,
+			@Param("example") CustomerUserInfoExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_user_info
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	int updateByExample(@Param("record") CustomerUserInfo record, @Param("example") CustomerUserInfoExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_user_info
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	int updateByPrimaryKeySelective(CustomerUserInfo record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_user_info
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	int updateByPrimaryKey(CustomerUserInfo record);
+}

+ 76 - 0
src/main/java/com/goafanti/common/dao/FollowUpRecordMapper.java

@@ -0,0 +1,76 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.FollowUpRecord;
+import com.goafanti.common.model.FollowUpRecordExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface FollowUpRecordMapper {
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	long countByExample(FollowUpRecordExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	int deleteByExample(FollowUpRecordExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	int deleteByPrimaryKey(String id);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	int insert(FollowUpRecord record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	int insertSelective(FollowUpRecord record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	List<FollowUpRecord> selectByExample(FollowUpRecordExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	FollowUpRecord selectByPrimaryKey(String id);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	int updateByExampleSelective(@Param("record") FollowUpRecord record,
+			@Param("example") FollowUpRecordExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	int updateByExample(@Param("record") FollowUpRecord record, @Param("example") FollowUpRecordExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	int updateByPrimaryKeySelective(FollowUpRecord record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	int updateByPrimaryKey(FollowUpRecord record);
+}

+ 366 - 0
src/main/java/com/goafanti/common/mapper/CustomerLogMapper.xml

@@ -0,0 +1,366 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.goafanti.common.dao.CustomerLogMapper">
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.CustomerLog">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="cid" jdbcType="VARCHAR" property="cid" />
+    <result column="operator_name" jdbcType="VARCHAR" property="operatorName" />
+    <result column="operator_typ" jdbcType="CHAR" property="operatorTyp" />
+    <result column="operator_datetime" jdbcType="VARCHAR" property="operatorDatetime" />
+    <result column="before_status" jdbcType="VARCHAR" property="beforeStatus" />
+    <result column="before_service" jdbcType="VARCHAR" property="beforeService" />
+    <result column="after_service" jdbcType="VARCHAR" property="afterService" />
+    <result column="before_admin_name" jdbcType="VARCHAR" property="beforeAdminName" />
+    <result column="after_admin_name" jdbcType="VARCHAR" property="afterAdminName" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    id, cid, operator_name, operator_typ, operator_datetime, before_status, before_service, 
+    after_service, before_admin_name, after_admin_name
+  </sql>
+  <select id="selectByExample" parameterType="com.goafanti.common.model.CustomerLogExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from customer_log
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from customer_log
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    delete from customer_log
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.goafanti.common.model.CustomerLogExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    delete from customer_log
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.CustomerLog">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    insert into customer_log (id, cid, operator_name, 
+      operator_typ, operator_datetime, before_status, 
+      before_service, after_service, before_admin_name, 
+      after_admin_name)
+    values (#{id,jdbcType=VARCHAR}, #{cid,jdbcType=VARCHAR}, #{operatorName,jdbcType=VARCHAR}, 
+      #{operatorTyp,jdbcType=CHAR}, #{operatorDatetime,jdbcType=VARCHAR}, #{beforeStatus,jdbcType=VARCHAR}, 
+      #{beforeService,jdbcType=VARCHAR}, #{afterService,jdbcType=VARCHAR}, #{beforeAdminName,jdbcType=VARCHAR}, 
+      #{afterAdminName,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.CustomerLog">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    insert into customer_log
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="cid != null">
+        cid,
+      </if>
+      <if test="operatorName != null">
+        operator_name,
+      </if>
+      <if test="operatorTyp != null">
+        operator_typ,
+      </if>
+      <if test="operatorDatetime != null">
+        operator_datetime,
+      </if>
+      <if test="beforeStatus != null">
+        before_status,
+      </if>
+      <if test="beforeService != null">
+        before_service,
+      </if>
+      <if test="afterService != null">
+        after_service,
+      </if>
+      <if test="beforeAdminName != null">
+        before_admin_name,
+      </if>
+      <if test="afterAdminName != null">
+        after_admin_name,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="cid != null">
+        #{cid,jdbcType=VARCHAR},
+      </if>
+      <if test="operatorName != null">
+        #{operatorName,jdbcType=VARCHAR},
+      </if>
+      <if test="operatorTyp != null">
+        #{operatorTyp,jdbcType=CHAR},
+      </if>
+      <if test="operatorDatetime != null">
+        #{operatorDatetime,jdbcType=VARCHAR},
+      </if>
+      <if test="beforeStatus != null">
+        #{beforeStatus,jdbcType=VARCHAR},
+      </if>
+      <if test="beforeService != null">
+        #{beforeService,jdbcType=VARCHAR},
+      </if>
+      <if test="afterService != null">
+        #{afterService,jdbcType=VARCHAR},
+      </if>
+      <if test="beforeAdminName != null">
+        #{beforeAdminName,jdbcType=VARCHAR},
+      </if>
+      <if test="afterAdminName != null">
+        #{afterAdminName,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.goafanti.common.model.CustomerLogExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    select count(*) from customer_log
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    update customer_log
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.cid != null">
+        cid = #{record.cid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.operatorName != null">
+        operator_name = #{record.operatorName,jdbcType=VARCHAR},
+      </if>
+      <if test="record.operatorTyp != null">
+        operator_typ = #{record.operatorTyp,jdbcType=CHAR},
+      </if>
+      <if test="record.operatorDatetime != null">
+        operator_datetime = #{record.operatorDatetime,jdbcType=VARCHAR},
+      </if>
+      <if test="record.beforeStatus != null">
+        before_status = #{record.beforeStatus,jdbcType=VARCHAR},
+      </if>
+      <if test="record.beforeService != null">
+        before_service = #{record.beforeService,jdbcType=VARCHAR},
+      </if>
+      <if test="record.afterService != null">
+        after_service = #{record.afterService,jdbcType=VARCHAR},
+      </if>
+      <if test="record.beforeAdminName != null">
+        before_admin_name = #{record.beforeAdminName,jdbcType=VARCHAR},
+      </if>
+      <if test="record.afterAdminName != null">
+        after_admin_name = #{record.afterAdminName,jdbcType=VARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    update customer_log
+    set id = #{record.id,jdbcType=VARCHAR},
+      cid = #{record.cid,jdbcType=VARCHAR},
+      operator_name = #{record.operatorName,jdbcType=VARCHAR},
+      operator_typ = #{record.operatorTyp,jdbcType=CHAR},
+      operator_datetime = #{record.operatorDatetime,jdbcType=VARCHAR},
+      before_status = #{record.beforeStatus,jdbcType=VARCHAR},
+      before_service = #{record.beforeService,jdbcType=VARCHAR},
+      after_service = #{record.afterService,jdbcType=VARCHAR},
+      before_admin_name = #{record.beforeAdminName,jdbcType=VARCHAR},
+      after_admin_name = #{record.afterAdminName,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.CustomerLog">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    update customer_log
+    <set>
+      <if test="cid != null">
+        cid = #{cid,jdbcType=VARCHAR},
+      </if>
+      <if test="operatorName != null">
+        operator_name = #{operatorName,jdbcType=VARCHAR},
+      </if>
+      <if test="operatorTyp != null">
+        operator_typ = #{operatorTyp,jdbcType=CHAR},
+      </if>
+      <if test="operatorDatetime != null">
+        operator_datetime = #{operatorDatetime,jdbcType=VARCHAR},
+      </if>
+      <if test="beforeStatus != null">
+        before_status = #{beforeStatus,jdbcType=VARCHAR},
+      </if>
+      <if test="beforeService != null">
+        before_service = #{beforeService,jdbcType=VARCHAR},
+      </if>
+      <if test="afterService != null">
+        after_service = #{afterService,jdbcType=VARCHAR},
+      </if>
+      <if test="beforeAdminName != null">
+        before_admin_name = #{beforeAdminName,jdbcType=VARCHAR},
+      </if>
+      <if test="afterAdminName != null">
+        after_admin_name = #{afterAdminName,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.CustomerLog">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:28:39 CST 2017.
+    -->
+    update customer_log
+    set cid = #{cid,jdbcType=VARCHAR},
+      operator_name = #{operatorName,jdbcType=VARCHAR},
+      operator_typ = #{operatorTyp,jdbcType=CHAR},
+      operator_datetime = #{operatorDatetime,jdbcType=VARCHAR},
+      before_status = #{beforeStatus,jdbcType=VARCHAR},
+      before_service = #{beforeService,jdbcType=VARCHAR},
+      after_service = #{afterService,jdbcType=VARCHAR},
+      before_admin_name = #{beforeAdminName,jdbcType=VARCHAR},
+      after_admin_name = #{afterAdminName,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 599 - 0
src/main/java/com/goafanti/common/mapper/CustomerMapper.xml

@@ -0,0 +1,599 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.goafanti.common.dao.CustomerMapper">
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.Customer">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="aid" jdbcType="VARCHAR" property="aid" />
+    <result column="company_nmae" jdbcType="VARCHAR" property="companyNmae" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="company_industry" jdbcType="VARCHAR" property="companyIndustry" />
+    <result column="company_intention" jdbcType="VARCHAR" property="companyIntention" />
+    <result column="adress" jdbcType="VARCHAR" property="adress" />
+    <result column="customer_name" jdbcType="VARCHAR" property="customerName" />
+    <result column="customer_position" jdbcType="VARCHAR" property="customerPosition" />
+    <result column="mobile" jdbcType="VARCHAR" property="mobile" />
+    <result column="email" jdbcType="VARCHAR" property="email" />
+    <result column="department" jdbcType="VARCHAR" property="department" />
+    <result column="qq" jdbcType="VARCHAR" property="qq" />
+    <result column="wechat" jdbcType="VARCHAR" property="wechat" />
+    <result column="remark" jdbcType="VARCHAR" property="remark" />
+    <result column="province" jdbcType="VARCHAR" property="province" />
+    <result column="fllow_situation" jdbcType="VARCHAR" property="fllowSituation" />
+    <result column="sex" jdbcType="INTEGER" property="sex" />
+    <result column="customer_statue" jdbcType="VARCHAR" property="customerStatue" />
+    <result column="customer_typ" jdbcType="INTEGER" property="customerTyp" />
+    <result column="tel_num" jdbcType="VARCHAR" property="telNum" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    id, aid, company_nmae, create_time, company_industry, company_intention, adress, 
+    customer_name, customer_position, mobile, email, department, qq, wechat, remark, 
+    province, fllow_situation, sex, customer_statue
+  </sql>
+  <select id="selectByExample" parameterType="com.goafanti.common.model.CustomerExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from customer
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from customer
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <update id="deleteByPrimaryKey" parameterType="java.lang.String">
+    update  customer set delete_flg= 0
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <delete id="deleteByExample" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    delete from customer
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insertCustomer" parameterType="com.goafanti.common.model.Customer">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    insert into customer (id, aid, company_nmae, 
+      create_time, company_industry, company_intention, 
+      adress, customer_name, customer_position, 
+      mobile, email, department, 
+      qq, wechat, remark, 
+      province, fllow_situation, sex, 
+      customer_statue,cutomer_typ,tel_num,typ)
+    values (#{id,jdbcType=VARCHAR}, #{aid,jdbcType=VARCHAR}, #{companyNmae,jdbcType=VARCHAR}, 
+      #{createTime,jdbcType=TIMESTAMP}, #{companyIndustry,jdbcType=VARCHAR}, #{companyIntention,jdbcType=VARCHAR}, 
+      #{adress,jdbcType=VARCHAR}, #{customerName,jdbcType=VARCHAR}, #{customerPosition,jdbcType=VARCHAR}, 
+      #{mobile,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{department,jdbcType=VARCHAR}, 
+      #{qq,jdbcType=VARCHAR}, #{wechat,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, 
+      #{province,jdbcType=VARCHAR}, #{fllowSituation,jdbcType=VARCHAR}, #{sex,jdbcType=INTEGER}, 
+      #{customerStatue,jdbcType=VARCHAR}, #{cutomerTyp,jdbcType=INTEGER}, #{telNum,jdbcType=VARCHAR},0)
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.Customer">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    insert into customer
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="aid != null">
+        aid,
+      </if>
+      <if test="companyNmae != null">
+        company_nmae,
+      </if>
+      <if test="createTime != null">
+        create_time,
+      </if>
+      <if test="companyIndustry != null">
+        company_industry,
+      </if>
+      <if test="companyIntention != null">
+        company_intention,
+      </if>
+      <if test="adress != null">
+        adress,
+      </if>
+      <if test="customerName != null">
+        customer_name,
+      </if>
+      <if test="customerPosition != null">
+        customer_position,
+      </if>
+      <if test="mobile != null">
+        mobile,
+      </if>
+      <if test="email != null">
+        email,
+      </if>
+      <if test="department != null">
+        department,
+      </if>
+      <if test="qq != null">
+        qq,
+      </if>
+      <if test="wechat != null">
+        wechat,
+      </if>
+      <if test="remark != null">
+        remark,
+      </if>
+      <if test="province != null">
+        province,
+      </if>
+      <if test="fllowSituation != null">
+        fllow_situation,
+      </if>
+      <if test="sex != null">
+        sex,
+      </if>
+      <if test="customerStatue != null">
+        customer_statue,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="aid != null">
+        #{aid,jdbcType=VARCHAR},
+      </if>
+      <if test="companyNmae != null">
+        #{companyNmae,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null">
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="companyIndustry != null">
+        #{companyIndustry,jdbcType=VARCHAR},
+      </if>
+      <if test="companyIntention != null">
+        #{companyIntention,jdbcType=VARCHAR},
+      </if>
+      <if test="adress != null">
+        #{adress,jdbcType=VARCHAR},
+      </if>
+      <if test="customerName != null">
+        #{customerName,jdbcType=VARCHAR},
+      </if>
+      <if test="customerPosition != null">
+        #{customerPosition,jdbcType=VARCHAR},
+      </if>
+      <if test="mobile != null">
+        #{mobile,jdbcType=VARCHAR},
+      </if>
+      <if test="email != null">
+        #{email,jdbcType=VARCHAR},
+      </if>
+      <if test="department != null">
+        #{department,jdbcType=VARCHAR},
+      </if>
+      <if test="qq != null">
+        #{qq,jdbcType=VARCHAR},
+      </if>
+      <if test="wechat != null">
+        #{wechat,jdbcType=VARCHAR},
+      </if>
+      <if test="remark != null">
+        #{remark,jdbcType=VARCHAR},
+      </if>
+      <if test="province != null">
+        #{province,jdbcType=VARCHAR},
+      </if>
+      <if test="fllowSituation != null">
+        #{fllowSituation,jdbcType=VARCHAR},
+      </if>
+      <if test="sex != null">
+        #{sex,jdbcType=INTEGER},
+      </if>
+      <if test="customerStatue != null">
+        #{customerStatue,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.goafanti.common.model.CustomerExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    select count(*) from customer
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    update customer
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.aid != null">
+        aid = #{record.aid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.companyNmae != null">
+        company_nmae = #{record.companyNmae,jdbcType=VARCHAR},
+      </if>
+      <if test="record.createTime != null">
+        create_time = #{record.createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.companyIndustry != null">
+        company_industry = #{record.companyIndustry,jdbcType=VARCHAR},
+      </if>
+      <if test="record.companyIntention != null">
+        company_intention = #{record.companyIntention,jdbcType=VARCHAR},
+      </if>
+      <if test="record.adress != null">
+        adress = #{record.adress,jdbcType=VARCHAR},
+      </if>
+      <if test="record.customerName != null">
+        customer_name = #{record.customerName,jdbcType=VARCHAR},
+      </if>
+      <if test="record.customerPosition != null">
+        customer_position = #{record.customerPosition,jdbcType=VARCHAR},
+      </if>
+      <if test="record.mobile != null">
+        mobile = #{record.mobile,jdbcType=VARCHAR},
+      </if>
+      <if test="record.email != null">
+        email = #{record.email,jdbcType=VARCHAR},
+      </if>
+      <if test="record.department != null">
+        department = #{record.department,jdbcType=VARCHAR},
+      </if>
+      <if test="record.qq != null">
+        qq = #{record.qq,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wechat != null">
+        wechat = #{record.wechat,jdbcType=VARCHAR},
+      </if>
+      <if test="record.remark != null">
+        remark = #{record.remark,jdbcType=VARCHAR},
+      </if>
+      <if test="record.province != null">
+        province = #{record.province,jdbcType=VARCHAR},
+      </if>
+      <if test="record.fllowSituation != null">
+        fllow_situation = #{record.fllowSituation,jdbcType=VARCHAR},
+      </if>
+      <if test="record.sex != null">
+        sex = #{record.sex,jdbcType=INTEGER},
+      </if>
+      <if test="record.customerStatue != null">
+        customer_statue = #{record.customerStatue,jdbcType=VARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    update customer
+    set id = #{record.id,jdbcType=VARCHAR},
+      aid = #{record.aid,jdbcType=VARCHAR},
+      company_nmae = #{record.companyNmae,jdbcType=VARCHAR},
+      create_time = #{record.createTime,jdbcType=TIMESTAMP},
+      company_industry = #{record.companyIndustry,jdbcType=VARCHAR},
+      company_intention = #{record.companyIntention,jdbcType=VARCHAR},
+      adress = #{record.adress,jdbcType=VARCHAR},
+      customer_name = #{record.customerName,jdbcType=VARCHAR},
+      customer_position = #{record.customerPosition,jdbcType=VARCHAR},
+      mobile = #{record.mobile,jdbcType=VARCHAR},
+      email = #{record.email,jdbcType=VARCHAR},
+      department = #{record.department,jdbcType=VARCHAR},
+      qq = #{record.qq,jdbcType=VARCHAR},
+      wechat = #{record.wechat,jdbcType=VARCHAR},
+      remark = #{record.remark,jdbcType=VARCHAR},
+      province = #{record.province,jdbcType=VARCHAR},
+      fllow_situation = #{record.fllowSituation,jdbcType=VARCHAR},
+      sex = #{record.sex,jdbcType=INTEGER},
+      customer_statue = #{record.customerStatue,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.Customer">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    update customer
+    <set>
+      <if test="aid != null">
+        aid = #{aid,jdbcType=VARCHAR},
+      </if>
+      <if test="companyNmae != null">
+        company_nmae = #{companyNmae,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null">
+        create_time = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="companyIndustry != null">
+        company_industry = #{companyIndustry,jdbcType=VARCHAR},
+      </if>
+      <if test="companyIntention != null">
+        company_intention = #{companyIntention,jdbcType=VARCHAR},
+      </if>
+      <if test="adress != null">
+        adress = #{adress,jdbcType=VARCHAR},
+      </if>
+      <if test="customerName != null">
+        customer_name = #{customerName,jdbcType=VARCHAR},
+      </if>
+      <if test="customerPosition != null">
+        customer_position = #{customerPosition,jdbcType=VARCHAR},
+      </if>
+      <if test="mobile != null">
+        mobile = #{mobile,jdbcType=VARCHAR},
+      </if>
+      <if test="email != null">
+        email = #{email,jdbcType=VARCHAR},
+      </if>
+      <if test="department != null">
+        department = #{department,jdbcType=VARCHAR},
+      </if>
+      <if test="qq != null">
+        qq = #{qq,jdbcType=VARCHAR},
+      </if>
+      <if test="wechat != null">
+        wechat = #{wechat,jdbcType=VARCHAR},
+      </if>
+      <if test="remark != null">
+        remark = #{remark,jdbcType=VARCHAR},
+      </if>
+      <if test="province != null">
+        province = #{province,jdbcType=VARCHAR},
+      </if>
+      <if test="fllowSituation != null">
+        fllow_situation = #{fllowSituation,jdbcType=VARCHAR},
+      </if>
+      <if test="sex != null">
+        sex = #{sex,jdbcType=INTEGER},
+      </if>
+      <if test="customerStatue != null">
+        customer_statue = #{customerStatue,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.Customer">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Oct 10 10:30:05 CST 2017.
+    -->
+    update customer
+    set aid = #{aid,jdbcType=VARCHAR},
+      company_nmae = #{companyNmae,jdbcType=VARCHAR},
+      create_time = #{createTime,jdbcType=TIMESTAMP},
+      company_industry = #{companyIndustry,jdbcType=VARCHAR},
+      company_intention = #{companyIntention,jdbcType=VARCHAR},
+      adress = #{adress,jdbcType=VARCHAR},
+      customer_name = #{customerName,jdbcType=VARCHAR},
+      customer_position = #{customerPosition,jdbcType=VARCHAR},
+      mobile = #{mobile,jdbcType=VARCHAR},
+      email = #{email,jdbcType=VARCHAR},
+      department = #{department,jdbcType=VARCHAR},
+      qq = #{qq,jdbcType=VARCHAR},
+      wechat = #{wechat,jdbcType=VARCHAR},
+      remark = #{remark,jdbcType=VARCHAR},
+      province = #{province,jdbcType=VARCHAR},
+      fllow_situation = #{fllowSituation,jdbcType=VARCHAR},
+      sex = #{sex,jdbcType=INTEGER},
+      customer_statue = #{customerStatue,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  
+  
+  
+  
+  
+  <select id="findSearchAchievementListByPage" parameterType="String" resultType="com.goafanti.portal.bo.AchievementSearchListBo">
+  	select 
+  		a.id, a.name, a.keyword,a.introduction,a.category,
+  		a.serial_number as serialNumber, 
+  		a.data_category as dataCategory, 
+  	    a.owner_type as ownerType, 
+  		a.owner_name as ownerName,
+  		a.field_a as fieldA, 
+  		a.field_b as fieldB,
+  		a.transfer_price as transferPrice,
+  		a.maturity,
+  		a.introduction,
+  		a.transfer_mode as transferMode,
+  		a.technical_picture_url as technicalPictureUrl,
+  		b.name as fieldAs
+  	from achievement a 
+  	left join field_glossory b on a.field_a = b.id
+  	where a.deleted_sign = 0 
+  	<if test="dataCategory != null and dataCategory != ''">
+  		and a.data_category = #{dataCategory,jdbcType=INTEGER}
+  	</if>
+  	<if test="category != null and category != ''">
+  		and a.category = #{category,jdbcType=INTEGER}
+  	</if>
+  	<if test="fieldA != null and fieldA != ''">
+  		and a.field_a = #{fieldA,jdbcType=INTEGER}
+  	</if>
+  	<if test="keyword != null and keyword != ''">
+  		and a.keyword like "%"#{keyword,jdbcType=VARCHAR}"%"
+  	</if>
+  	<if test="transferMode != null">
+  		and a.transfer_mode = #{transferMode,jdbcType=INTEGER}
+  	</if>
+  	<if test="upperPrice != null and upperPrice != ''">
+  		and a.transfer_price &lt; #{upperPrice,jdbcType=VARCHAR}
+  	</if>
+  	<if test="lowerPrice != null and lowerPrice != ''">
+  		and a.transfer_price &gt; #{lowerPrice,jdbcType=VARCHAR}
+  	</if> 	
+  	
+  	and a.release_status = 1
+  	and a.audit_status = 3 
+  	<if test="dateSort == 0">
+  		order by a.release_date asc
+  	</if>
+  	<if test="dateSort == 1">
+  		order by a.release_date desc
+  	</if>	
+  	<if test="page_sql != null">
+		${page_sql}
+	</if>
+  </select>
+  
+  <select id="findSearchAchievementCount" parameterType="String" resultType="java.lang.Integer">
+  	select 
+  		count(1)
+  	from achievement a
+  	where a.deleted_sign = 0 
+  	<if test="dataCategory != null and dataCategory != ''">
+  		and a.data_category = #{dataCategory,jdbcType=INTEGER}
+  	</if>
+  	<if test="category != null and category != ''">
+  		and a.category = #{category,jdbcType=INTEGER}
+  	</if>
+  	<if test="fieldA != null and fieldA != ''">
+  		and a.field_a = #{fieldA,jdbcType=INTEGER}
+  	</if>
+  	<if test="keyword != null and keyword != ''">
+  		and a.keyword like "%"#{keyword,jdbcType=VARCHAR}"%"
+  	</if>
+  	<if test="transferMode != null">
+  		and a.transfer_mode = #{transferMode,jdbcType=INTEGER}
+  	</if>
+  	<if test="upperPrice != null and upperPrice != ''">
+  		and a.transfer_price &lt; #{upperPrice,jdbcType=VARCHAR}
+  	</if>
+  	<if test="lowerPrice != null and lowerPrice != ''">
+  		and a.transfer_price &gt; #{lowerPrice,jdbcType=VARCHAR}
+  	</if> 	
+  	
+  	and a.release_status = 1
+  	and a.audit_status = 3 
+  	<if test="dateSort == 0">
+  		order by a.release_date asc
+  	</if>
+  	<if test="dateSort == 1">
+  		order by a.release_date desc
+  	</if>	
+  </select>
+</mapper>

+ 318 - 0
src/main/java/com/goafanti/common/mapper/CustomerOrganizationInfoMapper.xml

@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.goafanti.common.dao.CustomerOrganizationInfoMapper">
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.CustomerOrganizationInfo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="cid" jdbcType="VARCHAR" property="cid" />
+    <result column="company_name" jdbcType="VARCHAR" property="companyName" />
+    <result column="location_province" jdbcType="CHAR" property="locationProvince" />
+    <result column="location_city" jdbcType="VARCHAR" property="locationCity" />
+    <result column="location_area" jdbcType="VARCHAR" property="locationArea" />
+    <result column="adress" jdbcType="VARCHAR" property="adress" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    id, cid, company_name, location_province, location_city, location_area, adress
+  </sql>
+  <select id="selectByExample" parameterType="com.goafanti.common.model.CustomerOrganizationInfoExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from customer_organization_info
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from customer_organization_info
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    delete from customer_organization_info
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.goafanti.common.model.CustomerOrganizationInfoExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    delete from customer_organization_info
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.CustomerOrganizationInfo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    insert into customer_organization_info (id, cid, company_name, 
+      location_province, location_city, location_area, 
+      adress)
+    values (#{id,jdbcType=VARCHAR}, #{cid,jdbcType=VARCHAR}, #{companyName,jdbcType=VARCHAR}, 
+      #{locationProvince,jdbcType=CHAR}, #{locationCity,jdbcType=VARCHAR}, #{locationArea,jdbcType=VARCHAR}, 
+      #{adress,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.CustomerOrganizationInfo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    insert into customer_organization_info
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="cid != null">
+        cid,
+      </if>
+      <if test="companyName != null">
+        company_name,
+      </if>
+      <if test="locationProvince != null">
+        location_province,
+      </if>
+      <if test="locationCity != null">
+        location_city,
+      </if>
+      <if test="locationArea != null">
+        location_area,
+      </if>
+      <if test="adress != null">
+        adress,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="cid != null">
+        #{cid,jdbcType=VARCHAR},
+      </if>
+      <if test="companyName != null">
+        #{companyName,jdbcType=VARCHAR},
+      </if>
+      <if test="locationProvince != null">
+        #{locationProvince,jdbcType=CHAR},
+      </if>
+      <if test="locationCity != null">
+        #{locationCity,jdbcType=VARCHAR},
+      </if>
+      <if test="locationArea != null">
+        #{locationArea,jdbcType=VARCHAR},
+      </if>
+      <if test="adress != null">
+        #{adress,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.goafanti.common.model.CustomerOrganizationInfoExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    select count(*) from customer_organization_info
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    update customer_organization_info
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.cid != null">
+        cid = #{record.cid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.companyName != null">
+        company_name = #{record.companyName,jdbcType=VARCHAR},
+      </if>
+      <if test="record.locationProvince != null">
+        location_province = #{record.locationProvince,jdbcType=CHAR},
+      </if>
+      <if test="record.locationCity != null">
+        location_city = #{record.locationCity,jdbcType=VARCHAR},
+      </if>
+      <if test="record.locationArea != null">
+        location_area = #{record.locationArea,jdbcType=VARCHAR},
+      </if>
+      <if test="record.adress != null">
+        adress = #{record.adress,jdbcType=VARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    update customer_organization_info
+    set id = #{record.id,jdbcType=VARCHAR},
+      cid = #{record.cid,jdbcType=VARCHAR},
+      company_name = #{record.companyName,jdbcType=VARCHAR},
+      location_province = #{record.locationProvince,jdbcType=CHAR},
+      location_city = #{record.locationCity,jdbcType=VARCHAR},
+      location_area = #{record.locationArea,jdbcType=VARCHAR},
+      adress = #{record.adress,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.CustomerOrganizationInfo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    update customer_organization_info
+    <set>
+      <if test="cid != null">
+        cid = #{cid,jdbcType=VARCHAR},
+      </if>
+      <if test="companyName != null">
+        company_name = #{companyName,jdbcType=VARCHAR},
+      </if>
+      <if test="locationProvince != null">
+        location_province = #{locationProvince,jdbcType=CHAR},
+      </if>
+      <if test="locationCity != null">
+        location_city = #{locationCity,jdbcType=VARCHAR},
+      </if>
+      <if test="locationArea != null">
+        location_area = #{locationArea,jdbcType=VARCHAR},
+      </if>
+      <if test="adress != null">
+        adress = #{adress,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.CustomerOrganizationInfo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:41:04 CST 2017.
+    -->
+    update customer_organization_info
+    set cid = #{cid,jdbcType=VARCHAR},
+      company_name = #{companyName,jdbcType=VARCHAR},
+      location_province = #{locationProvince,jdbcType=CHAR},
+      location_city = #{locationCity,jdbcType=VARCHAR},
+      location_area = #{locationArea,jdbcType=VARCHAR},
+      adress = #{adress,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 380 - 0
src/main/java/com/goafanti/common/mapper/CustomerUserInfoMapper.xml

@@ -0,0 +1,380 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.goafanti.common.dao.CustomerUserInfoMapper">
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.CustomerUserInfo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="cid" jdbcType="VARCHAR" property="cid" />
+    <result column="name" jdbcType="VARCHAR" property="name" />
+    <result column="sex" jdbcType="CHAR" property="sex" />
+    <result column="mobile" jdbcType="VARCHAR" property="mobile" />
+    <result column="email" jdbcType="VARCHAR" property="email" />
+    <result column="qq" jdbcType="VARCHAR" property="qq" />
+    <result column="wechat" jdbcType="VARCHAR" property="wechat" />
+    <result column="depatrment" jdbcType="VARCHAR" property="depatrment" />
+    <result column="customer_position" jdbcType="VARCHAR" property="customerPosition" />
+    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    id, cid, name, sex, mobile, email, qq, wechat, depatrment, customer_position, remarks
+  </sql>
+  <select id="selectByExample" parameterType="com.goafanti.common.model.CustomerUserInfoExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from customer_user_info
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from customer_user_info
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    delete from customer_user_info
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.goafanti.common.model.CustomerUserInfoExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    delete from customer_user_info
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.CustomerUserInfo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    insert into customer_user_info (id, cid, name, 
+      sex, mobile, email, qq, 
+      wechat, depatrment, customer_position, 
+      remarks)
+    values (#{id,jdbcType=VARCHAR}, #{cid,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, 
+      #{sex,jdbcType=CHAR}, #{mobile,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{qq,jdbcType=VARCHAR}, 
+      #{wechat,jdbcType=VARCHAR}, #{depatrment,jdbcType=VARCHAR}, #{customerPosition,jdbcType=VARCHAR}, 
+      #{remarks,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.CustomerUserInfo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    insert into customer_user_info
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="cid != null">
+        cid,
+      </if>
+      <if test="name != null">
+        name,
+      </if>
+      <if test="sex != null">
+        sex,
+      </if>
+      <if test="mobile != null">
+        mobile,
+      </if>
+      <if test="email != null">
+        email,
+      </if>
+      <if test="qq != null">
+        qq,
+      </if>
+      <if test="wechat != null">
+        wechat,
+      </if>
+      <if test="depatrment != null">
+        depatrment,
+      </if>
+      <if test="customerPosition != null">
+        customer_position,
+      </if>
+      <if test="remarks != null">
+        remarks,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="cid != null">
+        #{cid,jdbcType=VARCHAR},
+      </if>
+      <if test="name != null">
+        #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="sex != null">
+        #{sex,jdbcType=CHAR},
+      </if>
+      <if test="mobile != null">
+        #{mobile,jdbcType=VARCHAR},
+      </if>
+      <if test="email != null">
+        #{email,jdbcType=VARCHAR},
+      </if>
+      <if test="qq != null">
+        #{qq,jdbcType=VARCHAR},
+      </if>
+      <if test="wechat != null">
+        #{wechat,jdbcType=VARCHAR},
+      </if>
+      <if test="depatrment != null">
+        #{depatrment,jdbcType=VARCHAR},
+      </if>
+      <if test="customerPosition != null">
+        #{customerPosition,jdbcType=VARCHAR},
+      </if>
+      <if test="remarks != null">
+        #{remarks,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.goafanti.common.model.CustomerUserInfoExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    select count(*) from customer_user_info
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    update customer_user_info
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.cid != null">
+        cid = #{record.cid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.name != null">
+        name = #{record.name,jdbcType=VARCHAR},
+      </if>
+      <if test="record.sex != null">
+        sex = #{record.sex,jdbcType=CHAR},
+      </if>
+      <if test="record.mobile != null">
+        mobile = #{record.mobile,jdbcType=VARCHAR},
+      </if>
+      <if test="record.email != null">
+        email = #{record.email,jdbcType=VARCHAR},
+      </if>
+      <if test="record.qq != null">
+        qq = #{record.qq,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wechat != null">
+        wechat = #{record.wechat,jdbcType=VARCHAR},
+      </if>
+      <if test="record.depatrment != null">
+        depatrment = #{record.depatrment,jdbcType=VARCHAR},
+      </if>
+      <if test="record.customerPosition != null">
+        customer_position = #{record.customerPosition,jdbcType=VARCHAR},
+      </if>
+      <if test="record.remarks != null">
+        remarks = #{record.remarks,jdbcType=VARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    update customer_user_info
+    set id = #{record.id,jdbcType=VARCHAR},
+      cid = #{record.cid,jdbcType=VARCHAR},
+      name = #{record.name,jdbcType=VARCHAR},
+      sex = #{record.sex,jdbcType=CHAR},
+      mobile = #{record.mobile,jdbcType=VARCHAR},
+      email = #{record.email,jdbcType=VARCHAR},
+      qq = #{record.qq,jdbcType=VARCHAR},
+      wechat = #{record.wechat,jdbcType=VARCHAR},
+      depatrment = #{record.depatrment,jdbcType=VARCHAR},
+      customer_position = #{record.customerPosition,jdbcType=VARCHAR},
+      remarks = #{record.remarks,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.CustomerUserInfo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    update customer_user_info
+    <set>
+      <if test="cid != null">
+        cid = #{cid,jdbcType=VARCHAR},
+      </if>
+      <if test="name != null">
+        name = #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="sex != null">
+        sex = #{sex,jdbcType=CHAR},
+      </if>
+      <if test="mobile != null">
+        mobile = #{mobile,jdbcType=VARCHAR},
+      </if>
+      <if test="email != null">
+        email = #{email,jdbcType=VARCHAR},
+      </if>
+      <if test="qq != null">
+        qq = #{qq,jdbcType=VARCHAR},
+      </if>
+      <if test="wechat != null">
+        wechat = #{wechat,jdbcType=VARCHAR},
+      </if>
+      <if test="depatrment != null">
+        depatrment = #{depatrment,jdbcType=VARCHAR},
+      </if>
+      <if test="customerPosition != null">
+        customer_position = #{customerPosition,jdbcType=VARCHAR},
+      </if>
+      <if test="remarks != null">
+        remarks = #{remarks,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.CustomerUserInfo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:56 CST 2017.
+    -->
+    update customer_user_info
+    set cid = #{cid,jdbcType=VARCHAR},
+      name = #{name,jdbcType=VARCHAR},
+      sex = #{sex,jdbcType=CHAR},
+      mobile = #{mobile,jdbcType=VARCHAR},
+      email = #{email,jdbcType=VARCHAR},
+      qq = #{qq,jdbcType=VARCHAR},
+      wechat = #{wechat,jdbcType=VARCHAR},
+      depatrment = #{depatrment,jdbcType=VARCHAR},
+      customer_position = #{customerPosition,jdbcType=VARCHAR},
+      remarks = #{remarks,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 333 - 0
src/main/java/com/goafanti/common/mapper/FollowUpRecordMapper.xml

@@ -0,0 +1,333 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.goafanti.common.dao.FollowUpRecordMapper">
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.FollowUpRecord">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="cid" jdbcType="VARCHAR" property="cid" />
+    <result column="aid" jdbcType="VARCHAR" property="aid" />
+    <result column="follow_date" jdbcType="TIMESTAMP" property="followDate" />
+    <result column="tm_stamp" jdbcType="TIMESTAMP" property="tmStamp" />
+    <result column="follow_result" jdbcType="VARCHAR" property="followResult" />
+    <result column="follow_status" jdbcType="INTEGER" property="followStatus" />
+    <result column="attachment" jdbcType="INTEGER" property="attachment" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    id, cid, aid, follow_date, tm_stamp, follow_result, follow_status, attachment
+  </sql>
+  <select id="selectByExample" parameterType="com.goafanti.common.model.FollowUpRecordExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from follow_up_record
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from follow_up_record
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    delete from follow_up_record
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.goafanti.common.model.FollowUpRecordExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    delete from follow_up_record
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.FollowUpRecord">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    insert into follow_up_record (id, cid, aid, 
+      follow_date, tm_stamp, follow_result, 
+      follow_status, attachment)
+    values (#{id,jdbcType=VARCHAR}, #{cid,jdbcType=VARCHAR}, #{aid,jdbcType=VARCHAR}, 
+      #{followDate,jdbcType=TIMESTAMP}, #{tmStamp,jdbcType=TIMESTAMP}, #{followResult,jdbcType=VARCHAR}, 
+      #{followStatus,jdbcType=INTEGER}, #{attachment,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.FollowUpRecord">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    insert into follow_up_record
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="cid != null">
+        cid,
+      </if>
+      <if test="aid != null">
+        aid,
+      </if>
+      <if test="followDate != null">
+        follow_date,
+      </if>
+      <if test="tmStamp != null">
+        tm_stamp,
+      </if>
+      <if test="followResult != null">
+        follow_result,
+      </if>
+      <if test="followStatus != null">
+        follow_status,
+      </if>
+      <if test="attachment != null">
+        attachment,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="cid != null">
+        #{cid,jdbcType=VARCHAR},
+      </if>
+      <if test="aid != null">
+        #{aid,jdbcType=VARCHAR},
+      </if>
+      <if test="followDate != null">
+        #{followDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="tmStamp != null">
+        #{tmStamp,jdbcType=TIMESTAMP},
+      </if>
+      <if test="followResult != null">
+        #{followResult,jdbcType=VARCHAR},
+      </if>
+      <if test="followStatus != null">
+        #{followStatus,jdbcType=INTEGER},
+      </if>
+      <if test="attachment != null">
+        #{attachment,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.goafanti.common.model.FollowUpRecordExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    select count(*) from follow_up_record
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    update follow_up_record
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.cid != null">
+        cid = #{record.cid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.aid != null">
+        aid = #{record.aid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.followDate != null">
+        follow_date = #{record.followDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.tmStamp != null">
+        tm_stamp = #{record.tmStamp,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.followResult != null">
+        follow_result = #{record.followResult,jdbcType=VARCHAR},
+      </if>
+      <if test="record.followStatus != null">
+        follow_status = #{record.followStatus,jdbcType=INTEGER},
+      </if>
+      <if test="record.attachment != null">
+        attachment = #{record.attachment,jdbcType=INTEGER},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    update follow_up_record
+    set id = #{record.id,jdbcType=VARCHAR},
+      cid = #{record.cid,jdbcType=VARCHAR},
+      aid = #{record.aid,jdbcType=VARCHAR},
+      follow_date = #{record.followDate,jdbcType=TIMESTAMP},
+      tm_stamp = #{record.tmStamp,jdbcType=TIMESTAMP},
+      follow_result = #{record.followResult,jdbcType=VARCHAR},
+      follow_status = #{record.followStatus,jdbcType=INTEGER},
+      attachment = #{record.attachment,jdbcType=INTEGER}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.FollowUpRecord">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    update follow_up_record
+    <set>
+      <if test="cid != null">
+        cid = #{cid,jdbcType=VARCHAR},
+      </if>
+      <if test="aid != null">
+        aid = #{aid,jdbcType=VARCHAR},
+      </if>
+      <if test="followDate != null">
+        follow_date = #{followDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="tmStamp != null">
+        tm_stamp = #{tmStamp,jdbcType=TIMESTAMP},
+      </if>
+      <if test="followResult != null">
+        follow_result = #{followResult,jdbcType=VARCHAR},
+      </if>
+      <if test="followStatus != null">
+        follow_status = #{followStatus,jdbcType=INTEGER},
+      </if>
+      <if test="attachment != null">
+        attachment = #{attachment,jdbcType=INTEGER},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.FollowUpRecord">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Oct 09 17:40:36 CST 2017.
+    -->
+    update follow_up_record
+    set cid = #{cid,jdbcType=VARCHAR},
+      aid = #{aid,jdbcType=VARCHAR},
+      follow_date = #{followDate,jdbcType=TIMESTAMP},
+      tm_stamp = #{tmStamp,jdbcType=TIMESTAMP},
+      follow_result = #{followResult,jdbcType=VARCHAR},
+      follow_status = #{followStatus,jdbcType=INTEGER},
+      attachment = #{attachment,jdbcType=INTEGER}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 237 - 0
src/main/java/com/goafanti/common/model/Customer.java

@@ -0,0 +1,237 @@
+package com.goafanti.common.model;
+
+import java.util.Date;
+
+public class Customer {
+	/**
+	 * 获取id
+	 */
+	private String id;
+	/**
+	 * 获取时间
+	 */
+	private Date createTime;
+	/**
+	 * 拥有者
+	 */
+	private String ownerId;
+	/**
+	 * 公司名称
+	 */
+	private String companyName;
+	/**
+	 * 客户类型
+	 */
+	private String customerTyp;
+	
+	/**
+	 * 行业
+	 */
+	private String companyIndustry;
+	/**
+	 * 公司意向
+	 */
+	private String companyIntention;
+	/**
+	 * 公司地址
+	 */
+	private String adress;
+	/**
+	 * 客户名称
+	 */
+	private String customerName;
+	/**
+	 * 座机
+	 */
+	private String mobile;
+	/**
+	 * 手机电话
+	 */
+	private String telNum;
+	/**
+	 * 邮箱
+	 */
+	private String email;
+	/**
+	 * 部门
+	 */
+	private String department;
+	/**
+	 * qq
+	 */
+	private String qq;
+	/**
+	 * 微信号
+	 */
+	private String wechat;
+	/**
+	 * 职位
+	 */
+	private String customerPosition;
+	/**
+	 * 备注
+	 */
+	private String remark;
+	/**
+	 * 省份
+	 */
+	private String province;
+	/**
+	 * 跟进情况
+	 */
+	private String fllowSituation;
+	/**
+	 * 性别
+	 */
+	private int sex;
+	/**
+	 * 客户状态
+	 */
+	private String customerStatue;
+	
+	
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public Date getCreateTime() {
+		return createTime;
+	}
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+	
+	public String getOwnerId() {
+		return ownerId;
+	}
+	public void setOwnerId(String ownerId) {
+		this.ownerId = ownerId;
+	}
+	
+	public String getCompanyName() {
+		return companyName;
+	}
+	public void setCompanyName(String companyName) {
+		this.companyName = companyName;
+	}
+	public String getCompanyIndustry() {
+		return companyIndustry;
+	}
+	public void setCompanyIndustry(String companyIndustry) {
+		this.companyIndustry = companyIndustry;
+	}
+	public String getCompanyIntention() {
+		return companyIntention;
+	}
+	public void setCompanyIntention(String companyIntention) {
+		this.companyIntention = companyIntention;
+	}
+	public String getAdress() {
+		return adress;
+	}
+	public void setAdress(String adress) {
+		this.adress = adress;
+	}
+	public String getCustomerName() {
+		return customerName;
+	}
+	public void setCustomerName(String customerName) {
+		this.customerName = customerName;
+	}
+	public String getMobile() {
+		return mobile;
+	}
+	public void setMobile(String mobile) {
+		this.mobile = mobile;
+	}
+	public String getEmail() {
+		return email;
+	}
+	public void setEmail(String email) {
+		this.email = email;
+	}
+	public String getDepartment() {
+		return department;
+	}
+	public void setDepartment(String department) {
+		this.department = department;
+	}
+	public String getQq() {
+		return qq;
+	}
+	public void setQq(String qq) {
+		this.qq = qq;
+	}
+	public String getWechat() {
+		return wechat;
+	}
+	public void setWechat(String wechat) {
+		this.wechat = wechat;
+	}
+	public String getCustomerPosition() {
+		return customerPosition;
+	}
+	public void setCustomerPosition(String customerPosition) {
+		this.customerPosition = customerPosition;
+	}
+	public String getRemark() {
+		return remark;
+	}
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+	public String getProvince() {
+		return province;
+	}
+	public void setProvince(String province) {
+		this.province = province;
+	}
+	public String getFllowSituation() {
+		return fllowSituation;
+	}
+	public void setFllowSituation(String fllowSituation) {
+		this.fllowSituation = fllowSituation;
+	}
+	public int getSex() {
+		return sex;
+	}
+	public void setSex(int sex) {
+		this.sex = sex;
+	}
+	public String getCustomerStatue() {
+		return customerStatue;
+	}
+	public void setCustomerStatue(String customerStatue) {
+		this.customerStatue = customerStatue;
+	}
+	public String getTelNum() {
+		return telNum;
+	}
+	public void setTelNum(String telNum) {
+		this.telNum = telNum;
+	}
+	
+	public String getCustomerTyp() {
+		return customerTyp;
+	}
+	public void setCustomerTyp(String customerTyp) {
+		this.customerTyp = customerTyp;
+	}
+	@Override
+	public String toString() {
+		return "Customer [createTime=" + createTime + ", ownerId=" + ownerId + ", companyName=" + companyName
+				+ ", companyIndustry=" + companyIndustry + ", companyIntention=" + companyIntention + ", adress="
+				+ adress + ", customerName=" + customerName + ", mobile=" + mobile + ", email=" + email
+				+ ", department=" + department + ", qq=" + qq + ", wechat=" + wechat + ", customerPosition="
+				+ customerPosition + ", remark=" + remark + ", province=" + province + ", fllowSituation="
+				+ fllowSituation + ", sex=" + sex + ", customerStatue=" + customerStatue + "]";
+	}
+	
+	
+	
+	
+	
+	
+}

File diff suppressed because it is too large
+ 1572 - 0
src/main/java/com/goafanti/common/model/CustomerExample.java


+ 235 - 0
src/main/java/com/goafanti/common/model/CustomerLog.java

@@ -0,0 +1,235 @@
+package com.goafanti.common.model;
+
+public class CustomerLog {
+
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_log.id
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	private String id;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_log.cid
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	private String cid;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_log.operator_name
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	private String operatorName;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_log.operator_typ
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	private String operatorTyp;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_log.operator_datetime
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	private String operatorDatetime;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_log.before_status
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	private String beforeStatus;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_log.before_service
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	private String beforeService;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_log.after_service
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	private String afterService;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_log.before_admin_name
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	private String beforeAdminName;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_log.after_admin_name
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	private String afterAdminName;
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_log.id
+	 * @return  the value of customer_log.id
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_log.id
+	 * @param id  the value for customer_log.id
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_log.cid
+	 * @return  the value of customer_log.cid
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public String getCid() {
+		return cid;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_log.cid
+	 * @param cid  the value for customer_log.cid
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void setCid(String cid) {
+		this.cid = cid;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_log.operator_name
+	 * @return  the value of customer_log.operator_name
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public String getOperatorName() {
+		return operatorName;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_log.operator_name
+	 * @param operatorName  the value for customer_log.operator_name
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void setOperatorName(String operatorName) {
+		this.operatorName = operatorName;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_log.operator_typ
+	 * @return  the value of customer_log.operator_typ
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public String getOperatorTyp() {
+		return operatorTyp;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_log.operator_typ
+	 * @param operatorTyp  the value for customer_log.operator_typ
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void setOperatorTyp(String operatorTyp) {
+		this.operatorTyp = operatorTyp;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_log.operator_datetime
+	 * @return  the value of customer_log.operator_datetime
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public String getOperatorDatetime() {
+		return operatorDatetime;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_log.operator_datetime
+	 * @param operatorDatetime  the value for customer_log.operator_datetime
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void setOperatorDatetime(String operatorDatetime) {
+		this.operatorDatetime = operatorDatetime;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_log.before_status
+	 * @return  the value of customer_log.before_status
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public String getBeforeStatus() {
+		return beforeStatus;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_log.before_status
+	 * @param beforeStatus  the value for customer_log.before_status
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void setBeforeStatus(String beforeStatus) {
+		this.beforeStatus = beforeStatus;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_log.before_service
+	 * @return  the value of customer_log.before_service
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public String getBeforeService() {
+		return beforeService;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_log.before_service
+	 * @param beforeService  the value for customer_log.before_service
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void setBeforeService(String beforeService) {
+		this.beforeService = beforeService;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_log.after_service
+	 * @return  the value of customer_log.after_service
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public String getAfterService() {
+		return afterService;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_log.after_service
+	 * @param afterService  the value for customer_log.after_service
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void setAfterService(String afterService) {
+		this.afterService = afterService;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_log.before_admin_name
+	 * @return  the value of customer_log.before_admin_name
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public String getBeforeAdminName() {
+		return beforeAdminName;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_log.before_admin_name
+	 * @param beforeAdminName  the value for customer_log.before_admin_name
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void setBeforeAdminName(String beforeAdminName) {
+		this.beforeAdminName = beforeAdminName;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_log.after_admin_name
+	 * @return  the value of customer_log.after_admin_name
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public String getAfterAdminName() {
+		return afterAdminName;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_log.after_admin_name
+	 * @param afterAdminName  the value for customer_log.after_admin_name
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void setAfterAdminName(String afterAdminName) {
+		this.afterAdminName = afterAdminName;
+	}
+}

+ 961 - 0
src/main/java/com/goafanti/common/model/CustomerLogExample.java

@@ -0,0 +1,961 @@
+package com.goafanti.common.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CustomerLogExample {
+    /**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	protected String orderByClause;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	protected boolean distinct;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	protected List<Criteria> oredCriteria;
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public CustomerLogExample() {
+		oredCriteria = new ArrayList<Criteria>();
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void setOrderByClause(String orderByClause) {
+		this.orderByClause = orderByClause;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public String getOrderByClause() {
+		return orderByClause;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void setDistinct(boolean distinct) {
+		this.distinct = distinct;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public boolean isDistinct() {
+		return distinct;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public List<Criteria> getOredCriteria() {
+		return oredCriteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void or(Criteria criteria) {
+		oredCriteria.add(criteria);
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public Criteria or() {
+		Criteria criteria = createCriteriaInternal();
+		oredCriteria.add(criteria);
+		return criteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public Criteria createCriteria() {
+		Criteria criteria = createCriteriaInternal();
+		if (oredCriteria.size() == 0) {
+			oredCriteria.add(criteria);
+		}
+		return criteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	protected Criteria createCriteriaInternal() {
+		Criteria criteria = new Criteria();
+		return criteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public void clear() {
+		oredCriteria.clear();
+		orderByClause = null;
+		distinct = false;
+	}
+
+	/**
+	 * This class was generated by MyBatis Generator. This class corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	protected abstract static class GeneratedCriteria {
+		protected List<Criterion> criteria;
+
+		protected GeneratedCriteria() {
+			super();
+			criteria = new ArrayList<Criterion>();
+		}
+
+		public boolean isValid() {
+			return criteria.size() > 0;
+		}
+
+		public List<Criterion> getAllCriteria() {
+			return criteria;
+		}
+
+		public List<Criterion> getCriteria() {
+			return criteria;
+		}
+
+		protected void addCriterion(String condition) {
+			if (condition == null) {
+				throw new RuntimeException("Value for condition cannot be null");
+			}
+			criteria.add(new Criterion(condition));
+		}
+
+		protected void addCriterion(String condition, Object value, String property) {
+			if (value == null) {
+				throw new RuntimeException("Value for " + property + " cannot be null");
+			}
+			criteria.add(new Criterion(condition, value));
+		}
+
+		protected void addCriterion(String condition, Object value1, Object value2, String property) {
+			if (value1 == null || value2 == null) {
+				throw new RuntimeException("Between values for " + property + " cannot be null");
+			}
+			criteria.add(new Criterion(condition, value1, value2));
+		}
+
+		public Criteria andIdIsNull() {
+			addCriterion("id is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdIsNotNull() {
+			addCriterion("id is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdEqualTo(String value) {
+			addCriterion("id =", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotEqualTo(String value) {
+			addCriterion("id <>", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdGreaterThan(String value) {
+			addCriterion("id >", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdGreaterThanOrEqualTo(String value) {
+			addCriterion("id >=", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdLessThan(String value) {
+			addCriterion("id <", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdLessThanOrEqualTo(String value) {
+			addCriterion("id <=", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdLike(String value) {
+			addCriterion("id like", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotLike(String value) {
+			addCriterion("id not like", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdIn(List<String> values) {
+			addCriterion("id in", values, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotIn(List<String> values) {
+			addCriterion("id not in", values, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdBetween(String value1, String value2) {
+			addCriterion("id between", value1, value2, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotBetween(String value1, String value2) {
+			addCriterion("id not between", value1, value2, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidIsNull() {
+			addCriterion("cid is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidIsNotNull() {
+			addCriterion("cid is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidEqualTo(String value) {
+			addCriterion("cid =", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidNotEqualTo(String value) {
+			addCriterion("cid <>", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidGreaterThan(String value) {
+			addCriterion("cid >", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidGreaterThanOrEqualTo(String value) {
+			addCriterion("cid >=", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidLessThan(String value) {
+			addCriterion("cid <", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidLessThanOrEqualTo(String value) {
+			addCriterion("cid <=", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidLike(String value) {
+			addCriterion("cid like", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidNotLike(String value) {
+			addCriterion("cid not like", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidIn(List<String> values) {
+			addCriterion("cid in", values, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidNotIn(List<String> values) {
+			addCriterion("cid not in", values, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidBetween(String value1, String value2) {
+			addCriterion("cid between", value1, value2, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidNotBetween(String value1, String value2) {
+			addCriterion("cid not between", value1, value2, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameIsNull() {
+			addCriterion("operator_name is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameIsNotNull() {
+			addCriterion("operator_name is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameEqualTo(String value) {
+			addCriterion("operator_name =", value, "operatorName");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameNotEqualTo(String value) {
+			addCriterion("operator_name <>", value, "operatorName");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameGreaterThan(String value) {
+			addCriterion("operator_name >", value, "operatorName");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameGreaterThanOrEqualTo(String value) {
+			addCriterion("operator_name >=", value, "operatorName");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameLessThan(String value) {
+			addCriterion("operator_name <", value, "operatorName");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameLessThanOrEqualTo(String value) {
+			addCriterion("operator_name <=", value, "operatorName");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameLike(String value) {
+			addCriterion("operator_name like", value, "operatorName");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameNotLike(String value) {
+			addCriterion("operator_name not like", value, "operatorName");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameIn(List<String> values) {
+			addCriterion("operator_name in", values, "operatorName");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameNotIn(List<String> values) {
+			addCriterion("operator_name not in", values, "operatorName");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameBetween(String value1, String value2) {
+			addCriterion("operator_name between", value1, value2, "operatorName");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorNameNotBetween(String value1, String value2) {
+			addCriterion("operator_name not between", value1, value2, "operatorName");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypIsNull() {
+			addCriterion("operator_typ is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypIsNotNull() {
+			addCriterion("operator_typ is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypEqualTo(String value) {
+			addCriterion("operator_typ =", value, "operatorTyp");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypNotEqualTo(String value) {
+			addCriterion("operator_typ <>", value, "operatorTyp");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypGreaterThan(String value) {
+			addCriterion("operator_typ >", value, "operatorTyp");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypGreaterThanOrEqualTo(String value) {
+			addCriterion("operator_typ >=", value, "operatorTyp");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypLessThan(String value) {
+			addCriterion("operator_typ <", value, "operatorTyp");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypLessThanOrEqualTo(String value) {
+			addCriterion("operator_typ <=", value, "operatorTyp");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypLike(String value) {
+			addCriterion("operator_typ like", value, "operatorTyp");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypNotLike(String value) {
+			addCriterion("operator_typ not like", value, "operatorTyp");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypIn(List<String> values) {
+			addCriterion("operator_typ in", values, "operatorTyp");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypNotIn(List<String> values) {
+			addCriterion("operator_typ not in", values, "operatorTyp");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypBetween(String value1, String value2) {
+			addCriterion("operator_typ between", value1, value2, "operatorTyp");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorTypNotBetween(String value1, String value2) {
+			addCriterion("operator_typ not between", value1, value2, "operatorTyp");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeIsNull() {
+			addCriterion("operator_datetime is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeIsNotNull() {
+			addCriterion("operator_datetime is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeEqualTo(String value) {
+			addCriterion("operator_datetime =", value, "operatorDatetime");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeNotEqualTo(String value) {
+			addCriterion("operator_datetime <>", value, "operatorDatetime");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeGreaterThan(String value) {
+			addCriterion("operator_datetime >", value, "operatorDatetime");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeGreaterThanOrEqualTo(String value) {
+			addCriterion("operator_datetime >=", value, "operatorDatetime");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeLessThan(String value) {
+			addCriterion("operator_datetime <", value, "operatorDatetime");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeLessThanOrEqualTo(String value) {
+			addCriterion("operator_datetime <=", value, "operatorDatetime");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeLike(String value) {
+			addCriterion("operator_datetime like", value, "operatorDatetime");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeNotLike(String value) {
+			addCriterion("operator_datetime not like", value, "operatorDatetime");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeIn(List<String> values) {
+			addCriterion("operator_datetime in", values, "operatorDatetime");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeNotIn(List<String> values) {
+			addCriterion("operator_datetime not in", values, "operatorDatetime");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeBetween(String value1, String value2) {
+			addCriterion("operator_datetime between", value1, value2, "operatorDatetime");
+			return (Criteria) this;
+		}
+
+		public Criteria andOperatorDatetimeNotBetween(String value1, String value2) {
+			addCriterion("operator_datetime not between", value1, value2, "operatorDatetime");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusIsNull() {
+			addCriterion("before_status is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusIsNotNull() {
+			addCriterion("before_status is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusEqualTo(String value) {
+			addCriterion("before_status =", value, "beforeStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusNotEqualTo(String value) {
+			addCriterion("before_status <>", value, "beforeStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusGreaterThan(String value) {
+			addCriterion("before_status >", value, "beforeStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusGreaterThanOrEqualTo(String value) {
+			addCriterion("before_status >=", value, "beforeStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusLessThan(String value) {
+			addCriterion("before_status <", value, "beforeStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusLessThanOrEqualTo(String value) {
+			addCriterion("before_status <=", value, "beforeStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusLike(String value) {
+			addCriterion("before_status like", value, "beforeStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusNotLike(String value) {
+			addCriterion("before_status not like", value, "beforeStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusIn(List<String> values) {
+			addCriterion("before_status in", values, "beforeStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusNotIn(List<String> values) {
+			addCriterion("before_status not in", values, "beforeStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusBetween(String value1, String value2) {
+			addCriterion("before_status between", value1, value2, "beforeStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeStatusNotBetween(String value1, String value2) {
+			addCriterion("before_status not between", value1, value2, "beforeStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceIsNull() {
+			addCriterion("before_service is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceIsNotNull() {
+			addCriterion("before_service is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceEqualTo(String value) {
+			addCriterion("before_service =", value, "beforeService");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceNotEqualTo(String value) {
+			addCriterion("before_service <>", value, "beforeService");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceGreaterThan(String value) {
+			addCriterion("before_service >", value, "beforeService");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceGreaterThanOrEqualTo(String value) {
+			addCriterion("before_service >=", value, "beforeService");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceLessThan(String value) {
+			addCriterion("before_service <", value, "beforeService");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceLessThanOrEqualTo(String value) {
+			addCriterion("before_service <=", value, "beforeService");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceLike(String value) {
+			addCriterion("before_service like", value, "beforeService");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceNotLike(String value) {
+			addCriterion("before_service not like", value, "beforeService");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceIn(List<String> values) {
+			addCriterion("before_service in", values, "beforeService");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceNotIn(List<String> values) {
+			addCriterion("before_service not in", values, "beforeService");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceBetween(String value1, String value2) {
+			addCriterion("before_service between", value1, value2, "beforeService");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeServiceNotBetween(String value1, String value2) {
+			addCriterion("before_service not between", value1, value2, "beforeService");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceIsNull() {
+			addCriterion("after_service is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceIsNotNull() {
+			addCriterion("after_service is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceEqualTo(String value) {
+			addCriterion("after_service =", value, "afterService");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceNotEqualTo(String value) {
+			addCriterion("after_service <>", value, "afterService");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceGreaterThan(String value) {
+			addCriterion("after_service >", value, "afterService");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceGreaterThanOrEqualTo(String value) {
+			addCriterion("after_service >=", value, "afterService");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceLessThan(String value) {
+			addCriterion("after_service <", value, "afterService");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceLessThanOrEqualTo(String value) {
+			addCriterion("after_service <=", value, "afterService");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceLike(String value) {
+			addCriterion("after_service like", value, "afterService");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceNotLike(String value) {
+			addCriterion("after_service not like", value, "afterService");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceIn(List<String> values) {
+			addCriterion("after_service in", values, "afterService");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceNotIn(List<String> values) {
+			addCriterion("after_service not in", values, "afterService");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceBetween(String value1, String value2) {
+			addCriterion("after_service between", value1, value2, "afterService");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterServiceNotBetween(String value1, String value2) {
+			addCriterion("after_service not between", value1, value2, "afterService");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameIsNull() {
+			addCriterion("before_admin_name is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameIsNotNull() {
+			addCriterion("before_admin_name is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameEqualTo(String value) {
+			addCriterion("before_admin_name =", value, "beforeAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameNotEqualTo(String value) {
+			addCriterion("before_admin_name <>", value, "beforeAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameGreaterThan(String value) {
+			addCriterion("before_admin_name >", value, "beforeAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameGreaterThanOrEqualTo(String value) {
+			addCriterion("before_admin_name >=", value, "beforeAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameLessThan(String value) {
+			addCriterion("before_admin_name <", value, "beforeAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameLessThanOrEqualTo(String value) {
+			addCriterion("before_admin_name <=", value, "beforeAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameLike(String value) {
+			addCriterion("before_admin_name like", value, "beforeAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameNotLike(String value) {
+			addCriterion("before_admin_name not like", value, "beforeAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameIn(List<String> values) {
+			addCriterion("before_admin_name in", values, "beforeAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameNotIn(List<String> values) {
+			addCriterion("before_admin_name not in", values, "beforeAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameBetween(String value1, String value2) {
+			addCriterion("before_admin_name between", value1, value2, "beforeAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andBeforeAdminNameNotBetween(String value1, String value2) {
+			addCriterion("before_admin_name not between", value1, value2, "beforeAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameIsNull() {
+			addCriterion("after_admin_name is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameIsNotNull() {
+			addCriterion("after_admin_name is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameEqualTo(String value) {
+			addCriterion("after_admin_name =", value, "afterAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameNotEqualTo(String value) {
+			addCriterion("after_admin_name <>", value, "afterAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameGreaterThan(String value) {
+			addCriterion("after_admin_name >", value, "afterAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameGreaterThanOrEqualTo(String value) {
+			addCriterion("after_admin_name >=", value, "afterAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameLessThan(String value) {
+			addCriterion("after_admin_name <", value, "afterAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameLessThanOrEqualTo(String value) {
+			addCriterion("after_admin_name <=", value, "afterAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameLike(String value) {
+			addCriterion("after_admin_name like", value, "afterAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameNotLike(String value) {
+			addCriterion("after_admin_name not like", value, "afterAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameIn(List<String> values) {
+			addCriterion("after_admin_name in", values, "afterAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameNotIn(List<String> values) {
+			addCriterion("after_admin_name not in", values, "afterAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameBetween(String value1, String value2) {
+			addCriterion("after_admin_name between", value1, value2, "afterAdminName");
+			return (Criteria) this;
+		}
+
+		public Criteria andAfterAdminNameNotBetween(String value1, String value2) {
+			addCriterion("after_admin_name not between", value1, value2, "afterAdminName");
+			return (Criteria) this;
+		}
+	}
+
+	/**
+	 * This class was generated by MyBatis Generator. This class corresponds to the database table customer_log
+	 * @mbg.generated  Tue Oct 10 10:28:39 CST 2017
+	 */
+	public static class Criterion {
+		private String condition;
+		private Object value;
+		private Object secondValue;
+		private boolean noValue;
+		private boolean singleValue;
+		private boolean betweenValue;
+		private boolean listValue;
+		private String typeHandler;
+
+		public String getCondition() {
+			return condition;
+		}
+
+		public Object getValue() {
+			return value;
+		}
+
+		public Object getSecondValue() {
+			return secondValue;
+		}
+
+		public boolean isNoValue() {
+			return noValue;
+		}
+
+		public boolean isSingleValue() {
+			return singleValue;
+		}
+
+		public boolean isBetweenValue() {
+			return betweenValue;
+		}
+
+		public boolean isListValue() {
+			return listValue;
+		}
+
+		public String getTypeHandler() {
+			return typeHandler;
+		}
+
+		protected Criterion(String condition) {
+			super();
+			this.condition = condition;
+			this.typeHandler = null;
+			this.noValue = true;
+		}
+
+		protected Criterion(String condition, Object value, String typeHandler) {
+			super();
+			this.condition = condition;
+			this.value = value;
+			this.typeHandler = typeHandler;
+			if (value instanceof List<?>) {
+				this.listValue = true;
+			} else {
+				this.singleValue = true;
+			}
+		}
+
+		protected Criterion(String condition, Object value) {
+			this(condition, value, null);
+		}
+
+		protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+			super();
+			this.condition = condition;
+			this.value = value;
+			this.secondValue = secondValue;
+			this.typeHandler = typeHandler;
+			this.betweenValue = true;
+		}
+
+		protected Criterion(String condition, Object value, Object secondValue) {
+			this(condition, value, secondValue, null);
+		}
+	}
+
+	/**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table customer_log
+     *
+     * @mbg.generated do_not_delete_during_merge Mon Oct 09 17:18:39 CST 2017
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+}

+ 166 - 0
src/main/java/com/goafanti/common/model/CustomerOrganizationInfo.java

@@ -0,0 +1,166 @@
+package com.goafanti.common.model;
+
+public class CustomerOrganizationInfo {
+
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_organization_info.id
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	private String id;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_organization_info.cid
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	private String cid;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_organization_info.company_name
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	private String companyName;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_organization_info.location_province
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	private String locationProvince;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_organization_info.location_city
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	private String locationCity;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_organization_info.location_area
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	private String locationArea;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_organization_info.adress
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	private String adress;
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_organization_info.id
+	 * @return  the value of customer_organization_info.id
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_organization_info.id
+	 * @param id  the value for customer_organization_info.id
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_organization_info.cid
+	 * @return  the value of customer_organization_info.cid
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public String getCid() {
+		return cid;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_organization_info.cid
+	 * @param cid  the value for customer_organization_info.cid
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public void setCid(String cid) {
+		this.cid = cid;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_organization_info.company_name
+	 * @return  the value of customer_organization_info.company_name
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public String getCompanyName() {
+		return companyName;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_organization_info.company_name
+	 * @param companyName  the value for customer_organization_info.company_name
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public void setCompanyName(String companyName) {
+		this.companyName = companyName;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_organization_info.location_province
+	 * @return  the value of customer_organization_info.location_province
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public String getLocationProvince() {
+		return locationProvince;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_organization_info.location_province
+	 * @param locationProvince  the value for customer_organization_info.location_province
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public void setLocationProvince(String locationProvince) {
+		this.locationProvince = locationProvince;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_organization_info.location_city
+	 * @return  the value of customer_organization_info.location_city
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public String getLocationCity() {
+		return locationCity;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_organization_info.location_city
+	 * @param locationCity  the value for customer_organization_info.location_city
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public void setLocationCity(String locationCity) {
+		this.locationCity = locationCity;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_organization_info.location_area
+	 * @return  the value of customer_organization_info.location_area
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public String getLocationArea() {
+		return locationArea;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_organization_info.location_area
+	 * @param locationArea  the value for customer_organization_info.location_area
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public void setLocationArea(String locationArea) {
+		this.locationArea = locationArea;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_organization_info.adress
+	 * @return  the value of customer_organization_info.adress
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public String getAdress() {
+		return adress;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_organization_info.adress
+	 * @param adress  the value for customer_organization_info.adress
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public void setAdress(String adress) {
+		this.adress = adress;
+	}
+}

+ 751 - 0
src/main/java/com/goafanti/common/model/CustomerOrganizationInfoExample.java

@@ -0,0 +1,751 @@
+package com.goafanti.common.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CustomerOrganizationInfoExample {
+    /**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	protected String orderByClause;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	protected boolean distinct;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	protected List<Criteria> oredCriteria;
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public CustomerOrganizationInfoExample() {
+		oredCriteria = new ArrayList<Criteria>();
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public void setOrderByClause(String orderByClause) {
+		this.orderByClause = orderByClause;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public String getOrderByClause() {
+		return orderByClause;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public void setDistinct(boolean distinct) {
+		this.distinct = distinct;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public boolean isDistinct() {
+		return distinct;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public List<Criteria> getOredCriteria() {
+		return oredCriteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public void or(Criteria criteria) {
+		oredCriteria.add(criteria);
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public Criteria or() {
+		Criteria criteria = createCriteriaInternal();
+		oredCriteria.add(criteria);
+		return criteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public Criteria createCriteria() {
+		Criteria criteria = createCriteriaInternal();
+		if (oredCriteria.size() == 0) {
+			oredCriteria.add(criteria);
+		}
+		return criteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	protected Criteria createCriteriaInternal() {
+		Criteria criteria = new Criteria();
+		return criteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public void clear() {
+		oredCriteria.clear();
+		orderByClause = null;
+		distinct = false;
+	}
+
+	/**
+	 * This class was generated by MyBatis Generator. This class corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	protected abstract static class GeneratedCriteria {
+		protected List<Criterion> criteria;
+
+		protected GeneratedCriteria() {
+			super();
+			criteria = new ArrayList<Criterion>();
+		}
+
+		public boolean isValid() {
+			return criteria.size() > 0;
+		}
+
+		public List<Criterion> getAllCriteria() {
+			return criteria;
+		}
+
+		public List<Criterion> getCriteria() {
+			return criteria;
+		}
+
+		protected void addCriterion(String condition) {
+			if (condition == null) {
+				throw new RuntimeException("Value for condition cannot be null");
+			}
+			criteria.add(new Criterion(condition));
+		}
+
+		protected void addCriterion(String condition, Object value, String property) {
+			if (value == null) {
+				throw new RuntimeException("Value for " + property + " cannot be null");
+			}
+			criteria.add(new Criterion(condition, value));
+		}
+
+		protected void addCriterion(String condition, Object value1, Object value2, String property) {
+			if (value1 == null || value2 == null) {
+				throw new RuntimeException("Between values for " + property + " cannot be null");
+			}
+			criteria.add(new Criterion(condition, value1, value2));
+		}
+
+		public Criteria andIdIsNull() {
+			addCriterion("id is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdIsNotNull() {
+			addCriterion("id is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdEqualTo(String value) {
+			addCriterion("id =", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotEqualTo(String value) {
+			addCriterion("id <>", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdGreaterThan(String value) {
+			addCriterion("id >", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdGreaterThanOrEqualTo(String value) {
+			addCriterion("id >=", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdLessThan(String value) {
+			addCriterion("id <", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdLessThanOrEqualTo(String value) {
+			addCriterion("id <=", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdLike(String value) {
+			addCriterion("id like", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotLike(String value) {
+			addCriterion("id not like", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdIn(List<String> values) {
+			addCriterion("id in", values, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotIn(List<String> values) {
+			addCriterion("id not in", values, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdBetween(String value1, String value2) {
+			addCriterion("id between", value1, value2, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotBetween(String value1, String value2) {
+			addCriterion("id not between", value1, value2, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidIsNull() {
+			addCriterion("cid is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidIsNotNull() {
+			addCriterion("cid is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidEqualTo(String value) {
+			addCriterion("cid =", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidNotEqualTo(String value) {
+			addCriterion("cid <>", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidGreaterThan(String value) {
+			addCriterion("cid >", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidGreaterThanOrEqualTo(String value) {
+			addCriterion("cid >=", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidLessThan(String value) {
+			addCriterion("cid <", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidLessThanOrEqualTo(String value) {
+			addCriterion("cid <=", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidLike(String value) {
+			addCriterion("cid like", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidNotLike(String value) {
+			addCriterion("cid not like", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidIn(List<String> values) {
+			addCriterion("cid in", values, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidNotIn(List<String> values) {
+			addCriterion("cid not in", values, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidBetween(String value1, String value2) {
+			addCriterion("cid between", value1, value2, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidNotBetween(String value1, String value2) {
+			addCriterion("cid not between", value1, value2, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameIsNull() {
+			addCriterion("company_name is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameIsNotNull() {
+			addCriterion("company_name is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameEqualTo(String value) {
+			addCriterion("company_name =", value, "companyName");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameNotEqualTo(String value) {
+			addCriterion("company_name <>", value, "companyName");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameGreaterThan(String value) {
+			addCriterion("company_name >", value, "companyName");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameGreaterThanOrEqualTo(String value) {
+			addCriterion("company_name >=", value, "companyName");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameLessThan(String value) {
+			addCriterion("company_name <", value, "companyName");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameLessThanOrEqualTo(String value) {
+			addCriterion("company_name <=", value, "companyName");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameLike(String value) {
+			addCriterion("company_name like", value, "companyName");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameNotLike(String value) {
+			addCriterion("company_name not like", value, "companyName");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameIn(List<String> values) {
+			addCriterion("company_name in", values, "companyName");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameNotIn(List<String> values) {
+			addCriterion("company_name not in", values, "companyName");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameBetween(String value1, String value2) {
+			addCriterion("company_name between", value1, value2, "companyName");
+			return (Criteria) this;
+		}
+
+		public Criteria andCompanyNameNotBetween(String value1, String value2) {
+			addCriterion("company_name not between", value1, value2, "companyName");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceIsNull() {
+			addCriterion("location_province is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceIsNotNull() {
+			addCriterion("location_province is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceEqualTo(String value) {
+			addCriterion("location_province =", value, "locationProvince");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceNotEqualTo(String value) {
+			addCriterion("location_province <>", value, "locationProvince");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceGreaterThan(String value) {
+			addCriterion("location_province >", value, "locationProvince");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceGreaterThanOrEqualTo(String value) {
+			addCriterion("location_province >=", value, "locationProvince");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceLessThan(String value) {
+			addCriterion("location_province <", value, "locationProvince");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceLessThanOrEqualTo(String value) {
+			addCriterion("location_province <=", value, "locationProvince");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceLike(String value) {
+			addCriterion("location_province like", value, "locationProvince");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceNotLike(String value) {
+			addCriterion("location_province not like", value, "locationProvince");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceIn(List<String> values) {
+			addCriterion("location_province in", values, "locationProvince");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceNotIn(List<String> values) {
+			addCriterion("location_province not in", values, "locationProvince");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceBetween(String value1, String value2) {
+			addCriterion("location_province between", value1, value2, "locationProvince");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationProvinceNotBetween(String value1, String value2) {
+			addCriterion("location_province not between", value1, value2, "locationProvince");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityIsNull() {
+			addCriterion("location_city is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityIsNotNull() {
+			addCriterion("location_city is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityEqualTo(String value) {
+			addCriterion("location_city =", value, "locationCity");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityNotEqualTo(String value) {
+			addCriterion("location_city <>", value, "locationCity");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityGreaterThan(String value) {
+			addCriterion("location_city >", value, "locationCity");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityGreaterThanOrEqualTo(String value) {
+			addCriterion("location_city >=", value, "locationCity");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityLessThan(String value) {
+			addCriterion("location_city <", value, "locationCity");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityLessThanOrEqualTo(String value) {
+			addCriterion("location_city <=", value, "locationCity");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityLike(String value) {
+			addCriterion("location_city like", value, "locationCity");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityNotLike(String value) {
+			addCriterion("location_city not like", value, "locationCity");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityIn(List<String> values) {
+			addCriterion("location_city in", values, "locationCity");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityNotIn(List<String> values) {
+			addCriterion("location_city not in", values, "locationCity");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityBetween(String value1, String value2) {
+			addCriterion("location_city between", value1, value2, "locationCity");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationCityNotBetween(String value1, String value2) {
+			addCriterion("location_city not between", value1, value2, "locationCity");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaIsNull() {
+			addCriterion("location_area is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaIsNotNull() {
+			addCriterion("location_area is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaEqualTo(String value) {
+			addCriterion("location_area =", value, "locationArea");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaNotEqualTo(String value) {
+			addCriterion("location_area <>", value, "locationArea");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaGreaterThan(String value) {
+			addCriterion("location_area >", value, "locationArea");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaGreaterThanOrEqualTo(String value) {
+			addCriterion("location_area >=", value, "locationArea");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaLessThan(String value) {
+			addCriterion("location_area <", value, "locationArea");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaLessThanOrEqualTo(String value) {
+			addCriterion("location_area <=", value, "locationArea");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaLike(String value) {
+			addCriterion("location_area like", value, "locationArea");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaNotLike(String value) {
+			addCriterion("location_area not like", value, "locationArea");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaIn(List<String> values) {
+			addCriterion("location_area in", values, "locationArea");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaNotIn(List<String> values) {
+			addCriterion("location_area not in", values, "locationArea");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaBetween(String value1, String value2) {
+			addCriterion("location_area between", value1, value2, "locationArea");
+			return (Criteria) this;
+		}
+
+		public Criteria andLocationAreaNotBetween(String value1, String value2) {
+			addCriterion("location_area not between", value1, value2, "locationArea");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressIsNull() {
+			addCriterion("adress is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressIsNotNull() {
+			addCriterion("adress is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressEqualTo(String value) {
+			addCriterion("adress =", value, "adress");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressNotEqualTo(String value) {
+			addCriterion("adress <>", value, "adress");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressGreaterThan(String value) {
+			addCriterion("adress >", value, "adress");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressGreaterThanOrEqualTo(String value) {
+			addCriterion("adress >=", value, "adress");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressLessThan(String value) {
+			addCriterion("adress <", value, "adress");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressLessThanOrEqualTo(String value) {
+			addCriterion("adress <=", value, "adress");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressLike(String value) {
+			addCriterion("adress like", value, "adress");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressNotLike(String value) {
+			addCriterion("adress not like", value, "adress");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressIn(List<String> values) {
+			addCriterion("adress in", values, "adress");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressNotIn(List<String> values) {
+			addCriterion("adress not in", values, "adress");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressBetween(String value1, String value2) {
+			addCriterion("adress between", value1, value2, "adress");
+			return (Criteria) this;
+		}
+
+		public Criteria andAdressNotBetween(String value1, String value2) {
+			addCriterion("adress not between", value1, value2, "adress");
+			return (Criteria) this;
+		}
+	}
+
+	/**
+	 * This class was generated by MyBatis Generator. This class corresponds to the database table customer_organization_info
+	 * @mbg.generated  Mon Oct 09 17:41:04 CST 2017
+	 */
+	public static class Criterion {
+		private String condition;
+		private Object value;
+		private Object secondValue;
+		private boolean noValue;
+		private boolean singleValue;
+		private boolean betweenValue;
+		private boolean listValue;
+		private String typeHandler;
+
+		public String getCondition() {
+			return condition;
+		}
+
+		public Object getValue() {
+			return value;
+		}
+
+		public Object getSecondValue() {
+			return secondValue;
+		}
+
+		public boolean isNoValue() {
+			return noValue;
+		}
+
+		public boolean isSingleValue() {
+			return singleValue;
+		}
+
+		public boolean isBetweenValue() {
+			return betweenValue;
+		}
+
+		public boolean isListValue() {
+			return listValue;
+		}
+
+		public String getTypeHandler() {
+			return typeHandler;
+		}
+
+		protected Criterion(String condition) {
+			super();
+			this.condition = condition;
+			this.typeHandler = null;
+			this.noValue = true;
+		}
+
+		protected Criterion(String condition, Object value, String typeHandler) {
+			super();
+			this.condition = condition;
+			this.value = value;
+			this.typeHandler = typeHandler;
+			if (value instanceof List<?>) {
+				this.listValue = true;
+			} else {
+				this.singleValue = true;
+			}
+		}
+
+		protected Criterion(String condition, Object value) {
+			this(condition, value, null);
+		}
+
+		protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+			super();
+			this.condition = condition;
+			this.value = value;
+			this.secondValue = secondValue;
+			this.typeHandler = typeHandler;
+			this.betweenValue = true;
+		}
+
+		protected Criterion(String condition, Object value, Object secondValue) {
+			this(condition, value, secondValue, null);
+		}
+	}
+
+	/**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table customer_organization_info
+     *
+     * @mbg.generated do_not_delete_during_merge Mon Oct 09 17:18:27 CST 2017
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+}

+ 258 - 0
src/main/java/com/goafanti/common/model/CustomerUserInfo.java

@@ -0,0 +1,258 @@
+package com.goafanti.common.model;
+
+public class CustomerUserInfo {
+
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_user_info.id
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	private String id;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_user_info.cid
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	private String cid;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_user_info.name
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	private String name;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_user_info.sex
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	private String sex;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_user_info.mobile
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	private String mobile;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_user_info.email
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	private String email;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_user_info.qq
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	private String qq;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_user_info.wechat
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	private String wechat;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_user_info.depatrment
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	private String depatrment;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_user_info.customer_position
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	private String customerPosition;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column customer_user_info.remarks
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	private String remarks;
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_user_info.id
+	 * @return  the value of customer_user_info.id
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_user_info.id
+	 * @param id  the value for customer_user_info.id
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_user_info.cid
+	 * @return  the value of customer_user_info.cid
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public String getCid() {
+		return cid;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_user_info.cid
+	 * @param cid  the value for customer_user_info.cid
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public void setCid(String cid) {
+		this.cid = cid;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_user_info.name
+	 * @return  the value of customer_user_info.name
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_user_info.name
+	 * @param name  the value for customer_user_info.name
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_user_info.sex
+	 * @return  the value of customer_user_info.sex
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public String getSex() {
+		return sex;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_user_info.sex
+	 * @param sex  the value for customer_user_info.sex
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public void setSex(String sex) {
+		this.sex = sex;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_user_info.mobile
+	 * @return  the value of customer_user_info.mobile
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public String getMobile() {
+		return mobile;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_user_info.mobile
+	 * @param mobile  the value for customer_user_info.mobile
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public void setMobile(String mobile) {
+		this.mobile = mobile;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_user_info.email
+	 * @return  the value of customer_user_info.email
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public String getEmail() {
+		return email;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_user_info.email
+	 * @param email  the value for customer_user_info.email
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public void setEmail(String email) {
+		this.email = email;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_user_info.qq
+	 * @return  the value of customer_user_info.qq
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public String getQq() {
+		return qq;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_user_info.qq
+	 * @param qq  the value for customer_user_info.qq
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public void setQq(String qq) {
+		this.qq = qq;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_user_info.wechat
+	 * @return  the value of customer_user_info.wechat
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public String getWechat() {
+		return wechat;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_user_info.wechat
+	 * @param wechat  the value for customer_user_info.wechat
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public void setWechat(String wechat) {
+		this.wechat = wechat;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_user_info.depatrment
+	 * @return  the value of customer_user_info.depatrment
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public String getDepatrment() {
+		return depatrment;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_user_info.depatrment
+	 * @param depatrment  the value for customer_user_info.depatrment
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public void setDepatrment(String depatrment) {
+		this.depatrment = depatrment;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_user_info.customer_position
+	 * @return  the value of customer_user_info.customer_position
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public String getCustomerPosition() {
+		return customerPosition;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_user_info.customer_position
+	 * @param customerPosition  the value for customer_user_info.customer_position
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public void setCustomerPosition(String customerPosition) {
+		this.customerPosition = customerPosition;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column customer_user_info.remarks
+	 * @return  the value of customer_user_info.remarks
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public String getRemarks() {
+		return remarks;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column customer_user_info.remarks
+	 * @param remarks  the value for customer_user_info.remarks
+	 * @mbg.generated  Mon Oct 09 17:40:56 CST 2017
+	 */
+	public void setRemarks(String remarks) {
+		this.remarks = remarks;
+	}
+}

File diff suppressed because it is too large
+ 1031 - 0
src/main/java/com/goafanti/common/model/CustomerUserInfoExample.java


+ 191 - 0
src/main/java/com/goafanti/common/model/FollowUpRecord.java

@@ -0,0 +1,191 @@
+package com.goafanti.common.model;
+
+import java.util.Date;
+
+public class FollowUpRecord {
+
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column follow_up_record.id
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	private String id;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column follow_up_record.cid
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	private String cid;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column follow_up_record.aid
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	private String aid;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column follow_up_record.follow_date
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	private Date followDate;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column follow_up_record.tm_stamp
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	private Date tmStamp;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column follow_up_record.follow_result
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	private String followResult;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column follow_up_record.follow_status
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	private Integer followStatus;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column follow_up_record.attachment
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	private Integer attachment;
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column follow_up_record.id
+	 * @return  the value of follow_up_record.id
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column follow_up_record.id
+	 * @param id  the value for follow_up_record.id
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column follow_up_record.cid
+	 * @return  the value of follow_up_record.cid
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public String getCid() {
+		return cid;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column follow_up_record.cid
+	 * @param cid  the value for follow_up_record.cid
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public void setCid(String cid) {
+		this.cid = cid;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column follow_up_record.aid
+	 * @return  the value of follow_up_record.aid
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public String getAid() {
+		return aid;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column follow_up_record.aid
+	 * @param aid  the value for follow_up_record.aid
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public void setAid(String aid) {
+		this.aid = aid;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column follow_up_record.follow_date
+	 * @return  the value of follow_up_record.follow_date
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public Date getFollowDate() {
+		return followDate;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column follow_up_record.follow_date
+	 * @param followDate  the value for follow_up_record.follow_date
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public void setFollowDate(Date followDate) {
+		this.followDate = followDate;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column follow_up_record.tm_stamp
+	 * @return  the value of follow_up_record.tm_stamp
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public Date getTmStamp() {
+		return tmStamp;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column follow_up_record.tm_stamp
+	 * @param tmStamp  the value for follow_up_record.tm_stamp
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public void setTmStamp(Date tmStamp) {
+		this.tmStamp = tmStamp;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column follow_up_record.follow_result
+	 * @return  the value of follow_up_record.follow_result
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public String getFollowResult() {
+		return followResult;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column follow_up_record.follow_result
+	 * @param followResult  the value for follow_up_record.follow_result
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public void setFollowResult(String followResult) {
+		this.followResult = followResult;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column follow_up_record.follow_status
+	 * @return  the value of follow_up_record.follow_status
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public Integer getFollowStatus() {
+		return followStatus;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column follow_up_record.follow_status
+	 * @param followStatus  the value for follow_up_record.follow_status
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public void setFollowStatus(Integer followStatus) {
+		this.followStatus = followStatus;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column follow_up_record.attachment
+	 * @return  the value of follow_up_record.attachment
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public Integer getAttachment() {
+		return attachment;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column follow_up_record.attachment
+	 * @param attachment  the value for follow_up_record.attachment
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public void setAttachment(Integer attachment) {
+		this.attachment = attachment;
+	}
+}

+ 782 - 0
src/main/java/com/goafanti/common/model/FollowUpRecordExample.java

@@ -0,0 +1,782 @@
+package com.goafanti.common.model;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class FollowUpRecordExample {
+    /**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	protected String orderByClause;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	protected boolean distinct;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	protected List<Criteria> oredCriteria;
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public FollowUpRecordExample() {
+		oredCriteria = new ArrayList<Criteria>();
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public void setOrderByClause(String orderByClause) {
+		this.orderByClause = orderByClause;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public String getOrderByClause() {
+		return orderByClause;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public void setDistinct(boolean distinct) {
+		this.distinct = distinct;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public boolean isDistinct() {
+		return distinct;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public List<Criteria> getOredCriteria() {
+		return oredCriteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public void or(Criteria criteria) {
+		oredCriteria.add(criteria);
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public Criteria or() {
+		Criteria criteria = createCriteriaInternal();
+		oredCriteria.add(criteria);
+		return criteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public Criteria createCriteria() {
+		Criteria criteria = createCriteriaInternal();
+		if (oredCriteria.size() == 0) {
+			oredCriteria.add(criteria);
+		}
+		return criteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	protected Criteria createCriteriaInternal() {
+		Criteria criteria = new Criteria();
+		return criteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public void clear() {
+		oredCriteria.clear();
+		orderByClause = null;
+		distinct = false;
+	}
+
+	/**
+	 * This class was generated by MyBatis Generator. This class corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	protected abstract static class GeneratedCriteria {
+		protected List<Criterion> criteria;
+
+		protected GeneratedCriteria() {
+			super();
+			criteria = new ArrayList<Criterion>();
+		}
+
+		public boolean isValid() {
+			return criteria.size() > 0;
+		}
+
+		public List<Criterion> getAllCriteria() {
+			return criteria;
+		}
+
+		public List<Criterion> getCriteria() {
+			return criteria;
+		}
+
+		protected void addCriterion(String condition) {
+			if (condition == null) {
+				throw new RuntimeException("Value for condition cannot be null");
+			}
+			criteria.add(new Criterion(condition));
+		}
+
+		protected void addCriterion(String condition, Object value, String property) {
+			if (value == null) {
+				throw new RuntimeException("Value for " + property + " cannot be null");
+			}
+			criteria.add(new Criterion(condition, value));
+		}
+
+		protected void addCriterion(String condition, Object value1, Object value2, String property) {
+			if (value1 == null || value2 == null) {
+				throw new RuntimeException("Between values for " + property + " cannot be null");
+			}
+			criteria.add(new Criterion(condition, value1, value2));
+		}
+
+		public Criteria andIdIsNull() {
+			addCriterion("id is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdIsNotNull() {
+			addCriterion("id is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdEqualTo(String value) {
+			addCriterion("id =", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotEqualTo(String value) {
+			addCriterion("id <>", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdGreaterThan(String value) {
+			addCriterion("id >", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdGreaterThanOrEqualTo(String value) {
+			addCriterion("id >=", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdLessThan(String value) {
+			addCriterion("id <", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdLessThanOrEqualTo(String value) {
+			addCriterion("id <=", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdLike(String value) {
+			addCriterion("id like", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotLike(String value) {
+			addCriterion("id not like", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdIn(List<String> values) {
+			addCriterion("id in", values, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotIn(List<String> values) {
+			addCriterion("id not in", values, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdBetween(String value1, String value2) {
+			addCriterion("id between", value1, value2, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotBetween(String value1, String value2) {
+			addCriterion("id not between", value1, value2, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidIsNull() {
+			addCriterion("cid is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidIsNotNull() {
+			addCriterion("cid is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidEqualTo(String value) {
+			addCriterion("cid =", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidNotEqualTo(String value) {
+			addCriterion("cid <>", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidGreaterThan(String value) {
+			addCriterion("cid >", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidGreaterThanOrEqualTo(String value) {
+			addCriterion("cid >=", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidLessThan(String value) {
+			addCriterion("cid <", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidLessThanOrEqualTo(String value) {
+			addCriterion("cid <=", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidLike(String value) {
+			addCriterion("cid like", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidNotLike(String value) {
+			addCriterion("cid not like", value, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidIn(List<String> values) {
+			addCriterion("cid in", values, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidNotIn(List<String> values) {
+			addCriterion("cid not in", values, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidBetween(String value1, String value2) {
+			addCriterion("cid between", value1, value2, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andCidNotBetween(String value1, String value2) {
+			addCriterion("cid not between", value1, value2, "cid");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidIsNull() {
+			addCriterion("aid is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidIsNotNull() {
+			addCriterion("aid is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidEqualTo(String value) {
+			addCriterion("aid =", value, "aid");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidNotEqualTo(String value) {
+			addCriterion("aid <>", value, "aid");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidGreaterThan(String value) {
+			addCriterion("aid >", value, "aid");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidGreaterThanOrEqualTo(String value) {
+			addCriterion("aid >=", value, "aid");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidLessThan(String value) {
+			addCriterion("aid <", value, "aid");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidLessThanOrEqualTo(String value) {
+			addCriterion("aid <=", value, "aid");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidLike(String value) {
+			addCriterion("aid like", value, "aid");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidNotLike(String value) {
+			addCriterion("aid not like", value, "aid");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidIn(List<String> values) {
+			addCriterion("aid in", values, "aid");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidNotIn(List<String> values) {
+			addCriterion("aid not in", values, "aid");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidBetween(String value1, String value2) {
+			addCriterion("aid between", value1, value2, "aid");
+			return (Criteria) this;
+		}
+
+		public Criteria andAidNotBetween(String value1, String value2) {
+			addCriterion("aid not between", value1, value2, "aid");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowDateIsNull() {
+			addCriterion("follow_date is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowDateIsNotNull() {
+			addCriterion("follow_date is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowDateEqualTo(Date value) {
+			addCriterion("follow_date =", value, "followDate");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowDateNotEqualTo(Date value) {
+			addCriterion("follow_date <>", value, "followDate");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowDateGreaterThan(Date value) {
+			addCriterion("follow_date >", value, "followDate");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowDateGreaterThanOrEqualTo(Date value) {
+			addCriterion("follow_date >=", value, "followDate");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowDateLessThan(Date value) {
+			addCriterion("follow_date <", value, "followDate");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowDateLessThanOrEqualTo(Date value) {
+			addCriterion("follow_date <=", value, "followDate");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowDateIn(List<Date> values) {
+			addCriterion("follow_date in", values, "followDate");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowDateNotIn(List<Date> values) {
+			addCriterion("follow_date not in", values, "followDate");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowDateBetween(Date value1, Date value2) {
+			addCriterion("follow_date between", value1, value2, "followDate");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowDateNotBetween(Date value1, Date value2) {
+			addCriterion("follow_date not between", value1, value2, "followDate");
+			return (Criteria) this;
+		}
+
+		public Criteria andTmStampIsNull() {
+			addCriterion("tm_stamp is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andTmStampIsNotNull() {
+			addCriterion("tm_stamp is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andTmStampEqualTo(Date value) {
+			addCriterion("tm_stamp =", value, "tmStamp");
+			return (Criteria) this;
+		}
+
+		public Criteria andTmStampNotEqualTo(Date value) {
+			addCriterion("tm_stamp <>", value, "tmStamp");
+			return (Criteria) this;
+		}
+
+		public Criteria andTmStampGreaterThan(Date value) {
+			addCriterion("tm_stamp >", value, "tmStamp");
+			return (Criteria) this;
+		}
+
+		public Criteria andTmStampGreaterThanOrEqualTo(Date value) {
+			addCriterion("tm_stamp >=", value, "tmStamp");
+			return (Criteria) this;
+		}
+
+		public Criteria andTmStampLessThan(Date value) {
+			addCriterion("tm_stamp <", value, "tmStamp");
+			return (Criteria) this;
+		}
+
+		public Criteria andTmStampLessThanOrEqualTo(Date value) {
+			addCriterion("tm_stamp <=", value, "tmStamp");
+			return (Criteria) this;
+		}
+
+		public Criteria andTmStampIn(List<Date> values) {
+			addCriterion("tm_stamp in", values, "tmStamp");
+			return (Criteria) this;
+		}
+
+		public Criteria andTmStampNotIn(List<Date> values) {
+			addCriterion("tm_stamp not in", values, "tmStamp");
+			return (Criteria) this;
+		}
+
+		public Criteria andTmStampBetween(Date value1, Date value2) {
+			addCriterion("tm_stamp between", value1, value2, "tmStamp");
+			return (Criteria) this;
+		}
+
+		public Criteria andTmStampNotBetween(Date value1, Date value2) {
+			addCriterion("tm_stamp not between", value1, value2, "tmStamp");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultIsNull() {
+			addCriterion("follow_result is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultIsNotNull() {
+			addCriterion("follow_result is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultEqualTo(String value) {
+			addCriterion("follow_result =", value, "followResult");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultNotEqualTo(String value) {
+			addCriterion("follow_result <>", value, "followResult");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultGreaterThan(String value) {
+			addCriterion("follow_result >", value, "followResult");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultGreaterThanOrEqualTo(String value) {
+			addCriterion("follow_result >=", value, "followResult");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultLessThan(String value) {
+			addCriterion("follow_result <", value, "followResult");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultLessThanOrEqualTo(String value) {
+			addCriterion("follow_result <=", value, "followResult");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultLike(String value) {
+			addCriterion("follow_result like", value, "followResult");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultNotLike(String value) {
+			addCriterion("follow_result not like", value, "followResult");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultIn(List<String> values) {
+			addCriterion("follow_result in", values, "followResult");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultNotIn(List<String> values) {
+			addCriterion("follow_result not in", values, "followResult");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultBetween(String value1, String value2) {
+			addCriterion("follow_result between", value1, value2, "followResult");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowResultNotBetween(String value1, String value2) {
+			addCriterion("follow_result not between", value1, value2, "followResult");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowStatusIsNull() {
+			addCriterion("follow_status is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowStatusIsNotNull() {
+			addCriterion("follow_status is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowStatusEqualTo(Integer value) {
+			addCriterion("follow_status =", value, "followStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowStatusNotEqualTo(Integer value) {
+			addCriterion("follow_status <>", value, "followStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowStatusGreaterThan(Integer value) {
+			addCriterion("follow_status >", value, "followStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowStatusGreaterThanOrEqualTo(Integer value) {
+			addCriterion("follow_status >=", value, "followStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowStatusLessThan(Integer value) {
+			addCriterion("follow_status <", value, "followStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowStatusLessThanOrEqualTo(Integer value) {
+			addCriterion("follow_status <=", value, "followStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowStatusIn(List<Integer> values) {
+			addCriterion("follow_status in", values, "followStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowStatusNotIn(List<Integer> values) {
+			addCriterion("follow_status not in", values, "followStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowStatusBetween(Integer value1, Integer value2) {
+			addCriterion("follow_status between", value1, value2, "followStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andFollowStatusNotBetween(Integer value1, Integer value2) {
+			addCriterion("follow_status not between", value1, value2, "followStatus");
+			return (Criteria) this;
+		}
+
+		public Criteria andAttachmentIsNull() {
+			addCriterion("attachment is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andAttachmentIsNotNull() {
+			addCriterion("attachment is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andAttachmentEqualTo(Integer value) {
+			addCriterion("attachment =", value, "attachment");
+			return (Criteria) this;
+		}
+
+		public Criteria andAttachmentNotEqualTo(Integer value) {
+			addCriterion("attachment <>", value, "attachment");
+			return (Criteria) this;
+		}
+
+		public Criteria andAttachmentGreaterThan(Integer value) {
+			addCriterion("attachment >", value, "attachment");
+			return (Criteria) this;
+		}
+
+		public Criteria andAttachmentGreaterThanOrEqualTo(Integer value) {
+			addCriterion("attachment >=", value, "attachment");
+			return (Criteria) this;
+		}
+
+		public Criteria andAttachmentLessThan(Integer value) {
+			addCriterion("attachment <", value, "attachment");
+			return (Criteria) this;
+		}
+
+		public Criteria andAttachmentLessThanOrEqualTo(Integer value) {
+			addCriterion("attachment <=", value, "attachment");
+			return (Criteria) this;
+		}
+
+		public Criteria andAttachmentIn(List<Integer> values) {
+			addCriterion("attachment in", values, "attachment");
+			return (Criteria) this;
+		}
+
+		public Criteria andAttachmentNotIn(List<Integer> values) {
+			addCriterion("attachment not in", values, "attachment");
+			return (Criteria) this;
+		}
+
+		public Criteria andAttachmentBetween(Integer value1, Integer value2) {
+			addCriterion("attachment between", value1, value2, "attachment");
+			return (Criteria) this;
+		}
+
+		public Criteria andAttachmentNotBetween(Integer value1, Integer value2) {
+			addCriterion("attachment not between", value1, value2, "attachment");
+			return (Criteria) this;
+		}
+	}
+
+	/**
+	 * This class was generated by MyBatis Generator. This class corresponds to the database table follow_up_record
+	 * @mbg.generated  Mon Oct 09 17:40:36 CST 2017
+	 */
+	public static class Criterion {
+		private String condition;
+		private Object value;
+		private Object secondValue;
+		private boolean noValue;
+		private boolean singleValue;
+		private boolean betweenValue;
+		private boolean listValue;
+		private String typeHandler;
+
+		public String getCondition() {
+			return condition;
+		}
+
+		public Object getValue() {
+			return value;
+		}
+
+		public Object getSecondValue() {
+			return secondValue;
+		}
+
+		public boolean isNoValue() {
+			return noValue;
+		}
+
+		public boolean isSingleValue() {
+			return singleValue;
+		}
+
+		public boolean isBetweenValue() {
+			return betweenValue;
+		}
+
+		public boolean isListValue() {
+			return listValue;
+		}
+
+		public String getTypeHandler() {
+			return typeHandler;
+		}
+
+		protected Criterion(String condition) {
+			super();
+			this.condition = condition;
+			this.typeHandler = null;
+			this.noValue = true;
+		}
+
+		protected Criterion(String condition, Object value, String typeHandler) {
+			super();
+			this.condition = condition;
+			this.value = value;
+			this.typeHandler = typeHandler;
+			if (value instanceof List<?>) {
+				this.listValue = true;
+			} else {
+				this.singleValue = true;
+			}
+		}
+
+		protected Criterion(String condition, Object value) {
+			this(condition, value, null);
+		}
+
+		protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+			super();
+			this.condition = condition;
+			this.value = value;
+			this.secondValue = secondValue;
+			this.typeHandler = typeHandler;
+			this.betweenValue = true;
+		}
+
+		protected Criterion(String condition, Object value, Object secondValue) {
+			this(condition, value, secondValue, null);
+		}
+	}
+
+	/**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table follow_up_record
+     *
+     * @mbg.generated do_not_delete_during_merge Mon Oct 09 17:39:34 CST 2017
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+}

+ 3 - 4
src/main/webapp/WEB-INF/views/admin/marketing.html

@@ -2,15 +2,14 @@
 <html xmlns="http://www.w3.org/1999/xhtml"
 	xmlns:th="http://www.thymeleaf.org">
 <head th:replace="common::header(~{::title},~{::link})">
-	<title>营销管理</title>
-	<link th:href="${staticHost+'/admin/marketing.css'}" rel="stylesheet">
+	<title>客户管理</title>
+	<link th:href="${staticHost+'/admin/customer.css'}" rel="stylesheet">
 </head>
 <body>
 	<div id="root"></div>
-	
 	<div th:replace="common::footer(~{::script})">
 		<script type="text/javascript" th:src="${staticHost+'/vendors.js'}"></script>
-		<script type="text/javascript" th:src="${staticHost+'/admin/marketing.js'}"></script>
+		<script type="text/javascript" th:src="${staticHost+'/admin/customer.js'}"></script>
 	</div>
 </body>
 </html>