2025-04-11 02:39:32 +00:00
<?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.ruoyi.sip.mapper.OrderDeliveryMapper" >
<resultMap type= "OrderDelivery" id= "OrderDeliveryResult" >
<result property= "id" column= "id" />
<result property= "orderId" column= "order_id" />
<result property= "deliveryCode" column= "delivery_code" />
<result property= "deliveryDate" column= "delivery_date" />
<result property= "deliveryType" column= "delivery_type" />
<result property= "logisticsCompany" column= "logistics_company" />
<result property= "logisticsCode" column= "logistics_code" />
<result property= "receiverName" column= "receiver_name" />
<result property= "receiverPhone" column= "receiver_phone" />
<result property= "receiverAddress" column= "receiver_address" />
<result property= "deliveryStatus" column= "delivery_status" />
<result property= "signTime" column= "sign_time" />
<result property= "remark" column= "remark" />
<result property= "createdAt" column= "created_at" />
<result property= "updatedAt" column= "updated_at" />
<result property= "deletedAt" column= "deleted_at" />
</resultMap>
<sql id= "selectOrderDeliveryVo" >
select id, order_id, delivery_code, delivery_date, delivery_type, logistics_company, logistics_code, receiver_name, receiver_phone, receiver_address, delivery_status, sign_time, remark, created_at, updated_at, deleted_at from order_delivery
</sql>
<select id= "selectOrderDeliveryList" parameterType= "OrderDelivery" resultMap= "OrderDeliveryResult" >
2025-04-11 08:01:43 +00:00
select t1.id, t1.order_id, t1.delivery_code, t1.delivery_date, t1.delivery_type, t1.logistics_company, t1.logistics_code, t1.receiver_name, t1.receiver_phone, t1.receiver_address, t1.delivery_status, t1.sign_time, t1.remark, t1.created_at, t1.updated_at, t1.deleted_at,
2025-05-20 10:00:23 +00:00
t2.order_code,t2.order_name,t3.total
2025-04-11 08:01:43 +00:00
from order_delivery t1
left join order_info t2 on t1.order_id = t2.id
2025-05-20 10:00:23 +00:00
left join (select count(1) as total,delivery_id from delivery_list group by delivery_id) t3 on t1.id = t3.delivery_id
2025-04-11 08:01:43 +00:00
<where >
t1.status=0
<if test= "orderId != null " > and t1.order_id = #{orderId}</if>
<if test= "deliveryCode != null and deliveryCode != ''" > and t1.delivery_code like concat('%', #{deliveryCode}, '%')</if>
<if test= "deliveryDate != null " > and t1.delivery_date = #{deliveryDate}</if>
<if test= "deliveryType != null and deliveryType != ''" > and t1.delivery_type = #{deliveryType}</if>
<if test= "logisticsCompany != null and logisticsCompany != ''" > and t1.logistics_company = #{logisticsCompany}</if>
<if test= "deliveryStatus != null and deliveryStatus != ''" > and t1.delivery_status = #{deliveryStatus}</if>
2025-04-11 02:39:32 +00:00
</where>
2025-05-20 10:00:23 +00:00
order by t1.order_id,t1.delivery_date
2025-04-11 02:39:32 +00:00
</select>
<select id= "selectOrderDeliveryById" parameterType= "Long" resultMap= "OrderDeliveryResult" >
<include refid= "selectOrderDeliveryVo" />
where id = #{id}
</select>
2025-05-21 02:54:46 +00:00
<select id= "count" resultType= "java.lang.Integer" >
select count(1) from order_delivery
<where >
<if test= "status != null " > and tatus = #{status}</if>
<if test= "orderId != null " > and order_id = #{orderId}</if>
<if test= "deliveryCode != null and deliveryCode != ''" > and delivery_code like concat('%', #{deliveryCode}, '%')</if>
<if test= "deliveryDate != null " > and delivery_date = #{deliveryDate}</if>
<if test= "deliveryType != null and deliveryType != ''" > and delivery_type = #{deliveryType}</if>
<if test= "logisticsCompany != null and logisticsCompany != ''" > and logistics_company = #{logisticsCompany}</if>
<if test= "deliveryStatus != null and deliveryStatus != ''" > and delivery_status = #{deliveryStatus}</if>
<if test= "createdAt != null " > and created_at between date_format(#{createdAt}, '%Y-%m-%d 00:00:00') and date_format(#{createdAt}, '%Y-%m-%d 23:59:59')</if>
</where>
</select>
2025-04-11 02:39:32 +00:00
<insert id= "insertOrderDelivery" parameterType= "OrderDelivery" useGeneratedKeys= "true" keyProperty= "id" >
insert into order_delivery
<trim prefix= "(" suffix= ")" suffixOverrides= "," >
<if test= "orderId != null" > order_id,</if>
<if test= "deliveryCode != null and deliveryCode != ''" > delivery_code,</if>
<if test= "deliveryDate != null" > delivery_date,</if>
<if test= "deliveryType != null and deliveryType != ''" > delivery_type,</if>
<if test= "logisticsCompany != null" > logistics_company,</if>
<if test= "logisticsCode != null" > logistics_code,</if>
<if test= "receiverName != null and receiverName != ''" > receiver_name,</if>
<if test= "receiverPhone != null and receiverPhone != ''" > receiver_phone,</if>
<if test= "receiverAddress != null and receiverAddress != ''" > receiver_address,</if>
<if test= "deliveryStatus != null and deliveryStatus != ''" > delivery_status,</if>
<if test= "signTime != null" > sign_time,</if>
<if test= "remark != null" > remark,</if>
<if test= "createdAt != null" > created_at,</if>
<if test= "updatedAt != null" > updated_at,</if>
<if test= "deletedAt != null" > deleted_at,</if>
</trim>
<trim prefix= "values (" suffix= ")" suffixOverrides= "," >
<if test= "orderId != null" > #{orderId},</if>
<if test= "deliveryCode != null and deliveryCode != ''" > #{deliveryCode},</if>
<if test= "deliveryDate != null" > #{deliveryDate},</if>
<if test= "deliveryType != null and deliveryType != ''" > #{deliveryType},</if>
<if test= "logisticsCompany != null" > #{logisticsCompany},</if>
<if test= "logisticsCode != null" > #{logisticsCode},</if>
<if test= "receiverName != null and receiverName != ''" > #{receiverName},</if>
<if test= "receiverPhone != null and receiverPhone != ''" > #{receiverPhone},</if>
<if test= "receiverAddress != null and receiverAddress != ''" > #{receiverAddress},</if>
<if test= "deliveryStatus != null and deliveryStatus != ''" > #{deliveryStatus},</if>
<if test= "signTime != null" > #{signTime},</if>
<if test= "remark != null" > #{remark},</if>
<if test= "createdAt != null" > #{createdAt},</if>
<if test= "updatedAt != null" > #{updatedAt},</if>
<if test= "deletedAt != null" > #{deletedAt},</if>
</trim>
</insert>
<update id= "updateOrderDelivery" parameterType= "OrderDelivery" >
update order_delivery
<trim prefix= "SET" suffixOverrides= "," >
<if test= "orderId != null" > order_id = #{orderId},</if>
<if test= "deliveryCode != null and deliveryCode != ''" > delivery_code = #{deliveryCode},</if>
<if test= "deliveryDate != null" > delivery_date = #{deliveryDate},</if>
<if test= "deliveryType != null and deliveryType != ''" > delivery_type = #{deliveryType},</if>
<if test= "logisticsCompany != null" > logistics_company = #{logisticsCompany},</if>
<if test= "logisticsCode != null" > logistics_code = #{logisticsCode},</if>
<if test= "receiverName != null and receiverName != ''" > receiver_name = #{receiverName},</if>
<if test= "receiverPhone != null and receiverPhone != ''" > receiver_phone = #{receiverPhone},</if>
<if test= "receiverAddress != null and receiverAddress != ''" > receiver_address = #{receiverAddress},</if>
<if test= "deliveryStatus != null and deliveryStatus != ''" > delivery_status = #{deliveryStatus},</if>
<if test= "signTime != null" > sign_time = #{signTime},</if>
<if test= "remark != null" > remark = #{remark},</if>
<if test= "createdAt != null" > created_at = #{createdAt},</if>
<if test= "updatedAt != null" > updated_at = #{updatedAt},</if>
<if test= "deletedAt != null" > deleted_at = #{deletedAt},</if>
</trim>
2025-04-11 08:01:43 +00:00
where id = #{id} and status=0
2025-04-11 02:39:32 +00:00
</update>
<delete id= "deleteOrderDeliveryById" parameterType= "Long" >
2025-04-11 08:01:43 +00:00
update order_delivery set status =1, deleted_at=now() where id = #{id}
2025-04-11 02:39:32 +00:00
</delete>
<delete id= "deleteOrderDeliveryByIds" parameterType= "String" >
2025-04-11 08:01:43 +00:00
update order_delivery set status =1, deleted_at=now() where id in
2025-04-11 02:39:32 +00:00
<foreach item= "id" collection= "array" open= "(" separator= "," close= ")" >
#{id}
</foreach>
</delete>
</mapper>