package com.fs.his.service.impl;

import java.util.Collections;
import java.util.List;

import com.fs.common.exception.CustomException;
import com.fs.common.utils.DateUtils;


import com.fs.his.param.FsStoreAuditParam;
import com.fs.his.utils.StoreMD5PasswordEncoder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fs.his.mapper.FsStoreMapper;
import com.fs.his.domain.FsStore;
import com.fs.his.service.IFsStoreService;


/**
 * 店铺管理Service业务层处理
 *
 * @author fs
 * @date 2023-06-15
 */
@Service
public class FsStoreServiceImpl implements IFsStoreService
{
    @Autowired
    private FsStoreMapper fsStoreMapper;


    /**
     * 查询店铺管理
     *
     * @param storeId 店铺管理主键
     * @return 店铺管理
     */
    @Override
    public FsStore selectFsStoreByStoreId(Long storeId)
    {
        return fsStoreMapper.selectFsStoreByStoreId(storeId);
    }

    /**
     * 查询店铺管理列表
     *
     * @param fsStore 店铺管理
     * @return 店铺管理
     */
    @Override
    public List<FsStore> selectFsStoreList(FsStore fsStore)
    {
        return fsStoreMapper.selectFsStoreList(fsStore);
    }

    /**
     * 新增店铺管理
     *
     * @param fsStore 店铺管理
     * @return 结果
     */
    @Override
    public int insertFsStore(FsStore fsStore)
    {
        if (fsStore.getAccount()!=null){
            FsStore fs = fsStoreMapper.selectFsStoreByAccount(fsStore.getAccount());
            if (fs!=null){
                throw new CustomException("店铺账号重复");
            }
        }
        StoreMD5PasswordEncoder storeMD5PasswordEncoder = new StoreMD5PasswordEncoder();
        fsStore.setPassword(storeMD5PasswordEncoder.encode("123456"));
        fsStore.setCreateTime(DateUtils.getNowDate());
        return fsStoreMapper.insertFsStore(fsStore);
    }

    /**
     * 修改店铺管理
     *
     * @param fsStore 店铺管理
     * @return 结果
     */
    @Override
    public int updateFsStore(FsStore fsStore)
    {
        fsStore.setUpdateTime(DateUtils.getNowDate());
        return fsStoreMapper.updateFsStore(fsStore);
    }

    /**
     * 批量删除店铺管理
     *
     * @param storeIds 需要删除的店铺管理主键
     * @return 结果
     */
    @Override
    public int deleteFsStoreByStoreIds(Long[] storeIds)
    {
        return fsStoreMapper.deleteFsStoreByStoreIds(storeIds);
    }

    /**
     * 删除店铺管理信息
     *
     * @param storeId 店铺管理主键
     * @return 结果
     */
    @Override
    public int deleteFsStoreByStoreId(Long storeId)
    {
        return fsStoreMapper.deleteFsStoreByStoreId(storeId);
    }

    @Override
    public int updateFsStoreAudit(FsStoreAuditParam fsStore) {


        return fsStoreMapper.updateFsStoreAudit(fsStore.getStoreId(),fsStore.getIsAudit());
    }

    @Override
    public int updateFsStoreLogo(FsStore fsStore) {


        return   fsStoreMapper.updateFsStore(fsStore);
    }

    @Override
    public int updateEditData(FsStore fsStore) {
        return fsStoreMapper.updateFsStore(fsStore);
    }

    @Override
    public List<FsStore> selectFsStoreListByDoctorId(Long doctorId) {
        return fsStoreMapper.selectFsStoreListByDoctorId(doctorId);
    }


}
