This commit is contained in:
2025-02-26 16:07:07 +08:00
parent 0aadd1d064
commit 34924ad351
20 changed files with 601 additions and 44 deletions

View File

@@ -2,10 +2,10 @@
<!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(id, `name`, promo_code) values (#{id}, #{name}, #{promoCode})
insert into broker(scenic_id, `name`, phone, status, broker_enable, broker_rate, create_at, update_at) values (#{scenicId}, #{name}, #{phone}, 0, #{brokerEnable}, #{brokerRate}, now(), now())
</insert>
<update id="update">
update broker set `name` = #{name}, promo_code = #{promoCode} where id = #{id}
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
@@ -15,45 +15,56 @@
0
WHEN 0 THEN
1
ELSE null
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.entity.BrokerEntity">
select id, `name`, phone, promo_code, status,
(select count(1) from `order` where broker_id = broker.id) as broker_order_count,
(select sum(pay_price) from `order` where broker_id = broker.id) as broker_order_amount,
(select create_at from `order` where broker_id = broker.id and status = 1 order by create_at desc limit 1) as last_broker_date,
(select create_at from `order` where broker_id = broker.id and status = 1 order by create_at asc limit 1) as first_broker_date,
<select id="list" resultType="com.ycwl.basic.model.pc.broker.resp.BrokerRespVO">
select b.id, scenic_id, s.name as scenicName, b.`name`, b.phone, b.broker_enable, b.broker_rate, b.status, b.create_at, b.update_at,
(select count(1) from statistics s where s.type = 20 and s.morph_id = 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,
create_at, update_at
from broker
from broker b left join scenic s on b.scenic_id = s.id
<where>
<if test="scenicId!= null">
and b.scenic_id = #{scenicId}
</if>
<if test="name!= null and name!= ''">
and `name` like concat('%', #{name}, '%')
and b.`name` like concat('%', #{name}, '%')
</if>
<if test="phone!= null and phone!= ''">
and `phone` like concat('%', #{phone}, '%')
</if>
<if test="promoCode!= null and promoCode!= ''">
and promo_code like concat('%', #{promoCode}, '%')
and b.`phone` like concat('%', #{phone}, '%')
</if>
<if test="status!= null">
and `status` = #{status}
and b.`status` = #{status}
</if>
<if test="startTime!=null">
and d.create_at >= #{startTime}
and b.create_at >= #{startTime}
</if>
<if test="endTime!=null">
and d.create_at &lt;= #{endTime}
and b.create_at &lt;= #{endTime}
</if>
</where>
</select>
<select id="getById" resultType="com.ycwl.basic.model.pc.broker.entity.BrokerEntity">
select id, `name`, promo_code, status, create_at, update_at
from broker
where id = #{id}
<select id="getById" resultType="com.ycwl.basic.model.pc.broker.resp.BrokerRespVO">
select b.id, scenic_id, s.name as scenicName, b.`name`, b.phone, b.broker_enable, b.broker_rate, b.status, b.create_at, b.update_at
from broker b left join scenic s on b.scenic_id = s.id
where b.id = #{id}
</select>
</mapper>