Files
FrameTour-BE/src/main/resources/mapper/BrokerMapper.xml
Jerry Yan fd4c708406
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
refactor mapper: 移除冗余的景点名称字段
- 在 BrokerMapper.xml 中移除了 scenicName 字段的查询
- 在 ExtraDeviceMapper.xml 中移除了 scenic_name 字段的查询
2025-09-09 01:42:12 +08:00

72 lines
3.1 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.ycwl.basic.mapper.BrokerMapper">
<insert id="add">
insert into broker(scenic_id, `name`, phone, status, broker_enable, broker_rate, create_at, update_at) values (#{scenicId}, #{name}, #{phone}, 1, #{brokerEnable}, #{brokerRate}, now(), now())
</insert>
<update id="update">
update broker set `name` = #{name}, phone = #{phone}, broker_enable = #{brokerEnable}, broker_rate = #{brokerRate}, update_at = now() where id = #{id}
</update>
<update id="updateStatus">
update broker
set status = (CASE
status
WHEN 1 THEN
0
WHEN 0 THEN
1
ELSE 1
END)
where id = #{id}
</update>
<update id="updateBrokerEnable">
update broker
set broker_enable = (CASE
broker_enable
WHEN 1 THEN
0
WHEN 0 THEN
1
ELSE 1
END)
where id = #{id}
</update>
<delete id="deleteById">
delete from broker where id = #{id}
</delete>
<select id="list" resultType="com.ycwl.basic.model.pc.broker.resp.BrokerRespVO">
select b.id, scenic_id, b.`name`, b.phone, b.broker_enable, b.broker_rate, b.status,
(select count(1) from t_stats_record s where s.action = "CODE_SCAN" and s.identifier = b.id) as broker_scan_count,
(select count(1) from broker_record r where r.broker_id = b.id) as broker_order_count,
(select sum(order_price) from broker_record r where r.broker_id = b.id) as broker_order_amount,
(select min(r.create_time) from broker_record r where r.broker_id = b.id) as first_broker_date,
(select max(r.create_time) from broker_record r where r.broker_id = b.id) as last_broker_date,
b.create_at, b.update_at
from broker b
<where>
<if test="scenicId!= null">
and b.scenic_id = #{scenicId}
</if>
<if test="name!= null and name!= ''">
and b.`name` like concat('%', #{name}, '%')
</if>
<if test="phone!= null and phone!= ''">
and b.`phone` like concat('%', #{phone}, '%')
</if>
<if test="status!= null">
and b.`status` = #{status}
</if>
<if test="startTime!=null">
and b.create_at >= #{startTime}
</if>
<if test="endTime!=null">
and b.create_at &lt;= #{endTime}
</if>
</where>
</select>
<select id="getById" resultType="com.ycwl.basic.model.pc.broker.resp.BrokerRespVO">
select b.id, scenic_id, b.`name`, b.phone, b.broker_enable, b.broker_rate, b.status, b.create_at, b.update_at
from broker b
where b.id = #{id}
</select>
</mapper>