system-operator-plugin/src/main/resources/mybatis/mapper/packageinfo/package-info-mapper.xml

583 lines
21 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="cn.com.tenlion.operator.dao.packageinfo.IPackageInfoDao">
<resultMap id="packageInfoAppDTO" type="cn.com.tenlion.operator.pojo.dtos.packageinfo.PackageInfoAppDTO">
<result column="package_info_id" property="packageInfoId"/>
<result column="package_name" property="packageName"/>
<result column="package_type" property="packageType"/>
<result column="package_mode" property="packageMode"/>
<result column="package_original_price" property="packageOriginalPrice"/>
<result column="package_money" property="packageMoney"/>
<result column="package_count" property="packageCount"/>
<result column="package_avg_money" property="packageAvgMoney"/>
<result column="package_order" property="packageOrder"/>
<result column="package_description" property="packageDescription"/>
<result column="package_onlien_time" property="packageOnlienTime"/>
<result column="create_time" property="createTime"/>
</resultMap>
<resultMap id="packageInfoDTO" type="cn.com.tenlion.operator.pojo.dtos.packageinfo.PackageInfoDTO">
<result column="package_info_id" property="packageInfoId"/>
<result column="package_name" property="packageName"/>
<result column="package_type" property="packageType"/>
<result column="package_mode" property="packageMode"/>
<result column="package_original_price" property="packageOriginalPrice"/>
<result column="package_money" property="packageMoney"/>
<result column="package_count" property="packageCount"/>
<result column="package_limit_users" property="packageLimitUsers"/>
<result column="package_limit_count" property="packageLimitCount"/>
<result column="package_activity" property="packageActivity"/>
<result column="package_activity_start" property="packageActivityStart"/>
<result column="package_activity_end" property="packageActivityEnd"/>
<result column="package_avg_money" property="packageAvgMoney"/>
<result column="package_order" property="packageOrder"/>
<result column="package_description" property="packageDescription"/>
<result column="package_status" property="packageStatus"/>
<result column="package_onlien" property="packageOnlien"/>
<result column="package_onlien_time" property="packageOnlienTime"/>
<result column="create_time" property="createTime"/>
<result column="creator" property="creator"/>
<result column="gmt_modified" property="gmtModified"/>
<result column="modifier" property="modifier"/>
<result column="is_delete" property="isDelete"/>
</resultMap>
<resultMap id="packageInfoBO" type="cn.com.tenlion.operator.pojo.bos.packageinfo.PackageInfoBO">
<result column="package_info_id" property="packageInfoId"/>
<result column="package_name" property="packageName"/>
<result column="package_type" property="packageType"/>
<result column="package_mode" property="packageMode"/>
<result column="package_original_price" property="packageOriginalPrice"/>
<result column="package_money" property="packageMoney"/>
<result column="package_count" property="packageCount"/>
<result column="package_limit_users" property="packageLimitUsers"/>
<result column="package_limit_count" property="packageLimitCount"/>
<result column="package_activity" property="packageActivity"/>
<result column="package_activity_start" property="packageActivityStart"/>
<result column="package_activity_end" property="packageActivityEnd"/>
<result column="package_avg_money" property="packageAvgMoney"/>
<result column="package_order" property="packageOrder"/>
<result column="package_description" property="packageDescription"/>
<result column="package_status" property="packageStatus"/>
<result column="package_onlien" property="packageOnlien"/>
<result column="package_onlien_time" property="packageOnlienTime"/>
<result column="create_time" property="createTime"/>
<result column="creator" property="creator"/>
<result column="gmt_modified" property="gmtModified"/>
<result column="modifier" property="modifier"/>
<result column="is_delete" property="isDelete"/>
</resultMap>
<resultMap id="packageInfoPO" type="cn.com.tenlion.operator.pojo.pos.packageinfo.PackageInfoPO">
<result column="package_info_id" property="packageInfoId"/>
<result column="package_name" property="packageName"/>
<result column="package_type" property="packageType"/>
<result column="package_mode" property="packageMode"/>
<result column="package_original_price" property="packageOriginalPrice"/>
<result column="package_money" property="packageMoney"/>
<result column="package_count" property="packageCount"/>
<result column="package_limit_users" property="packageLimitUsers"/>
<result column="package_limit_count" property="packageLimitCount"/>
<result column="package_activity" property="packageActivity"/>
<result column="package_activity_start" property="packageActivityStart"/>
<result column="package_activity_end" property="packageActivityEnd"/>
<result column="package_avg_money" property="packageAvgMoney"/>
<result column="package_order" property="packageOrder"/>
<result column="package_description" property="packageDescription"/>
<result column="package_status" property="packageStatus"/>
<result column="package_onlien" property="packageOnlien"/>
<result column="package_onlien_time" property="packageOnlienTime"/>
<result column="create_time" property="createTime"/>
<result column="creator" property="creator"/>
<result column="gmt_modified" property="gmtModified"/>
<result column="modifier" property="modifier"/>
<result column="is_delete" property="isDelete"/>
</resultMap>
<!-- 新增套餐包 -->
<insert id="save" parameterType="map">
INSERT INTO operator_package_info(
package_info_id,
package_name,
package_type,
package_mode,
package_original_price,
package_money,
package_count,
package_limit_users,
package_limit_count,
package_activity,
package_activity_start,
package_activity_end,
package_avg_money,
package_order,
package_description,
package_status,
package_onlien,
package_onlien_time,
create_time,
creator,
gmt_modified,
modifier,
is_delete
) VALUES(
#{packageInfoId},
#{packageName},
#{packageType},
#{packageMode},
#{packageOriginalPrice},
#{packageMoney},
#{packageCount},
#{packageLimitUsers},
#{packageLimitCount},
#{packageActivity},
#{packageActivityStart},
#{packageActivityEnd},
#{packageAvgMoney},
#{packageOrder},
#{packageDescription},
#{packageStatus},
#{packageOnlien},
#{packageOnlienTime},
#{createTime},
#{creator},
#{gmtModified},
#{modifier},
#{isDelete}
)
</insert>
<!-- 删除套餐包 -->
<update id="remove" parameterType="map">
UPDATE
operator_package_info
SET
gmt_modified = #{gmtModified},
modifier = #{modifier},
is_delete = 1
WHERE
package_info_id IN
<foreach collection="packageInfoIds" index="index" open="(" separator="," close=")">
#{packageInfoIds[${index}]}
</foreach>
</update>
<!-- 删除套餐包(物理) -->
<update id="delete" parameterType="map">
DELETE FROM
operator_package_info
WHERE
package_info_id IN
<foreach collection="packageInfoIds" index="index" open="(" separator="," close=")">
#{packageInfoIds[${index}]}
</foreach>
</update>
<update id="updateOnline" parameterType="map">
UPDATE
operator_package_info
SET
package_onlien = #{packageOnlien},
package_onlien_time = #{packageOnlienTime},
gmt_modified = #{gmtModified},
modifier = #{modifier}
WHERE
package_info_id = #{packageInfoId}
</update>
<update id="updateStatus" parameterType="map">
UPDATE
operator_package_info
SET
package_status = #{packageStatus},
gmt_modified = #{gmtModified},
modifier = #{modifier}
WHERE
package_info_id = #{packageInfoId}
</update>
<!-- 修改套餐包 -->
<update id="update" parameterType="map">
UPDATE
operator_package_info
SET
<if test="packageName != null and packageName != ''">
package_name = #{packageName},
</if>
<if test="packageType != null and packageType != ''">
package_type = #{packageType},
</if>
<if test="packageMode != null and packageMode != ''">
package_mode = #{packageMode},
</if>
<if test="packageOriginalPrice != null">
package_original_price = #{packageOriginalPrice},
</if>
<if test="packageMoney != null">
package_money = #{packageMoney},
</if>
<if test="packageCount != null">
package_count = #{packageCount},
</if>
package_limit_users = #{packageLimitUsers},
<if test="packageLimitCount != null">
package_limit_count = #{packageLimitCount},
</if>
<if test="packageActivity != null and packageActivity != ''">
package_activity = #{packageActivity},
</if>
<if test="packageActivityStart != null and packageActivityStart != ''">
package_activity_start = #{packageActivityStart},
</if>
<if test="packageActivityEnd != null and packageActivityEnd != ''">
package_activity_end = #{packageActivityEnd},
</if>
<if test="packageAvgMoney != null">
package_avg_money = #{packageAvgMoney},
</if>
<if test="packageOrder != null">
package_order = #{packageOrder},
</if>
package_description = #{packageDescription},
gmt_modified = #{gmtModified},
modifier = #{modifier},
package_info_id = package_info_id
WHERE
package_info_id = #{packageInfoId}
</update>
<!-- 套餐包详情 -->
<select id="get" parameterType="map" resultMap="packageInfoDTO">
SELECT
t1.package_name,
t1.package_type,
t1.package_mode,
t1.package_original_price,
t1.package_money,
t1.package_count,
t1.package_limit_users,
t1.package_limit_count,
t1.package_activity,
t1.package_activity_start,
t1.package_activity_end,
t1.package_avg_money,
t1.package_order,
t1.package_description,
t1.package_status,
t1.package_onlien,
t1.package_onlien_time,
t1.create_time,
t1.package_info_id
FROM
operator_package_info t1
WHERE
t1.is_delete = 0
<if test="packageInfoId != null and packageInfoId != ''">
AND
t1.package_info_id = #{packageInfoId}
</if>
</select>
<!-- 套餐包详情 -->
<select id="getBO" parameterType="map" resultMap="packageInfoBO">
SELECT
t1.package_info_id,
t1.package_name,
t1.package_type,
t1.package_mode,
t1.package_original_price,
t1.package_money,
t1.package_count,
t1.package_limit_users,
t1.package_limit_count,
t1.package_activity,
t1.package_activity_start,
t1.package_activity_end,
t1.package_avg_money,
t1.package_order,
t1.package_description,
t1.package_status,
t1.package_onlien,
t1.package_onlien_time,
t1.create_time,
t1.creator,
t1.gmt_modified,
t1.modifier,
t1.is_delete
FROM
operator_package_info t1
WHERE
t1.is_delete = 0
<if test="packageInfoId != null and packageInfoId != ''">
AND
t1.package_info_id = #{packageInfoId}
</if>
</select>
<!-- 套餐包详情 -->
<select id="getPO" parameterType="map" resultMap="packageInfoPO">
SELECT
t1.package_info_id,
t1.package_name,
t1.package_type,
t1.package_mode,
t1.package_original_price,
t1.package_money,
t1.package_count,
t1.package_limit_users,
t1.package_limit_count,
t1.package_activity,
t1.package_activity_start,
t1.package_activity_end,
t1.package_avg_money,
t1.package_order,
t1.package_description,
t1.package_status,
t1.package_onlien,
t1.package_onlien_time,
t1.create_time,
t1.creator,
t1.gmt_modified,
t1.modifier,
t1.is_delete
FROM
operator_package_info t1
WHERE
t1.is_delete = 0
<if test="packageInfoId != null and packageInfoId != ''">
AND
t1.package_info_id = #{packageInfoId}
</if>
</select>
<select id="listApp" parameterType="map" resultMap="packageInfoAppDTO">
SELECT
t1.package_info_id,
t1.package_name,
t1.package_type,
t1.package_mode,
t1.package_original_price,
t1.package_money,
t1.package_count,
t1.package_limit_users,
t1.package_limit_count,
t1.package_activity,
t1.package_activity_start,
t1.package_activity_end,
t1.package_avg_money,
t1.package_order,
t1.package_description,
t1.package_status,
t1.package_onlien,
t1.package_onlien_time,
t1.create_time,
t1.creator,
t1.gmt_modified,
t1.modifier,
t1.is_delete
FROM
operator_package_info t1
WHERE
t1.is_delete = 0 AND t1.package_type = #{packageType}
AND t1.package_onlien = 1 AND t1.package_status = 1
AND (
(
t1.package_mode = 'all' AND t1.package_limit_users = ''
)
OR
(
t1.package_mode = 'single' AND t1.package_limit_users LIKE CONCAT('%', #{userId} ,'%') AND 1 > (SELECT COUNT(1) FROM operator_package_order t2 WHERE t1.package_info_id = t2.package_info_id AND t2.creator = #{userId} AND t2.is_delete = 0)
)
)
ORDER BY t1.package_order , t1.package_onlien_time DESC
</select>
<select id="getApp" parameterType="map" resultMap="packageInfoAppDTO">
SELECT
t1.package_info_id,
t1.package_name,
t1.package_type,
t1.package_mode,
t1.package_original_price,
t1.package_money,
t1.package_count,
t1.package_limit_users,
t1.package_limit_count,
t1.package_activity,
t1.package_activity_start,
t1.package_activity_end,
t1.package_avg_money,
t1.package_order,
t1.package_description,
t1.package_status,
t1.package_onlien,
t1.package_onlien_time,
t1.create_time,
t1.creator,
t1.gmt_modified,
t1.modifier,
t1.is_delete
FROM
operator_package_info t1
WHERE
t1.is_delete = 0 AND t1.package_onlien = 1 AND t1.package_status = 1 AND t1.package_info_id = #{packageInfoId}
</select>
<!-- 套餐包列表 -->
<select id="list" parameterType="map" resultMap="packageInfoDTO">
SELECT
t1.package_info_id,
t1.package_name,
t1.package_type,
t1.package_mode,
t1.package_original_price,
t1.package_money,
t1.package_count,
t1.package_limit_users,
t1.package_limit_count,
t1.package_activity,
t1.package_activity_start,
t1.package_activity_end,
t1.package_avg_money,
t1.package_order,
t1.package_description,
t1.package_status,
t1.package_onlien,
t1.package_onlien_time,
t1.create_time,
t1.creator,
t1.gmt_modified,
t1.modifier,
t1.is_delete,
1
FROM
operator_package_info t1
WHERE
t1.is_delete = 0
<if test="packageType != null and packageType != ''">
AND t1.package_type = #{packageType}
</if>
<if test="packageMode != null and packageMode != ''">
AND t1.package_mode = #{packageMode}
</if>
<if test="keywords != null and keywords != ''">
AND (
<!-- 这里添加其他条件 -->
t1.package_name LIKE CONCAT('%', #{keywords}, '%')
OR
t1.package_description LIKE CONCAT('%', #{keywords}, '%')
)
</if>
<if test="packageInfoIds != null and packageInfoIds.size > 0">
AND
t1.package_info_id IN
<foreach collection="packageInfoIds" index="index" open="(" separator="," close=")">
#{packageInfoIds[${index}]}
</foreach>
</if>
ORDER BY t1.package_order , t1.create_time DESC
</select>
<!-- 套餐包列表 -->
<select id="listBO" parameterType="map" resultMap="packageInfoBO">
SELECT
t1.package_info_id,
t1.package_name,
t1.package_type,
t1.package_mode,
t1.package_original_price,
t1.package_money,
t1.package_count,
t1.package_limit_users,
t1.package_limit_count,
t1.package_activity,
t1.package_activity_start,
t1.package_activity_end,
t1.package_avg_money,
t1.package_order,
t1.package_description,
t1.package_status,
t1.package_onlien,
t1.package_onlien_time,
t1.create_time,
t1.creator,
t1.gmt_modified,
t1.modifier,
t1.is_delete
FROM
operator_package_info t1
WHERE
t1.is_delete = 0
<if test="keywords != null and keywords != ''">
AND (
<!-- 这里添加其他条件 -->
t1.id LIKE CONCAT('%', #{keywords}, '%')
)
</if>
<if test="packageInfoIds != null and packageInfoIds.size > 0">
AND
t1.package_info_id IN
<foreach collection="packageInfoIds" index="index" open="(" separator="," close=")">
#{packageInfoIds[${index}]}
</foreach>
</if>
</select>
<!-- 套餐包列表 -->
<select id="listPO" parameterType="map" resultMap="packageInfoPO">
SELECT
t1.package_info_id,
t1.package_name,
t1.package_type,
t1.package_mode,
t1.package_original_price,
t1.package_money,
t1.package_count,
t1.package_limit_users,
t1.package_limit_count,
t1.package_activity,
t1.package_activity_start,
t1.package_activity_end,
t1.package_avg_money,
t1.package_order,
t1.package_description,
t1.package_status,
t1.package_onlien,
t1.package_onlien_time,
t1.create_time,
t1.creator,
t1.gmt_modified,
t1.modifier,
t1.is_delete
FROM
operator_package_info t1
WHERE
t1.is_delete = 0
<if test="keywords != null and keywords != ''">
AND (
<!-- 这里添加其他条件 -->
t1.id LIKE CONCAT('%', #{keywords}, '%')
)
</if>
<if test="packageInfoIds != null and packageInfoIds.size > 0">
AND
t1.package_info_id IN
<foreach collection="packageInfoIds" index="index" open="(" separator="," close=")">
#{packageInfoIds[${index}]}
</foreach>
</if>
</select>
<!-- 套餐包统计 -->
<select id="count" parameterType="map" resultType="Integer">
SELECT
COUNT(*)
FROM
operator_package_info t1
WHERE
t1.is_delete = 0
</select>
</mapper>