package com.tourguide.modules.operation.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.tourguide.modules.operation.entity.ScenicPricing; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Update; @Mapper public interface ScenicPricingMapper extends BaseMapper { @Update("UPDATE operation_scenic_pricing SET deleted = 1 WHERE scenic_spot_id = #{scenicSpotId} AND deleted = 0") int markDeletedByScenicSpotId(Long scenicSpotId); @Insert("INSERT INTO operation_scenic_pricing " + "(scenic_spot_id, service_type, duration_minutes, min_participants, max_participants, original_price, discount_price, deleted) " + "VALUES (#{scenicSpotId}, #{serviceType}, #{durationMinutes}, #{minParticipants}, #{maxParticipants}, #{originalPrice}, #{discountPrice}, 0) " + "ON DUPLICATE KEY UPDATE duration_minutes = VALUES(duration_minutes), min_participants = VALUES(min_participants), " + "max_participants = VALUES(max_participants), original_price = VALUES(original_price), " + "discount_price = VALUES(discount_price), deleted = 0") int upsert(ScenicPricing pricing); }