226 lines
6.9 KiB
XML
226 lines
6.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.sqx.modules.bl.order.dao.UserPackageDetailDao">
|
|
|
|
<select id="findDetailList" resultType="com.sqx.modules.bl.order.entity.UserPackageDetail">
|
|
select
|
|
id,
|
|
main_id,
|
|
package_detail_id,
|
|
massage_type_id,
|
|
status,
|
|
package_price,
|
|
interval_days,
|
|
create_time,
|
|
title,
|
|
massage_img,
|
|
content,
|
|
old_price,
|
|
price,
|
|
duration,
|
|
is_sex,
|
|
city,
|
|
content_img,
|
|
labels,
|
|
parent_id,
|
|
classify_id,
|
|
apply_people,
|
|
jianjie,
|
|
level
|
|
from bl_user_package_detail
|
|
where main_id = #{mainId}
|
|
</select>
|
|
|
|
<select id="findDetailUsedQuantity" resultType="com.sqx.modules.bl.order.entity.UserPackageDetail">
|
|
select
|
|
a.massage_type_id,
|
|
a.title,
|
|
a.massage_img,
|
|
a.content_img,
|
|
round(avg(a.package_price),2) as package_price,
|
|
round(avg(a.price),2) as price,
|
|
sum(case a.status when 1 then 1 else 0 end) as usedQuantity,
|
|
sum(case a.status when 0 then 1 else 0 end) as unUsedQuantity,
|
|
count(*) as service_count
|
|
from bl_user_package_detail a
|
|
where a.main_id = #{mainId}
|
|
group by a.massage_type_id,a.title,a.massage_img,a.content_img
|
|
order by a.massage_type_id
|
|
</select>
|
|
|
|
<select id="findLcDetailUsedQuantity" resultType="com.sqx.modules.bl.order.entity.UserPackageDetail">
|
|
select
|
|
a.massage_type_id,
|
|
a.title,
|
|
a.massage_img,
|
|
a.content_img,
|
|
round(avg(a.package_price),2) as package_price,
|
|
round(avg(a.price),2) as price,
|
|
sum(case a.status when 1 then 1 else 0 end) as usedQuantity,
|
|
sum(case a.status when 0 then 1 else 0 end) as unUsedQuantity,
|
|
count(*) as service_count,
|
|
concat(round(count(massage_type_id)*avg(interval_days)),'天一疗程,每隔',round(avg(interval_days)),'天一次,共',round(count(massage_type_id)),'次') as interval_days_str,
|
|
(select max(end_times) from orders o where a.massage_type_id = o.massage_type_id and b.id = o.user_package_id) as max_time
|
|
from bl_user_package_detail a
|
|
inner join bl_user_package b on a.main_id = b.id
|
|
where a.main_id = #{mainId}
|
|
group by a.massage_type_id,a.title,a.massage_img,a.content_img
|
|
order by a.massage_type_id
|
|
</select>
|
|
|
|
<select id="findMassagePackageDetails" resultType="com.sqx.modules.bl.order.entity.UserPackageDetail">
|
|
select
|
|
a.service_count,
|
|
a.id as package_detail_id,
|
|
a.massage_type_id,
|
|
0 as status,
|
|
a.package_price,
|
|
a.interval_days,
|
|
b.title,
|
|
b.massage_img,
|
|
b.content,
|
|
b.old_price,
|
|
b.price,
|
|
b.duration,
|
|
b.is_sex,
|
|
b.city,
|
|
b.content_img,
|
|
b.labels,
|
|
b.parent_id,
|
|
b.classify_id,
|
|
b.apply_people,
|
|
b.jianjie
|
|
from bl_massage_package_detail a inner join massage_type b on a.massage_type_id = b.massage_type_id and b.status = 1
|
|
where a.main_id = #{mainId}
|
|
order by a.id
|
|
</select>
|
|
|
|
<insert id="insert" parameterType="com.sqx.modules.bl.order.entity.UserPackageDetail">
|
|
INSERT INTO bl_user_package_detail(
|
|
main_id,
|
|
package_detail_id,
|
|
massage_type_id,
|
|
status,
|
|
package_price,
|
|
interval_days,
|
|
create_time,
|
|
title,
|
|
massage_img,
|
|
content,
|
|
old_price,
|
|
price,
|
|
duration,
|
|
is_sex,
|
|
city,
|
|
content_img,
|
|
labels,
|
|
parent_id,
|
|
classify_id,
|
|
apply_people,
|
|
jianjie,
|
|
level
|
|
)values(
|
|
#{mainId},
|
|
#{packageDetailId},
|
|
#{massageTypeId},
|
|
#{status},
|
|
#{packagePrice},
|
|
#{intervalDays},
|
|
#{createTime},
|
|
#{title},
|
|
#{massageImg},
|
|
#{content},
|
|
#{oldPrice},
|
|
#{price},
|
|
#{duration},
|
|
#{isSex},
|
|
#{city},
|
|
#{contentImg},
|
|
#{labels},
|
|
#{parentId},
|
|
#{classifyId},
|
|
#{applyPeople},
|
|
#{jianjie},
|
|
#{level}
|
|
)
|
|
</insert>
|
|
|
|
<select id="getMyPackageDetail" resultType="com.sqx.modules.bl.order.entity.UserPackageDetail">
|
|
select
|
|
a.id,
|
|
a.main_id,
|
|
a.package_detail_id,
|
|
a.massage_type_id,
|
|
a.status,
|
|
a.package_price,
|
|
a.interval_days,
|
|
a.create_time,
|
|
a.title,
|
|
a.massage_img,
|
|
a.content,
|
|
a.old_price,
|
|
a.price,
|
|
a.duration,
|
|
a.is_sex,
|
|
a.city,
|
|
a.content_img,
|
|
a.labels,
|
|
a.parent_id,
|
|
a.classify_id,
|
|
a.apply_people,
|
|
a.jianjie,
|
|
a.level,
|
|
m.sales
|
|
from bl_user_package_detail a left join massage_type m on a.massage_type_id = m.massage_type_id
|
|
where a.id = #{id}
|
|
</select>
|
|
|
|
<select id="getMyPackageDetailNoId" resultType="com.sqx.modules.bl.order.entity.UserPackageDetail">
|
|
select
|
|
a.id,
|
|
a.main_id,
|
|
a.package_detail_id,
|
|
a.massage_type_id,
|
|
a.status,
|
|
a.package_price,
|
|
a.interval_days,
|
|
a.create_time,
|
|
a.title,
|
|
a.massage_img,
|
|
a.content,
|
|
a.old_price,
|
|
a.price,
|
|
a.duration,
|
|
a.is_sex,
|
|
a.city,
|
|
a.content_img,
|
|
a.labels,
|
|
a.parent_id,
|
|
a.classify_id,
|
|
a.apply_people,
|
|
a.jianjie,
|
|
a.level,
|
|
m.sales
|
|
from bl_user_package_detail a
|
|
left join massage_type m on a.massage_type_id = m.massage_type_id
|
|
where a.main_id = #{mainId}
|
|
and a.massage_type_id = #{massageTypeId}
|
|
and a.status = 0
|
|
limit 1
|
|
</select>
|
|
|
|
<select id="findMassagePackageDetailsUsed" resultType="com.sqx.modules.bl.order.entity.UserPackageDetail">
|
|
select
|
|
sum(case a.status when 1 then 1 else 0 end) as usedQuantity,
|
|
count(*) as service_count
|
|
from bl_user_package_detail a
|
|
where a.main_id = #{mainId}
|
|
</select>
|
|
|
|
<update id="deleteDetailByMain">
|
|
DELETE FROM bl_user_package_detail
|
|
WHERE main_id = #{mainId}
|
|
</update>
|
|
|
|
</mapper> |