package com.zcloud.fire.check.service;

import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.fire.check.api.FireCheckListUserServiceI;
import com.zcloud.fire.check.command.FireCheckListUserAddExe;
import com.zcloud.fire.check.command.FireCheckListUserRemoveExe;
import com.zcloud.fire.check.command.FireCheckListUserUpdateExe;
import com.zcloud.fire.check.command.query.FireCheckListUserQueryExe;
import com.zcloud.fire.check.dto.FireCheckListUserAddCmd;
import com.zcloud.fire.check.dto.FireCheckListUserPageQry;
import com.zcloud.fire.check.dto.FireCheckListUserUpdateCmd;
import com.zcloud.fire.check.dto.clientobject.FireCheckListUserCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;

/**
 * web-app
 *
 * @Author zhaokai
 * @Date 2025-12-11 15:32:50
 */
@Service
@AllArgsConstructor
public class FireCheckListUserServiceImpl implements FireCheckListUserServiceI {
    private final FireCheckListUserAddExe fireCheckListUserAddExe;
    private final FireCheckListUserUpdateExe fireCheckListUserUpdateExe;
    private final FireCheckListUserRemoveExe fireCheckListUserRemoveExe;
    private final FireCheckListUserQueryExe fireCheckListUserQueryExe;

    @Override
    public PageResponse<FireCheckListUserCO> listPage(FireCheckListUserPageQry qry) {

        return fireCheckListUserQueryExe.execute(qry);
    }

    @Override
    public SingleResponse add(FireCheckListUserAddCmd cmd) {

        fireCheckListUserAddExe.execute(cmd);
        return SingleResponse.buildSuccess();
    }

    @Override
    public void edit(FireCheckListUserUpdateCmd fireCheckListUserUpdateCmd) {
        fireCheckListUserUpdateExe.execute(fireCheckListUserUpdateCmd);
    }

    @Override
    public void remove(Long id) {
        fireCheckListUserRemoveExe.execute(id);
    }

    @Override
    public void removeBatch(Long[] ids) {
        fireCheckListUserRemoveExe.execute(ids);
    }
}

