You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

133 lines
4.6 KiB

<?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.example.demo.mapper.coin.RechargeActivityCenterMapper">
<!-- 查询所有活动(用于批量更新状态) -->
<select id="listActivities" resultType="com.example.demo.domain.vo.coin.RechargeActivity">
SELECT
ra.id,
ra.start_time as startTime,
ra.end_time as endTime,
ra.status as status
FROM recharge_activity ra
WHERE ra.flag = 1
ORDER BY ra.create_time DESC
</select>
<!-- 查询活动 -->
<select id="queryActivity" resultType="com.example.demo.domain.vo.coin.RechargeActivity">
SELECT
ra.id,
ra.activity_name as activityName,
ra.business_belong as businessBelong,
ra.area,
m.name as areaName,
ra.start_time as startTime,
ra.end_time as endTime,
ra.status,
ra.creator,
a.admin_name as creatorName,
ra.create_time as createTime,
ra.update_time as updateTime
FROM recharge_activity ra
LEFT JOIN admin a on a.id = ra.creator
LEFT JOIN market m on m.id = ra.area
<where>
ra.flag = 1
<if test="activityName != null and activityName != ''">
AND ra.activity_name = #{activityName}
</if>
<if test="businessBelong != null and businessBelong != ''">
AND ra.business_belong = #{businessBelong}
</if>
<if test="endTime != null">
AND #{endTime} >= ra.end_time
</if>
<if test="startTime != null">
AND ra.start_time >= #{startTime}
</if>
<if test="area != null">
AND ra.area = #{area}
</if>
</where>
<trim prefix="ORDER BY" suffixOverrides=",">
ra.create_time DESC
</trim>
</select>
<!-- 查询活动 -->
<select id="queryActivityByName" resultType="com.example.demo.domain.vo.coin.RechargeActivity">
SELECT
ra.id
FROM recharge_activity ra
<where>
ra.flag = 1
<if test="activityName != null and activityName != ''">
AND ra.activity_name = #{activityName}
</if>
</where>
<trim prefix="ORDER BY" suffixOverrides=",">
ra.create_time DESC
</trim>
</select>
<!-- 新增活动 -->
<insert id="addActivity" parameterType="com.example.demo.domain.vo.coin.RechargeActivity">
INSERT INTO recharge_activity (
activity_name,
business_belong,
area,
start_time,
end_time,
status,
creator,
create_time
) VALUES (
#{activityName},
#{businessBelong},
#{area},
#{startTime},
#{endTime},
#{status},
#{creator},
NOW()
)
</insert>
<!-- 更新活动 -->
<update id="updateActivity" parameterType="com.example.demo.domain.vo.coin.RechargeActivity">
UPDATE recharge_activity
<set>
<if test="activityName != null and activityName != ''">activity_name = #{activityName},</if>
<if test="businessBelong != null and businessBelong != ''">business_belong = #{businessBelong},</if>
<if test="area != null and area != ''">area = #{area},</if>
<if test="startTime != null and startTime != ''">start_time = #{startTime},</if>
<if test="endTime != null and endTime != ''">end_time = #{endTime},</if>
<if test="status != null and status != ''">status = #{status},</if>
<if test="creator != null and creator != ''">creator = #{creator},</if>
update_time = NOW()
</set>
WHERE id = #{id}
</update>
<!-- 更新活动 -->
<update id="updateActivityArea" parameterType="com.example.demo.domain.vo.coin.RechargeActivity">
UPDATE recharge_activity
<set>
area = null
</set>
WHERE id = #{id}
</update>
<!-- 删除活动 -->
<!-- 删除活动 -->
<update id="deleteActivity" parameterType="com.example.demo.domain.vo.coin.RechargeActivity">
UPDATE recharge_activity
<set>
flag = 0,
update_time = NOW()
</set>
WHERE id = #{id}
</update>
</mapper>