package com.zjrs.zwnw.rlzysc.bpo.impl;

import org.apache.commons.lang.StringUtils;
import org.mohrss.leaf.core.framework.domain.bpo.impl.BPOImpl;
import org.mohrss.leaf.core.framework.persistens.PageResult;
import com.zjrs.zwnw.rlzysc.blo.QzzpglBLO;
import com.zjrs.zwnw.rlzysc.bpo.QzzpglBPO;
import com.zjrs.zwnw.rlzysc.bpo.UserFeignClientBPO;
import com.zjrs.zwnw.rlzysc.dto.*;
import org.springframework.stereotype.Service;

import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import java.util.Map;

@Service
public class QzzpglBPOimpl extends BPOImpl implements QzzpglBPO {

    @Resource
    private QzzpglBLO qzzpglBLO;

    @Resource
    private UserFeignClientBPO userFeignClientBPO;

    @Override
    public Map<String, Object> getGrqzxxshList(GrqzQueryDTO dto) {
        return qzzpglBLO.getGrqzxxshList(dto);
    }

    @Override
    public Map getGrqzxxshXx(ZjQueryDTO dto) {
        return qzzpglBLO.getGrqzxxshXx(dto);
    }

    @Override
    public void doGrqzxxsh(ShUDTO dto) {
        qzzpglBLO.doGrqzxxsh(dto);
    }

    @Override
    public void doGrqzxxshTx(ShUDTO dto) {
        qzzpglBLO.doGrqzxxshTx(dto);
    }

    @Override
    public void doGrqzxxshJssp(ShUDTO dto) {
        qzzpglBLO.doGrqzxxshJssp(dto);
    }

    @Override
    public PageResult getGrqzxxglList(GrqzQueryDTO dto) {
        return qzzpglBLO.getGrqzxxglList(dto);
    }

    @Override
    public void updateGrqzxxshZt(GrOrDwZtUDTO dto) {
        qzzpglBLO.updateGrqzxxshZt(dto);
    }

    @Override
    public PageResult getQzxxQzppList(GrqzQueryDTO dto) {
        return qzzpglBLO.getQzxxQzppList(dto);
    }

    @Override
    public PageResult getTjdw(TjdwQueryDTO dto) {
        return qzzpglBLO.getTjdw(dto);
    }

    @Override
    public void saveQzxxTjxx(TjUDTO dto) {
        qzzpglBLO.saveQzxxTjxx(dto);
    }

    @Override
    public Map<String, Object> getDwzpxxshList(ZpxxQueryDTO dto) {
        return qzzpglBLO.getDwzpxxshList(dto);
    }

    @Override
    public Map getDwzpxxshXx(ZjQueryDTO dto) {
        return qzzpglBLO.getDwzpxxshXx(dto);
    }

    @Override
    public void doDwzpxxsh(ShUDTO dto) {
        //审核单位招聘信息
        qzzpglBLO.doDwzpxxsh(dto);
        //发送站内信息
        //构造消息dto
        //获取收件人id
        Map res = qzzpglBLO.getQyRsyhlsh(dto.getZjlsh());//通过职业流水号查询该职业所属企业的用户id
        String rsyhlsh = (String) res.get("rsyhlsh");
        String zwmc = (String) res.get("zwmc");
        XxglDTO xxgldto = new XxglDTO();
        xxgldto.setFlag("1");
        xxgldto.setSjrids(rsyhlsh);
        xxgldto.setXxbt("职业信息审核结果告知");
        StringBuffer str = new StringBuffer();
        if ("1".equals(dto.getShjg())){
            //审核通过
            str.append("您提交的" + zwmc + "职位已通过审核!");
        } else if ("2".equals(dto.getShjg())){
            //审核不通过
            str.append("您提交的" + zwmc + "职位审核不通过！");
            if (StringUtils.isNotBlank(dto.getShyj())){
                str.append("审核意见为：" + dto.getShyj() + "。");
            }
        }
        xxgldto.setXxnr(str.toString());
        userFeignClientBPO.saveNews(xxgldto);
    }

