liujie
2026-07-29 c560a88ab429cd164d8eb6fcec42a273b898e230
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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<ScenicPricing> {
    @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);
}