107 lines
3.9 KiB
XML
107 lines
3.9 KiB
XML
<?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.example.mini_program.mapper.VisitApplicationMapper">
|
|
|
|
<resultMap id="BaseResultMap" type="com.example.mini_program.entity.VisitApplication">
|
|
<id column="id" property="id"/>
|
|
<result column="name" property="name"/>
|
|
<result column="phone" property="phone"/>
|
|
<result column="company" property="company"/>
|
|
<result column="reason" property="reason"/>
|
|
<result column="visit_date" property="visitDate"/>
|
|
<result column="visit_time" property="visitTime"/>
|
|
<result column="host_name" property="hostName"/>
|
|
<result column="person_id" property="personId"/>
|
|
<result column="area" property="area"/>
|
|
<result column="status" property="status"/>
|
|
<result column="status_text" property="statusText"/>
|
|
<result column="openid" property="openid"/>
|
|
<result column="create_time" property="createTime"/>
|
|
<result column="sp_no" property="spNo"/>
|
|
<result column="check_status" property="checkStatus"/>
|
|
<result column="plate_number" property="plateNumber"/>
|
|
</resultMap>
|
|
|
|
<sql id="Base_Column_List">
|
|
id, name, phone, company, reason,person_id,check_status,plate_number,
|
|
DATE_FORMAT(visit_date, '%Y-%m-%d') AS visit_date, visit_time,
|
|
host_name, area, status, status_text, openid,
|
|
DATE_FORMAT(create_time, '%Y-%m-%dT%H:%i:%s.000+00:00') AS create_time,
|
|
sp_no
|
|
</sql>
|
|
|
|
<select id="selectLatestByOpenid" resultMap="BaseResultMap">
|
|
SELECT
|
|
<include refid="Base_Column_List"/>
|
|
FROM visit_application
|
|
WHERE openid = #{openid}
|
|
ORDER BY create_time DESC
|
|
LIMIT 1
|
|
</select>
|
|
|
|
<select id="selectListByOpenid" resultMap="BaseResultMap">
|
|
SELECT
|
|
<include refid="Base_Column_List"/>
|
|
FROM visit_application
|
|
WHERE openid = #{openid}
|
|
ORDER BY create_time DESC
|
|
limit 10
|
|
</select>
|
|
|
|
<select id="selectBySpNo" resultMap="BaseResultMap">
|
|
SELECT
|
|
<include refid="Base_Column_List"/>
|
|
FROM visit_application
|
|
WHERE sp_no = #{spNo}
|
|
ORDER BY create_time DESC
|
|
</select>
|
|
|
|
<select id="selectByIdAndOpenid" resultMap="BaseResultMap">
|
|
SELECT
|
|
<include refid="Base_Column_List"/>
|
|
FROM visit_application
|
|
WHERE id = #{id} AND openid = #{openid}
|
|
</select>
|
|
|
|
<insert id="insert">
|
|
INSERT INTO visit_application (id, name, phone, company, reason,
|
|
visit_date, visit_time, host_name, area,
|
|
status, status_text, openid, create_time, sp_no,person_id,plate_number)
|
|
VALUES (#{id}, #{name}, #{phone}, #{company}, #{reason},
|
|
#{visitDate}, #{visitTime}, #{hostName}, #{area},
|
|
#{status}, #{statusText}, #{openid}, NOW(), #{spNo},#{personId},#{plateNumber})
|
|
</insert>
|
|
|
|
<update id="updateStatusToCancelled">
|
|
UPDATE visit_application
|
|
SET status = 'cancelled', status_text = '已取消'
|
|
WHERE id = #{id} AND openid = #{openid} AND status = 'pending'
|
|
</update>
|
|
|
|
<select id="selectById" resultMap="BaseResultMap">
|
|
SELECT
|
|
<include refid="Base_Column_List"/>
|
|
FROM visit_application
|
|
WHERE id = #{id}
|
|
</select>
|
|
|
|
<update id="updateStatus">
|
|
UPDATE visit_application
|
|
SET status = #{status}, status_text = #{statusText}
|
|
WHERE id = #{id} AND status = 'pending'
|
|
</update>
|
|
|
|
<update id="updateCheckStatusById">
|
|
UPDATE visit_application
|
|
SET check_status = #{checkStatus}
|
|
WHERE id = #{id}
|
|
</update>
|
|
|
|
<update id="updateStatusBySpNo">
|
|
UPDATE visit_application
|
|
SET status = #{status}, status_text = #{statusText}
|
|
WHERE sp_no = #{spNo} AND status = 'pending'
|
|
</update>
|
|
|
|
</mapper>
|