Jelajahi Sumber

feat: 名片上传和查询接口开发

chenjianhua 1 bulan lalu
induk
melakukan
ab7b5f6ea5

+ 37 - 0
service-base/src/main/java/com/simuwang/base/mapper/daq/CompanyContactInfoMapper.java

@@ -0,0 +1,37 @@
+package com.simuwang.base.mapper.daq;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.simuwang.base.pojo.dos.CompanyContactInfoDO;
+
+import com.simuwang.base.pojo.dos.CompanyContactInfoPageDO;
+import com.simuwang.base.pojo.dos.CompanyContactPageDO;
+import com.simuwang.base.pojo.dto.query.CompanyContactQuery;
+import com.simuwang.base.pojo.dto.query.CompanyIdQuery;
+import com.simuwang.base.pojo.vo.IdVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+import java.util.List;
+
+@Mapper
+public interface CompanyContactInfoMapper extends BaseMapper<CompanyContactInfoDO> {
+
+    CompanyContactInfoDO getCompanyContactInfo(@Param("companyId") String companyId, @Param("contactDate")String contactDate);
+
+    List<CompanyContactInfoPageDO> selectCompanyContactInfoList(CompanyContactQuery companyContactQuery);
+
+    long countCompanyContactInfo(CompanyContactQuery companyContactQuery);
+
+    List<CompanyContactPageDO> selectCompanyContactListByCompanyId(CompanyIdQuery companyIdQuery);
+
+    long countCompanyContactByCompanyId(CompanyIdQuery companyIdQuery);
+
+    CompanyContactPageDO saveCompanyContactDetail(Integer id);
+
+    void deleteCompanyContactInfoById(@Param("id") Integer id,@Param("userId") Integer userId);
+
+    CompanyContactInfoDO getLastCompanyContactInfoDO(String companyId);
+
+    int selectCountByContactId(@Param("contactId") Integer id);
+}

+ 23 - 0
service-base/src/main/java/com/simuwang/base/mapper/daq/ContactInformationMapper.java

@@ -0,0 +1,23 @@
+package com.simuwang.base.mapper.daq;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.simuwang.base.pojo.dos.ContactInformationDO;
+
+import com.simuwang.base.pojo.dto.query.ContactQuery;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface ContactInformationMapper extends BaseMapper<ContactInformationDO> {
+
+    ContactInformationDO getContactInformation(ContactInformationDO contactInformationDO);
+
+    List<ContactInformationDO> selectContactInformationList(ContactQuery contactQuery);
+
+    long countContactInfo(ContactQuery contactQuery);
+
+    void deleteContactInformationById(@Param("id") Integer id,@Param("userId")  Integer userId);
+
+}

+ 15 - 0
service-base/src/main/java/com/simuwang/base/mapper/daq/LastCompanyContactInfoMapper.java

@@ -0,0 +1,15 @@
+package com.simuwang.base.mapper.daq;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import com.simuwang.base.pojo.dos.LastCompanyContactInfoDO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface LastCompanyContactInfoMapper extends BaseMapper<LastCompanyContactInfoDO> {
+
+    LastCompanyContactInfoDO getLastCompanyContactInfoDOByCompanyId(@Param("companyId") String companyId);
+
+    void deleteLastById(@Param("id") Integer id,@Param("userId") Integer userId);
+}

+ 145 - 0
service-base/src/main/java/com/simuwang/base/pojo/dos/CompanyContactInfoDO.java

