package com.cool.store.service;

import com.cool.store.dto.AccountAuditDTO;
import com.cool.store.dto.AccountEntryStatusAuditDTO;
import com.cool.store.dto.ModifyPasswordDTO;
import com.cool.store.dto.ShopAccount.ShopAccountDTO;
import com.cool.store.dto.AccountEntryStatusChangeDTO;
import com.cool.store.enums.DownSystemTypeEnum;
import com.cool.store.request.ZxjpApiRequest;

import java.util.List;

/**
 * @Author suzhuhong
 * @Date 2025/4/7 15:51
 * @Version 1.0
 */
public interface ShopAccountService {


    /**
     * 根据门店查询数据
     * @param shopId
     * @return
     */
    List<ShopAccountDTO> getShopAccountByShopId(Long shopId);

    /**
     * modifyPassword
     * @param modifyPasswordDTO
     * @return
     */
    Boolean modifyPassword(ModifyPasswordDTO modifyPasswordDTO);


    /**
     * getData
     * @param shopId
     * @param systemType
     * @return
     */
    ZxjpApiRequest getData(Long shopId, DownSystemTypeEnum systemType);

    /**
     * 审核平台账号
     * @param accountAuditDTO
     * @return
     */
    Boolean auditAccount(AccountAuditDTO accountAuditDTO);

    /**
     * 进件审核
     * @param accountEntryStatusAuditDTO
     * @return
     */
    Boolean accountEntryStatusAudit(AccountEntryStatusAuditDTO accountEntryStatusAuditDTO);

    /**
     * 进件状态修改
     * @param accountEntryStatusChangeDTO
     * @return
     */
    Boolean accountEntryStatusChange(AccountEntryStatusChangeDTO accountEntryStatusChangeDTO);

    /**
     * 推送数据
     * @param accountAuditDTO
     * @return
     */
    Boolean pushData(AccountAuditDTO accountAuditDTO);

    /**
     * shopCode
     * @param shopId
     * @return
     */
    String shopIdToYlsCode(Long shopId);

    String shopCodeToYlsCode(String shopCode);


    /**
     * @Auther: wangshuo
     * @Date: 2025/4/28
     * @description: 4月19号之后的门店对老数据密码，第二密码，盐值处理
     */
    Boolean handleOldData();

    // 处理账户表没有密码的
    Boolean handleAccountPassword();

    //处理老数据加盟商没有密码
    Boolean handleOldDataAccount();

}
