package com.storlead.sales.service.systemrule;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.storlead.framework.common.result.Result;
import com.storlead.framework.mybatis.service.MyBaseService;
import com.storlead.sales.pojo.entity.customer.CustomerEntity;
import com.storlead.sales.pojo.dto.systemrule.SystemRuleModuleConfigDTO;
import com.storlead.sales.pojo.entity.systemrule.SystemRuleModuleConfigEntity;
import com.storlead.sales.pojo.vo.systemrule.SystemRuleModuleConfigVO;

/**
 * <p>
 * 规则配置模块表 服务类
 * </p>
 *
 * @author YPZ
 * @since 2024-04-03
 */
public interface SystemRuleModuleConfigService extends MyBaseService<SystemRuleModuleConfigEntity> {

    /***
     * @Description: 通过关键词查询规则配置列表
     * @Param:
     * @return:
     * @Author: YPZ
     * @Date: 2024/4/7 11:04
     */
    IPage<SystemRuleModuleConfigVO> listByKeywords(SystemRuleModuleConfigDTO systemRuleModuleConfigDTO);

    Result<?> getDetailById(Long id,String resourceType);

    /***
      * @Description: 客户定时器使用规则
      * @Param:
      * @return:
      * @Author: YPZ
      * @Date: 2024/9/12 18:34
      */
    void useCustomerRules();

    /***
      * @Description: 线索定时器使用规则
      * @Param:
      * @return:
      * @Author: YPZ
      * @Date: 2024/9/14 14:30
      */
    void useClueRules();

    void cluePublic();

    void customerPublic();

    void clustomerPublicDateTask();

    void updateCustomerDate(Long customerId);

    void updateCustomerDate(CustomerEntity customerEntity);
}