@@ -0,0 +1,145 @@
+package com.simuwang.base.pojo.dos;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.simuwang.base.common.util.DateUtils;
+import com.simuwang.base.pojo.vo.CompanyContactInfoVO;
+import lombok.Data;
+
+import java.util.Date;
+@Data
+@TableName("company_contact_info")
+public class CompanyContactInfoDO {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.id
+     */
+    @TableId(value = "id",type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 公司ID
+     */
+    @TableField("company_id")
+    private String companyId;
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.contact_date
+     */
+    @TableField("contact_date")
+    private Date contactDate;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.contactor
+     */
+    @TableField("contactor")
+    private String contactor;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.customer_manager
+     */
+    @TableField("customer_manager")
+    private String customerManager;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.contact_id
+     */
+    @TableField("contact_id")
+    private Integer contactId;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.contact_status
+     */
+    @TableField("contact_status")
+    private Integer contactStatus;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.sign_method
+     */
+    @TableField("sign_method")
+    private Integer signMethod;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.contact_remark
+     */
+    @TableField("contact_remark")
+    private String contactRemark;
+
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.creatorid
+     */
+    @TableField("creatorid")
+    private Integer creatorId;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.createtime
+     */
+    @TableField("createtime")
+    private Date createTime;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.updaterid
+     */
+    @TableField("updaterid")
+    private Integer updaterId;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.updatetime
+     */
+    @TableField("updatetime")
+    private Date updateTime;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column company_cantact_info.isvalid
+     */
+    @TableField("isvalid")
+    private Integer isvalid;
+
+
+    public CompanyContactInfoVO toVO() {
+        CompanyContactInfoVO vo = new CompanyContactInfoVO();
+        vo.setId(this.id);
+        vo.setCompanyId(this.companyId);
+        vo.setContactId(this.contactId);
+        vo.setContactDate(DateUtils.format(this.contactDate,DateUtils.YYYY_MM_DD));
+        vo.setContactRemark(this.contactRemark);
+        vo.setContactStatus(this.contactStatus);
+        vo.setContactor(this.contactor);
+        vo.setCustomerManager(this.customerManager);
+        vo.setSignMethod(this.signMethod);
+        vo.setCreatorId(this.creatorId);
+        vo.setUpdaterId(this.updaterId);
+        vo.setUpdateTime(DateUtils.format(this.updateTime,DateUtils.YYYY_MM_DD_HH_MM_SS));
+        vo.setCreateTime(DateUtils.format(this.createTime,DateUtils.YYYY_MM_DD_HH_MM_SS));
+        return vo;
+    }
+
+    public void toLastDO(LastCompanyContactInfoDO lastCompanyContactInfoDO) {
+        lastCompanyContactInfoDO.setCompanyId(this.companyId);
+        lastCompanyContactInfoDO.setContactId(this.contactId);
+        lastCompanyContactInfoDO.setContactDate(this.contactDate);
+        lastCompanyContactInfoDO.setContactRemark(this.contactRemark);
+        lastCompanyContactInfoDO.setContactStatus(this.contactStatus);
+        lastCompanyContactInfoDO.setContactor(this.contactor);
+        lastCompanyContactInfoDO.setCustomerManager(this.customerManager);
+        lastCompanyContactInfoDO.setSignMethod(this.signMethod);
+        lastCompanyContactInfoDO.setCreatorId(this.creatorId);
+        lastCompanyContactInfoDO.setUpdaterId(this.updaterId);
+        lastCompanyContactInfoDO.setUpdateTime(this.updateTime);
+        lastCompanyContactInfoDO.setCreateTime(this.createTime);
+    }
+}

+ 132 - 0
service-base/src/main/java/com/simuwang/base/pojo/dos/ContactInformationDO.java

@@ -0,0 +1,132 @@
+package com.simuwang.base.pojo.dos;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.simuwang.base.common.util.DateUtils;
+import com.simuwang.base.pojo.vo.ContactInformationVO;
+import lombok.Data;
+
+import java.util.Date;
+@Data
+@TableName("contact_information")
+public class ContactInformationDO {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.id
+     */
+    @TableId(value = "id",type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 公司ID
+     */
+    @TableField("company_id")
+    private String companyId;
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.contact_name
+     */
+    @TableField("contact_name")
+    private String contactName;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.contact_email
+     */
+    @TableField("contact_email")
+    private String contactEmail;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.contact_phone
+     */
+    @TableField("contact_phone")
+    private String contactPhone;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.contact_wechat
+     */
+    @TableField("contact_wechat")
+    private String contactWechat;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.contact_position
+     */
+    @TableField("contact_position")
+    private String contactPosition;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.contact_remark
+     */
+    @TableField("contact_remark")
+    private String contactRemark;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.cantact_file_name
+     */
+    @TableField("file_id")
+    private Integer fileId;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.creatorid
+     */
+    @TableField("creatorid")
+    private Integer creatorId;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.createtime
+     */
+    @TableField("createtime")
+    private Date createTime;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.updaterid
+     */
+    @TableField("updaterid")
+    private Integer updaterId;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.updatetime
+     */
+    @TableField("updatetime")
+    private Date updateTime;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column contact_information.isvalid
+     */
+    @TableField("isvalid")
+    private Integer isvalid;
+
+    @TableField("open_status")
+    private Integer openStatus;
+
+    public ContactInformationVO toVO() {
+        ContactInformationVO vo = new ContactInformationVO();
+        vo.setId(id);
+        vo.setCompanyId(companyId);
+        vo.setContactEmail(contactEmail);
+        vo.setContactPhone(contactPhone);
+        vo.setContactName(contactName);
+        vo.setContactRemark(contactRemark);
+        vo.setContactPosition(contactPosition);
+        vo.setContactWechat(contactWechat);
+        vo.setFileId(fileId);
+        vo.setCreatorId(creatorId);
+        vo.setUpdaterId(updaterId);
+        vo.setOpenStatus(openStatus);
+        vo.setCreateTime(DateUtils.format(createTime, DateUtils.YYYY_MM_DD_HH_MM_SS));
+        vo.setUpdateTime(DateUtils.format(updateTime, DateUtils.YYYY_MM_DD_HH_MM_SS));
+        return vo;
+    }
+}

+ 236 - 0
service-base/src/main/resources/mapper/daq/CompanyContactInfoMapper.xml

@@ -0,0 +1,236 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.simuwang.base.mapper.daq.CompanyContactInfoMapper" >
+  <resultMap id="BaseResultMap" type="com.simuwang.base.pojo.dos.CompanyContactInfoDO" >
+    <!--
+      WARNING - @mbggenerated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="id" property="id" jdbcType="INTEGER" />
+    <result column="company_id" property="companyId" jdbcType="VARCHAR" />
+    <result column="contact_date" property="contactDate" jdbcType="DATE" />
+    <result column="contactor" property="contactor" jdbcType="VARCHAR" />
+    <result column="customer_manager" property="customerManager" jdbcType="VARCHAR" />
+    <result column="contact_id" property="contactId" jdbcType="INTEGER" />
+    <result column="contact_status" property="contactStatus" jdbcType="INTEGER" />
+    <result column="sign_method" property="signMethod" jdbcType="INTEGER" />
+    <result column="contact_remark" property="contactRemark" jdbcType="VARCHAR" />
+    <result column="creatorid" property="creatorId" jdbcType="INTEGER" />
+    <result column="createtime" property="createTime" jdbcType="TIMESTAMP" />
+    <result column="updaterid" property="updaterId" jdbcType="INTEGER" />
+    <result column="updatetime" property="updateTime" jdbcType="TIMESTAMP" />
+    <result column="isvalid" property="isvalid" jdbcType="INTEGER" />
+  </resultMap>
+
+  <sql id="Base_Column_List" >
+    <!--
+      WARNING - @mbggenerated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    id, company_id,contact_date, contactor, customer_manager, contact_id, contact_status, sign_method,
+    contact_remark, creatorid, createtime, updaterid,
+    updatetime, isvalid
+  </sql>
+    <delete id="deleteCompanyContactInfoById">
+        update COMPANY_CONTACT_INFO set isvalid=0,updatetime=now(),updaterid=#{userId} where id=#{id}
+    </delete>
+    <select id="getCompanyContactInfo" resultMap="BaseResultMap">
+    select  <include refid="Base_Column_List"/>
+    from COMPANY_CONTACT_INFO where isvalid=1 and company_id=#{companyId} and contact_date=#{contactDate}
+  </select>
+
+  <resultMap id="BaseResultPageMap" type="com.simuwang.base.pojo.dos.CompanyContactInfoPageDO" >
+    <!--
+      WARNING - @mbggenerated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <result column="company_id" property="companyId" jdbcType="VARCHAR" />
+    <result column="contact_date" property="contactDate" jdbcType="DATE" />
+    <result column="contactor" property="contactor" jdbcType="VARCHAR" />
+    <result column="customer_manager" property="customerManager" jdbcType="VARCHAR" />
+    <result column="contact_name" property="contactName" jdbcType="VARCHAR" />
+    <result column="contact_status" property="contactStatus" jdbcType="INTEGER" />
+    <result column="sign_method" property="signMethod" jdbcType="INTEGER" />
+    <result column="contact_remark" property="contactRemark" jdbcType="VARCHAR" />
+    <result column="company_name" property="companyName" jdbcType="VARCHAR" />
+    <result column="company_short_name" property="companyShortName" jdbcType="VARCHAR" />
+    <result column="is_send" property="isSend" jdbcType="INTEGER" />
+    <result column="company_asset_size" property="companyAssetSize" jdbcType="INTEGER" />
+    <result column="establish_date" property="establishDate" jdbcType="VARCHAR" />
+    <result column="credit_code" property="creditCode" jdbcType="VARCHAR" />
+  </resultMap>
+  <select id="selectCompanyContactInfoList" resultMap="BaseResultPageMap">
+         select   cp.company_id,
+                  cp.company_name,
+                  cp.company_short_name,
+                  ct.contact_date,
+                  ct.contactor,
+                  ct.customer_manager,
+                  ct.contact_status,
+                  ct.sign_method,
+                  CASE
+                  WHEN css.send_status IS NULL
+                  THEN 0
+                  ELSE css.send_status
+                  END
+                  AS is_send,
+                  ci.contact_name,
+                  cp.establish_date,
+                  cp.credit_code,
+                  ct.contact_remark,
+                  cp.company_asset_size
+        from pvn_company_info cp
+        left join last_company_contact_info ct
+        on cp.company_id = ct.company_id and ct.isvalid=1
+        left join contact_information ci
+        on ct.company_id = ci.company_id and ci.isvalid=1
+        left join company_send_status css
+        on cp.company_id = css.company_id and css.isvalid=1
+        where cp.isvalid =1
+        <if test="companyId != null and companyId != ''">
+          and cp.company_id like concat('%',#{companyId},'%')
+        </if>
+        <if test="companyName != null and companyName != ''">
+          and (cp.company_name like concat('%',#{companyName},'%') or cp.company_short_name like concat('%',#{companyName},'%')  or cp.register_number like concat('%',#{companyName},'%'))
+        </if>
+        <if test="contactStartDate != null and contactStartDate != ''">
+          and ct.contact_date >= #{contactStartDate}
+        </if>
+        <if test="contactEndDate != null and contactEndDate != ''">
+          and ct.contact_date <![CDATA[ <= ]]> #{contactEndDate}
+        </if>
+        <if test="isSend != null and isSend != ''">
+          and (case when css.send_status is null then 0 else css.send_status end) = #{isSend}
+        </if>
+        <if test="contactStatus != null and contactStatus != ''">
+          and ct.contact_status  =  #{contactStatus}
+        </if>
+        <if test="signMethod != null and signMethod != ''">
+          and ct.sign_method  =  #{signMethod}
+        </if>
+        <if test="companyAssetSize != null and companyAssetSize != ''">
+          and cp.company_asset_size  =  #{companyAssetSize}
+        </if>
+          order by
+          CASE
+          WHEN ct.contact_date IS NULL THEN 1
+          ELSE 0
+          END,
+          ct.contact_date desc
+        limit #{offset},#{pageSize}
+  </select>
+  <select id="countCompanyContactInfo" resultType="java.lang.Long">
+      select count(distinct cp.company_id)
+      from pvn_company_info cp
+      left join last_company_contact_info ct
+      on cp.company_id = ct.company_id and ct.isvalid=1
+      left join contact_information ci
+      on cp.company_id = ci.company_id and ci.isvalid=1
+      left join company_send_status css
+      on cp.company_id = css.company_id and css.isvalid=1
+      where cp.isvalid =1
+      <if test="companyId != null and companyId != ''">
+          and cp.company_id like concat('%',#{companyId},'%')
+      </if>
+      <if test="companyName != null and companyName != ''">
+          and (cp.company_name like concat('%',#{companyName},'%') or cp.company_short_name like concat('%',#{companyName},'%')  or cp.register_number like concat('%',#{companyName},'%'))
+      </if>
+      <if test="contactStartDate != null and contactStartDate != ''">
+          and ct.contact_date >= #{contactStartDate}
+      </if>
+      <if test="contactEndDate != null and contactEndDate != ''">
+          and ct.contact_date <![CDATA[ <= ]]> #{contactEndDate}
+      </if>
+      <if test="isSend != null and isSend != ''">
+          and (case when css.send_status is null then 0 else css.send_status end) = #{isSend}
+      </if>
+      <if test="contactStatus != null and contactStatus != ''">
+          and ct.contact_status  =  #{contactStatus}
+      </if>
+      <if test="signMethod != null and signMethod != ''">
+          and ct.sign_method  =  #{signMethod}
+      </if>
+      <if test="companyAssetSize != null and companyAssetSize != ''">
+          and cp.company_asset_size  =  #{companyAssetSize}
+      </if>
+  </select>
+    <resultMap id="ContactResultPageMap" type="com.simuwang.base.pojo.dos.CompanyContactPageDO" >
+        <result column="id" property="id" jdbcType="INTEGER" />
+        <result column="contact_id" property="contactId" jdbcType="INTEGER" />
+        <result column="company_id" property="companyId" jdbcType="VARCHAR" />
+        <result column="contact_date" property="contactDate" jdbcType="DATE" />
+        <result column="contactor" property="contactor" jdbcType="VARCHAR" />
+        <result column="customer_manager" property="customerManager" jdbcType="VARCHAR" />
+        <result column="contact_name" property="contactName" jdbcType="VARCHAR" />
+        <result column="contact_status" property="contactStatus" jdbcType="INTEGER" />
+        <result column="sign_method" property="signMethod" jdbcType="INTEGER" />
+        <result column="contact_remark" property="contactRemark" jdbcType="VARCHAR" />
+        <result column="contact_phone" property="contactPhone" jdbcType="VARCHAR" />
+        <result column="contact_email" property="contactEmail" jdbcType="VARCHAR" />
+        <result column="contact_wechat" property="contactWechat" jdbcType="VARCHAR" />
+        <result column="contact_position" property="contactPosition" jdbcType="VARCHAR" />
+        <result column="contact_file_name" property="contactFileName" jdbcType="VARCHAR" />
+        <result column="contact_file_path" property="contactFilePath" jdbcType="VARCHAR" />
+    </resultMap>
+    <select id="selectCompanyContactListByCompanyId"
+            resultMap="ContactResultPageMap">
+        select   info.id,
+                 info.company_id,
+                 info.contact_date,
+                 info.contactor,
+                 info.customer_manager,
+                 ci.contact_name,
+                 ci.contact_phone,
+                 ci.contact_email,
+                 ci.contact_wechat,
+                 ci.contact_position,
+                 info.sign_method,
+                 info.contact_status,
+                 info.contact_id,
+                 ci.contact_remark,
+                 ci.contact_file_name,
+                 ci.contact_file_path
+        from company_contact_info info
+        left join contact_information ci
+         on info.company_id = ci.company_id and ci.isvalid=1 and info.contact_id= ci.id and ci.open_status=1
+        where info.company_id = #{companyId} and info.isvalid=1
+        order by info.contact_date desc
+        limit #{offset},#{pageSize}
+    </select>
+    <select id="countCompanyContactByCompanyId" resultType="java.lang.Long">
+        select count(1) from company_contact_info info where info.company_id = #{companyId} and info.isvalid=1
+    </select>
+    <select id="saveCompanyContactDetail" resultMap="BaseResultPageMap">
+        select   info.id,
+                 info.company_id,
+                 info.contact_date,
+                 info.contactor,
+                 info.customer_manager,
+                 ci.contact_name,
+                 ci.contact_phone,
+                 ci.contact_email,
+                 ci.contact_wechat,
+                 ci.contact_position,
+                 info.sign_method,
+                 info.contact_status,
+                 info.contact_id,
+                 ci.contact_remark,
+                 ci.contact_file_name,
+                 ci.contact_file_path
+        from company_contact_info info
+        left join contact_information ci
+        on info.company_id = ci.company_id and ci.isvalid=1 and info.contact_id= ci.id and ci.open_status=1
+        where info.id = #{id} and info.isvalid=1
+    </select>
+
+    <select id="getLastCompanyContactInfoDO" resultMap="BaseResultMap">
+        select  <include refid="Base_Column_List"/>
+        from COMPANY_CONTACT_INFO where isvalid=1 and company_id=#{companyId}
+        ORDER BY contact_date desc
+        limit 1
+    </select>
+    <select id="selectCountByContactId" resultType="java.lang.Integer">
+        select count(1) from COMPANY_CONTACT_INFO where isvalid=1 and contact_id=#{contactId}
+    </select>
+
+</mapper>

+ 63 - 0
service-base/src/main/resources/mapper/daq/ContactInformationMapper.xml

@@ -0,0 +1,63 @@
+<?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.simuwang.base.mapper.daq.ContactInformationMapper" >
+  <resultMap id="BaseResultMap" type="com.simuwang.base.pojo.dos.ContactInformationDO" >
+    <!--
+      WARNING - @mbggenerated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="id" property="id" jdbcType="INTEGER" />
+    <result column="company_id" property="companyId" jdbcType="VARCHAR" />
+    <result column="contact_name" property="contactName" jdbcType="VARCHAR" />
+    <result column="contact_email" property="contactEmail" jdbcType="VARCHAR" />
+    <result column="contact_phone" property="contactPhone" jdbcType="VARCHAR" />
+    <result column="contact_wechat" property="contactWechat" jdbcType="VARCHAR" />
+    <result column="contact_position" property="contactPosition" jdbcType="VARCHAR" />
+    <result column="contact_remark" property="contactRemark" jdbcType="VARCHAR" />
+    <result column="cantact_file_name" property="contactFileName" jdbcType="VARCHAR" />
+    <result column="contact_file_path" property="contactFilePath" jdbcType="VARCHAR" />
+    <result column="creatorid" property="creatorId" jdbcType="INTEGER" />
+    <result column="createtime" property="createTime" jdbcType="TIMESTAMP" />
+    <result column="updaterid" property="updaterId" jdbcType="INTEGER" />
+    <result column="updatetime" property="updateTime" jdbcType="TIMESTAMP" />
+    <result column="isvalid" property="isvalid" jdbcType="INTEGER" />
+    <result column="open_status" property="openStatus" jdbcType="INTEGER" />
+  </resultMap>
+
+  <sql id="Base_Column_List" >
+    <!--
+      WARNING - @mbggenerated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    id,company_id, contact_name, contact_email, contact_phone, contact_wechat, contact_position,
+    contact_remark, contact_file_name, contact_file_path, creatorid, createtime, updaterid,
+    updatetime, isvalid,open_status
+  </sql>
+  <delete id="deleteContactInformationById">
+    update CONTACT_INFORMATION set isvalid=0,updatetime=now(),updaterid=#{userId} where id=#{id}
+  </delete>
+  <select id="getContactInformation" resultMap="BaseResultMap">
+    select  <include refid="Base_Column_List"/>
+    from CONTACT_INFORMATION where isvalid=1 and company_id=#{companyId}
+    <if test="contactEmail != null and contactEmail !=''">
+      and contact_email=#{contactEmail}
+    </if>
+    <if test="contactPhone != null and contactPhone !=''">
+      and contact_phone=#{contactPhone}
+    </if>
+    <if test="contactWechat != null and contactWechat !=''">
+      and contact_wechat=#{contactWechat}
+    </if>
+  </select>
+  <select id="selectContactInformationList" resultMap="BaseResultMap">
+    select  <include refid="Base_Column_List"/>
+    from CONTACT_INFORMATION where isvalid=1 and company_id=#{companyId}
+    order by updatetime desc
+    limit #{offset},#{pageSize}
+  </select>
+  <select id="countContactInfo" resultType="java.lang.Long">
+    select  count(1)
+    from CONTACT_INFORMATION where isvalid=1 and company_id=#{companyId}
+  </select>
+
+</mapper>

+ 43 - 0
service-base/src/main/resources/mapper/daq/LastCompanyContactInfoMapper.xml

@@ -0,0 +1,43 @@
+<?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.simuwang.base.mapper.daq.LastCompanyContactInfoMapper" >
+  <resultMap id="BaseResultMap" type="com.simuwang.base.pojo.dos.LastCompanyContactInfoDO" >
+    <!--
+      WARNING - @mbggenerated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="id" property="id" jdbcType="INTEGER" />
+    <result column="company_id" property="companyId" jdbcType="VARCHAR" />
+    <result column="contact_date" property="contactDate" jdbcType="DATE" />
+    <result column="contactor" property="contactor" jdbcType="VARCHAR" />
+    <result column="customer_manager" property="customerManager" jdbcType="VARCHAR" />
+    <result column="contact_id" property="contactId" jdbcType="INTEGER" />
+    <result column="contact_status" property="contactStatus" jdbcType="INTEGER" />
+    <result column="sign_method" property="signMethod" jdbcType="INTEGER" />
+    <result column="contact_remark" property="contactRemark" jdbcType="VARCHAR" />
+    <result column="cantact_file_name" property="contactFileName" jdbcType="VARCHAR" />
+    <result column="contact_file_path" property="contactFilePath" jdbcType="VARCHAR" />
+    <result column="creatorid" property="creatorId" jdbcType="INTEGER" />
+    <result column="createtime" property="createTime" jdbcType="TIMESTAMP" />
+    <result column="updaterid" property="updaterId" jdbcType="INTEGER" />
+    <result column="updatetime" property="updateTime" jdbcType="TIMESTAMP" />
+    <result column="isvalid" property="isvalid" jdbcType="INTEGER" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    <!--
+      WARNING - @mbggenerated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    id, company_id,contact_date, contactor, customer_manager, contact_id, contact_status, sign_method,
+    contact_remark, cantact_file_name, contact_file_path, creatorid, createtime, updaterid, 
+    updatetime, isvalid
+  </sql>
+  <delete id="deleteLastById">
+    update LAST_COMPANY_CONTACT_INFO set isvalid=0,updatetime=now(),updaterid=#{userId} where id=#{id}
+  </delete>
+  <select id="getLastCompanyContactInfoDOByCompanyId"
+          resultMap="BaseResultMap">
+    select  <include refid="Base_Column_List"/>
+    from LAST_COMPANY_CONTACT_INFO where isvalid=1 and company_id=#{companyId}
+  </select>
+</mapper>