    @Override
    public void doDwzpxxshXc(ShUDTO dto) {
        qzzpglBLO.doDwzpxxshXc(dto);
    }

    @Override
    public void doDwzpxxshJssp(ShUDTO dto) {
        qzzpglBLO.doDwzpxxshJssp(dto);
    }

    @Override
    public PageResult getDwzpxxglList(ZpxxQueryDTO dto) {
        return qzzpglBLO.getDwzpxxglList(dto);
    }

    @Override
    public void exportDwzpxx(ZpxxQueryDTO dto, HttpServletResponse res) {
        qzzpglBLO.exportDwzpxx(dto,res);
    }

    @Override
    public void updateDwzpxxglZt(GrOrDwZtUDTO dto) {
        qzzpglBLO.updateDwzpxxglZt(dto);
    }

    @Override
    public PageResult getZpxxGwppList(ZpxxQueryDTO dto) {
        return qzzpglBLO.getZpxxGwppList(dto);
    }

    @Override
    public PageResult getTjr(TjrQueryDTO dto) {
        return qzzpglBLO.getTjr(dto);
    }

    @Override
    public void saveZpxxTjxx(TjUDTO dto) {
        qzzpglBLO.saveZpxxTjxx(dto);
    }

    @Override
    public PageResult getZphList(YdZphQueryDTO dto) {
        return qzzpglBLO.getZphList(dto);
    }

    @Override
    public PageResult getYdzwshList(YdQueryDTO dto) {
        return qzzpglBLO.getYdzwshList(dto);
    }

    @Override
    public Map getYdxx(ZjQueryDTO dto) {
        return qzzpglBLO.getYdxx(dto);
    }

    @Override
    public PageResult getzyxxList(ZjQueryListDTO dto) {
        return qzzpglBLO.getzyxxList(dto);
    }

    @Override
    public void doYdzwsh(ShUDTO dto) {
        qzzpglBLO.doYdzwsh(dto);
    }

    @Override
    public PageResult getHmdglGrList(HmdGrQueryDTO dto) {
        return qzzpglBLO.getHmdglGrList(dto);
    }

    @Override
    public PageResult getHmdglDwList(HmdDwQueryDTO dto) {
        return qzzpglBLO.getHmdglDwList(dto);
    }

    @Override
    public void yrHmdglZt(HmdZtUDTO dto) {
        qzzpglBLO.yrHmdglZt(dto);
    }

    @Override
    public void ycHmdglZt(HmdZtUDTO dto) {
        qzzpglBLO.ycHmdglZt(dto);
    }

    @Override
    public PageResult getDwjbxxList(DwxxQueryDTO dto) {
        return qzzpglBLO.getDwjbxxList(dto);
    }

    @Override
    public Map getDwjbxx(ZjQueryDTO dto) {
        return qzzpglBLO.getDwjbxx(dto);
    }

    @Override
    public void doDwjbxxsh(ShUDTO dto) {
        //审核通过，反写基本信息
        String rsyhlsh = qzzpglBLO.doDwjbxxsh(dto);
        //发送邮件
        //构造信息dto
        XxglDTO xxgldto = new XxglDTO();
        xxgldto.setFlag("1");
        xxgldto.setSjrids(rsyhlsh);
        xxgldto.setXxbt("企业基本信息审核结果告知");
        StringBuffer str = new StringBuffer();
        if ("1".equals(dto.getShjg())){
            //审核通过
            str.append("您的企业基本信息已通过审核！");
        } else if ("2".equals(dto.getShjg())){
            //审核不通过
            str.append("您的企业基本信息审核不通过!");
            if (StringUtils.isNotBlank(dto.getShyj())){
                str.append("审核意见为：" + dto.getShyj() + "。");
            }
        }
        xxgldto.setXxnr(str.toString());
        userFeignClientBPO.saveNews(xxgldto);
    }

    @Override
    public void exportGrqzxxglList(GrqzQueryDTO dto, HttpServletResponse res) {
        qzzpglBLO.exportGrqzxxglList(dto, res);
    }
}
