Files
YunLanO2O/jzo2o-foundations/src/main/java/com/jzo2o/foundations/service/IServeService.java

95 lines
2.4 KiB
Java

package com.jzo2o.foundations.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jzo2o.api.foundations.dto.response.ServeAggregationResDTO;
import com.jzo2o.common.model.PageResult;
import com.jzo2o.foundations.model.domain.Serve;
import com.jzo2o.foundations.model.dto.request.ServePageQueryReqDTO;
import com.jzo2o.foundations.model.dto.request.ServeUpsertReqDTO;
import com.jzo2o.foundations.model.dto.response.ServeAggregationSimpleResDTO;
import com.jzo2o.foundations.model.dto.response.ServeCategoryResDTO;
import com.jzo2o.foundations.model.dto.response.ServeResDTO;
import com.jzo2o.foundations.model.dto.response.ServeSimpleResDTO;
import java.math.BigDecimal;
import java.util.List;
/**
* 区域服务接口
* @author JIAN
*/
public interface IServeService extends IService<Serve> {
/**
* 查询指定id的服务并缓存
*/
Serve selectByIdCache(Long id);
/**
* 区域服务分页查询
* @param servePageQueryReqDTO 分页参数
*/
PageResult<ServeResDTO> page(ServePageQueryReqDTO servePageQueryReqDTO);
/**
* 批量添加区域下的服务项
* @param serveItems 服务项集合
*/
void addBatch(List<ServeUpsertReqDTO> serveItems);
/**
* 更新指定服务id的价格
*/
Serve updatePrice(Long id, BigDecimal price);
/**
* 设置指定服务上架
*/
Serve updateOnSale(Long id);
/**
* 设置指定的服务下架
*/
void updateOffSale(Long id);
/**
* 删除指定的服务
*/
void deleteById(Long id);
/**
* 设置指定服务热门
*/
void updateOnHot(Long id);
/**
* 取消指定服务热门
*/
void updateOffHot(Long id);
/**
* 获取首页服务类型及服务项
* @param regionId 地区id
*/
List<ServeCategoryResDTO> getFirstPageServeList(Long regionId);
/**
* 获取首页热门服务
* @param regionId 地区id
*/
List<ServeAggregationSimpleResDTO> getHotServeList(Long regionId);
/**
* 获取指定id的服务
*/
ServeAggregationSimpleResDTO getServeById(Long serveId);
/**
* 查询指定区域的服务
*/
List<ServeSimpleResDTO> findServeList(String cityCode, Long serveTypeId, String keyword);
/**
* 获取指定id的服务
*/
ServeAggregationResDTO getServeAggregationById(Long id);
}