package com.starry.admin.modules.clerk.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.starry.admin.modules.clerk.module.entity.PlayClerkWagesDetailsInfoEntity;
import java.util.List;

/**
 * 店员工资明细信息Service接口
 *
 * @author admin
 * @since 2024-05-31
 */
public interface IPlayClerkWagesDetailsInfoService extends IService<PlayClerkWagesDetailsInfoEntity> {

    /**
     * 查询店员工资明细信息
     *
     * @param wagesId
     *            店员工资统计ID
     * @return 店员工资明细信息
     */
    List<PlayClerkWagesDetailsInfoEntity> selectByWagesId(String wagesId);

    /**
     * 根据订单ID
     *
     * @param orderId
     *            订单ID
     * @return 工资详情
     */
    PlayClerkWagesDetailsInfoEntity selectByOrderId(String orderId);

    /**
     * 根据工资结算ID和店员ID查询工资详情
     *
     * @param wagesId
     *            结算ID
     * @param clerkId
     *            店员ID
     * @return 工资详情
     */
    PlayClerkWagesDetailsInfoEntity selectByClerkIdAndWagesId(String wagesId, String clerkId);
    /**
     * 查询店员工资明细信息
     *
     * @param id
     *            店员工资明细信息主键
     * @return 店员工资明细信息
     */
    PlayClerkWagesDetailsInfoEntity selectPlayClerkWagesDetailsInfoById(String id);

    /**
     * 查询店员工资明细信息列表
     *
     * @param playClerkWagesDetailsInfo
     *            店员工资明细信息
     * @return 店员工资明细信息集合
     */
    IPage<PlayClerkWagesDetailsInfoEntity> selectPlayClerkWagesDetailsInfoByPage(
            PlayClerkWagesDetailsInfoEntity playClerkWagesDetailsInfo);

    /**
     * 新增店员工资明细信息
     *
     * @param playClerkWagesDetailsInfo
     *            店员工资明细信息
     * @return 结果
     */
    boolean create(PlayClerkWagesDetailsInfoEntity playClerkWagesDetailsInfo);

    /**
     * 修改店员工资明细信息
     *
     * @param playClerkWagesDetailsInfo
     *            店员工资明细信息
     * @return 结果
     */
    boolean update(PlayClerkWagesDetailsInfoEntity playClerkWagesDetailsInfo);

    /**
     * 批量删除店员工资明细信息
     *
     * @param ids
     *            需要删除的店员工资明细信息主键集合
     * @return 结果
     */
    int deletePlayClerkWagesDetailsInfoByIds(String[] ids);

    /**
     * 删除店员工资明细信息信息
     *
     * @param id
     *            店员工资明细信息主键
     * @return 结果
     */
    int deletePlayClerkWagesDetailsInfoById(String id);
}
