package com.zcloud.basic.info.service;

import com.alibaba.cola.dto.MultiResponse;
import com.zcloud.basic.info.api.UserQualificationInfoServiceI;
import com.zcloud.basic.info.command.UserQualificationInfoAddExe;
import com.zcloud.basic.info.command.UserQualificationInfoRemoveExe;
import com.zcloud.basic.info.command.UserQualificationInfoUpdateExe;
import com.zcloud.basic.info.command.query.UserQualificationInfoQueryExe;
import com.zcloud.basic.info.dto.UserQualificationInfoAddCmd;
import com.zcloud.basic.info.dto.UserQualificationInfoPageQry;
import com.zcloud.basic.info.dto.UserQualificationInfoUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.UserQualificationInfoCO;

import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;

/**
* web-app
* @Author SondonYong
* @Date 2025-10-31 09:50:45
*/
@Service
@AllArgsConstructor
public class UserQualificationInfoServiceImpl implements UserQualificationInfoServiceI {
    private final UserQualificationInfoAddExe userQualificationInfoAddExe;
    private final UserQualificationInfoUpdateExe userQualificationInfoUpdateExe;
    private final UserQualificationInfoRemoveExe userQualificationInfoRemoveExe;
    private final UserQualificationInfoQueryExe userQualificationInfoQueryExe;

    @Override
    public PageResponse<UserQualificationInfoCO> listPage(UserQualificationInfoPageQry qry){
        return userQualificationInfoQueryExe.execute(qry);
    }

    @Override
    public MultiResponse<UserQualificationInfoCO> list(UserQualificationInfoPageQry qry) {
        return userQualificationInfoQueryExe.executeList(qry);
    }

    @Override
    public SingleResponse<UserQualificationInfoCO> getInfoById(Long id) {
        return userQualificationInfoQueryExe.execute(id);
    }

    @Override
    public SingleResponse add(UserQualificationInfoAddCmd cmd) {
        userQualificationInfoAddExe.execute(cmd);
        return SingleResponse.buildSuccess();
    }

    @Override
    public void edit(UserQualificationInfoUpdateCmd userQualificationInfoUpdateCmd) {
        userQualificationInfoUpdateExe.execute(userQualificationInfoUpdateCmd);
    }

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

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

