package com.zjrs.ggfw.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.ggfw.rlzysc.blo.GrqzBLO;
import com.zjrs.ggfw.rlzysc.bpo.GrqzBPO;
import com.zjrs.ggfw.rlzysc.dto.*;
import com.zjrs.ggfw.rlzysc.dto.common.PageDTO;
import com.zjrs.ggfw.rlzysc.dto.grzxjlxx.*;
import com.zjrs.ggfw.rlzysc.po.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


@Service
public class GrqzBPOimpl extends BPOImpl implements GrqzBPO {
    private static final Logger LOG = LoggerFactory.getLogger(GrqzBPOimpl.class);
    @Resource
    private GrqzBLO grqzBLO;

    @Override
    public Map<String, String> uploadPhoto(GrqzGrtxUploadDTO dto) {
        Map<String, String> resultMap = new HashMap<>();
        StringBuilder errStr = new StringBuilder();
        if (StringUtils.isBlank(dto.getRsrlzyjlxxlsh())) {
            errStr.append("简历信息流水号不能为空。");
        }
        if (StringUtils.isBlank(dto.getTxtycclsh())) {
            errStr.append("头像统一存储流水号不能为空。");
        }
        if (errStr.length() > 0) {
            resultMap.put("code", "1");
            resultMap.put("msg", errStr.toString());
        } else {
            this.grqzBLO.uploadPhoto(dto);
            resultMap.put("code", "0");
            resultMap.put("msg", "操作成功");
        }
        return resultMap;
    }
    @Override
    public JlxxPO queryPhoto(GrqzGrxxQueryDTO dto){
        return this.grqzBLO.queryPhoto(dto);
    }
    @Override
    public Map<String, String> uploadVideo(GrqzGrspUploadDTO dto) {
        Map<String, String> resultMap = new HashMap<>();
        StringBuilder errStr = new StringBuilder();
        if (StringUtils.isBlank(dto.getRsrlzyjlxxlsh())) {
            errStr.append("简历信息流水号不能为空。");
        }
        if (StringUtils.isBlank(dto.getSptycclsh())) {
            errStr.append("视频统一存储流水号不能为空。");
        }
        if (errStr.length() > 0) {
            resultMap.put("code", "1");
            resultMap.put("msg", errStr.toString());
        } else {
            this.grqzBLO.uploadVideo(dto);
            resultMap.put("code", "0");
            resultMap.put("msg", "操作成功");
        }
        return resultMap;
    }
    @Override
    public JlxxPO queryVideo(GrqzGrxxQueryDTO dto){
        return this.grqzBLO.queryVideo(dto);
    }
    @Override
    public PageResult queryGwxxList(GrqzGwxxQueryDTO dto, int page, int rows) {
        return this.grqzBLO.queryGwxxList(dto, page, rows);
    }
    //删除岗位信息
    @Override
    public void deleteGwxx(String id){
        this.grqzBLO.deleteGwxx(id);
    }

    @Override
    public PageResult queryGzgsList(GrqzGzgsQueryDTO dto, int page, int rows){
        return this.grqzBLO.queryGzgsList(dto, page, rows);
    }

    //关注公司
    @Override
    public void addGzgs(GrqzGzgsDTO dto){
        this.grqzBLO.addGzgs(dto);
    }
    //取消关注公司
    @Override
    public void deleteGzgs(String id){
        this.grqzBLO.deleteGzgs(id);
    }

    //屏蔽设置列表
    @Override
    public PageResult queryPbszList(GrqzPbszQueryDTO dto, int page, int rows){
        return this.grqzBLO.queryPbszList(dto, page, rows);
    }

    //新增屏蔽设置
    @Override
    public void addPbsz(GrqzPbszDTO dto){
        this.grqzBLO.addPbsz(dto);
    }
    //取消屏蔽设置
    @Override
    public void deletePbsz(String id){
        this.grqzBLO.deletePbsz(id);
    }

    //职业搜索器列表
    @Override
    public PageResult queryZyssqList(GrqzZyssqDTO dto, int page, int rows){
        return this.grqzBLO.queryZyssqList(dto, page, rows);
    }

    //新增职业搜索器
    @Override
    public void addZyssq(GrqzZyssqDTO dto){
        this.grqzBLO.addZyssq(dto);
    }
    //更新职业搜索器
    @Override
    public void updateZyssq(GrqzZyssqDTO dto){
        this.grqzBLO.updateZyssq(dto);
    }

    //获取职业搜索器BYID
    @Override
    public ZyssqPO getZyssqById(String id){
        return this.grqzBLO.getZyssqById(id);
    }
    //删除职业搜索器BYID
    @Override
    public void deleteZyssqById(String id) {
        LOG.info("bpo,删除职业搜索器BYID="+id);
        this.grqzBLO.deleteZyssqById(id);
    }

    //职业搜索器不能超过10
    @Override
    public int countZyssq(){
        return this.grqzBLO.countZyssq();
    }

    @Override
    public PageResult getgzjyWhList(int page, int rows,JlxxWDTO dto) {
        return this.grqzBLO.getgzjyWhList(page,rows,dto);
    }

    @Override
    public PageResult getjyjlWhList(int page, int rows,JlxxWDTO dto) {
        return this.grqzBLO.getjyjlWhList(page,rows,dto);
    }

    @Override
    public PageResult getpxjlWhList( int page, int rows,JlxxWDTO dto) {
        return this.grqzBLO.getpxjlWhList(page,rows,dto);
    }

    @Override
    public PageResult getzyjnWhList(int page, int rows,JlxxWDTO dto) {
        return this.grqzBLO.getzyjnWhList(page,rows,dto);
    }

    @Override
    public PageResult getshzsWhList(int page, int rows,JlxxWDTO dto) {
        return this.grqzBLO.getshzsWhList(page,rows,dto);
    }

    @Override
    public PageResult getHjqkWhList(int page, int rows,JlxxWDTO dto) {
        return this.grqzBLO.getHjqkWhList(page,rows,dto);
    }

    @Override
    public PageResult getZcqkWhList(int page, int rows,JlxxWDTO dto) {
        return this.grqzBLO.getZcqkWhList(page,rows,dto);
    }


    @Override
    public void deleteById(String id) {
        this.grqzBLO.deleteById(id);
    }

    @Override
    public void deleteJyjlById(String id) {
        this.grqzBLO.deleteJyjlById(id);
    }

    @Override
    public void deletePxjlById(String id) {
        this.grqzBLO.deletePxjlById(id);
    }

    @Override
    public void deleteZyjnById(String id) {
        this.grqzBLO.deleteZyjnById(id);
    }

    @Override
    public void deleteShzsById(String id) {
        this.grqzBLO.deleteShzsById(id);
    }

    @Override
    public void deleteHjqkById(String id) {
        this.grqzBLO.deleteHjqkById(id);
    }

    @Override
    public void deleteZcqkById(String id) {
        this.grqzBLO.deleteZcqkById(id);
    }

    @Override
    public RsRlzyGzjyPO saveGzjyXx(JlxxGzjyUDTO dto) {
        return this.grqzBLO.saveGzjyXx(dto);
    }

    @Override
    public RsRlzyJyjlPO saveJyjlXx(JlxxJyjlUDTO dto) {
        return this.grqzBLO.saveJyjlXx(dto);
    }

    @Override
    public RsRlzyPxjlPO savePxjlXx(JlxxPxjlUDTO dto) {
        return this.grqzBLO.savePxjlXx(dto);
    }

    @Override
    public RsRlzyZyjnPO saveZyjnXx(JlxxZyjnUDTO dto) {
        return this.grqzBLO.saveZyjnXx(dto);
    }

    @Override
    public RsRlzyShzsPO saveShzsXx(JlxxShzsUDTO dto) {
        return this.grqzBLO.saveShzsXx(dto);
    }

    @Override
    public RsRlzyHjqkPO saveHjqkXx(JlxxHjqkUDTO dto) {
        return this.grqzBLO.saveHjqkXx(dto);
    }

    @Override
    public RsRlzyZcqkPO saveZcqkXx(JlxxZcqkUDTO dto) {
        return this.grqzBLO.saveZcqkXx(dto);
    }


    @Override
    public void deleteGzjyWhById(SelectJlxxDTO dto) {
        this.grqzBLO.deleteGzjyWhById(dto);
    }

    @Override
    public void deleteJyjlWhById(SelectJlxxDTO dto) {
        this.grqzBLO.deleteJyjlWhById(dto);
    }

    @Override
    public void deletePxjlWhById(SelectJlxxDTO dto) {
        this.grqzBLO.deletePxjlWhById(dto);
    }

    @Override
    public void deleteZyjnWhById(SelectJlxxDTO dto) {
        this.grqzBLO.deleteZyjnWhById(dto);
    }

    @Override
    public void deleteShzsWhById(SelectJlxxDTO dto) {
        this.grqzBLO.deleteShzsWhById(dto);
    }

    @Override
    public void deleteHjqkWhById(SelectJlxxDTO dto) {
        this.grqzBLO.deleteHjqkWhById(dto);
    }

    @Override
    public void deleteZcqkWhById(SelectJlxxDTO dto) {
        this.grqzBLO.deleteZcqkWhById(dto);
    }

    @Override
    public Map getJlgzjy(ZjQueryDTO dto) {
        return this.grqzBLO.getJlgzjy(dto);
    }

    @Override
    public Map getJljyjl(ZjQueryDTO dto) {
        return this.grqzBLO.getJljyjl(dto);
    }

    @Override
    public Map getJlpxjl(ZjQueryDTO dto) {
        return this.grqzBLO.getJlpxjl(dto);
    }

    @Override
    public Map getJlzyjn(ZjQueryDTO dto) {
        return this.grqzBLO.getJlzyjn(dto);
    }

    @Override
    public Map getJlshzs(ZjQueryDTO dto) {
        return this.grqzBLO.getJlshzs(dto);
    }

    @Override
    public Map getJlhjqk(ZjQueryDTO dto) {
        return this.grqzBLO.getJlhjqk(dto);
    }

    @Override
    public Map getJlzcqk(ZjQueryDTO dto) {
        return this.grqzBLO.getJlzcqk(dto);
    }

    @Override
    public PageResult getMyJlxxlist(PageDTO dto) {
        return grqzBLO.getMyJlxxlist(dto);
    }

    @Override
    public PageResult getMyJlxxMrlist(PageDTO dto) {
        return grqzBLO.getMyJlxxMrlist(dto);
    }

    @Override
    public void deleteMyJlxx(String id) {
        grqzBLO.deleteMyJlxx(id);
    }

    @Override
    public void updateMyJlmrzt(MrjlUDTO dto) {
        grqzBLO.updateMyJlmrzt(dto);
    }

    @Override
    public void copyMyJlxx(CopyJlDTO dto) throws Exception {
        grqzBLO.copyMyJlxx(dto);
    }

    @Override
    public void exportMyJlxx(ExportJlDTO dto, HttpServletResponse res) throws IllegalAccessException, IOException, InvocationTargetException {
        grqzBLO.exportMyJlxx(dto,res);
    }

    @Override
    public Map getJlxx(JltotalDTO dto) {
        return grqzBLO.getJlxx(dto);
    }

    @Override
    public JlxxPO saveJljbxx(GrqzWdjlJbxxDTO dto) {
        return grqzBLO.saveJljbxx(dto);
    }

    @Override
    public JlxxPO saveJljbxx(GrJlxxDTO dto) {
        return grqzBLO.saveJljbxx(dto);
    }

    @Override
    public Map getJljbxx(JljbxxDTO dto) {
        return grqzBLO.getJljbxx(dto);
    }

    @Override
    public Map getJljbxxForDw(ZjQueryDTO dto) {
        return grqzBLO.getJljbxxForDw(dto);
    }

    @Override
    public RsRlzyQzyxPO saveJlqzyx(GrqzWdjlQzyxDTO dto) {
        return grqzBLO.saveJlqzyx(dto);
    }

    @Override
    public Map getJlqzyx(ZjQueryDTO dto) {
        return grqzBLO.getJlqzyx(dto);
    }

    @Override
    public Map getJlqzyxForDw(ZjQueryDTO dto) {
        return grqzBLO.getJlqzyxForDw(dto);
    }

    @Override
    public void updateFbzt(ZjUDTO dto) {
        grqzBLO.updateFbzt(dto);
    }

    @Override
    public void toNwsh(ZjDTO dto) {
        grqzBLO.toNwsh(dto);
    }

    @Override
    public List<JlxxGzjyUDTO> getgzjyList(JlxxWhDTO dto) {
        return this.grqzBLO.getgzjyList(dto);
    }

    @Override
    public List<JlxxJyjlUDTO> getjyjlList(JlxxWhDTO dto) {
        return this.grqzBLO.getjyjlList(dto);
    }

    @Override
    public List<JlxxPxjlUDTO> getpxjlList(JlxxWhDTO dto) {
        return this.grqzBLO.getpxjlList(dto);
    }

    @Override
    public List<JlxxZyjnUDTO> getzyjnList(JlxxWhDTO dto) {
        return this.grqzBLO.getzyjnList(dto);
    }

    @Override
    public List<JlxxShzsUDTO> getshzsList(JlxxWhDTO dto) {
        return this.grqzBLO.getshzsList(dto);
    }

    @Override
    public List<JlxxHjqkUDTO> gethjqkList(JlxxWhDTO dto) {
        return this.grqzBLO.gethjqkList(dto);
    }

    @Override
    public List<JlxxZcqkUDTO> getzcqkList(JlxxWhDTO dto) {
        return this.grqzBLO.getzcqkList(dto);
    }

    @Override
    public List<RsRlzyGzjyPO> getGzjyNrById(String id) {
        return this.grqzBLO.getGzjyNrById(id);
    }

    @Override
    public List<RsRlzyJyjlPO> getJyjlNrById(String id) {
        return this.grqzBLO.getJyjlNrById(id);
    }

    @Override
    public List<RsRlzyPxjlPO> getPxjlNrById(String id) {
        return this.grqzBLO.getPxjlNrById(id);
    }

    @Override
    public List<RsRlzyZyjnPO> getZyjnNrById(String id) {
        return this.grqzBLO.getZyjnNrById(id);
    }

    @Override
    public List<RsRlzyShzsPO> getShzsNrById(String id) {
        return this.grqzBLO.getShzsNrById(id);
    }

    @Override
    public List<RsRlzyHjqkPO> getHjqkNrById(String id) {
        return this.grqzBLO.getHjqkNrById(id);
    }

    @Override
    public List<RsRlzyZcqkPO> getZcqkNrById(String id) {
        return this.grqzBLO.getZcqkNrById(id);
    }

    @Override
    public void addgzjynr(SelectJlxxDTO dto) {
         this.grqzBLO.addgzjynr(dto);
    }

    @Override
    public void addjyjlnr(SelectJlxxDTO dto) {
        this.grqzBLO.addjyjlnr(dto);
    }

    @Override
    public void addpxjlnr(SelectJlxxDTO dto) {
        this.grqzBLO.addpxjlnr(dto);
    }

    @Override
    public void addzyjnnr(SelectJlxxDTO dto) {
        this.grqzBLO.addzyjnnr(dto);
    }

    @Override
    public void addshzsnr(SelectJlxxDTO dto) {
        this.grqzBLO.addshzsnr(dto);
    }

    @Override
    public void addhjqknr(SelectJlxxDTO dto) {
        this.grqzBLO.addhjqknr(dto);
    }

    @Override
    public void addzcqknr(SelectJlxxDTO dto) {
        this.grqzBLO.addzcqknr(dto);
    }

    @Override
    public List<RsRlzyZwxxPO> getZwzntjList() {
        return this.grqzBLO.getZwzntjList();
    }

    @Override
    public List<RsRlzyZwxxPO> getRgtjzw() {
        return this.grqzBLO.getRgtjzw();
    }

    @Override
    public int getGzgsNum() {
        return this.grqzBLO.getGzgsNum();
    }

    @Override
    public int getSczwNum() {
        return this.grqzBLO.getSczwNum();
    }

    @Override
    public int getSqzwNum() {
        return this.grqzBLO.getSqzwNum();
    }

    @Override //收藏职位
    public void getSczw(GrqzSczwDTO dto) {
        this.grqzBLO.getSczw(dto);
    }


    @Override //申请职位
    public void Sqzw(GrqzSczwDTO dto) {
        this.grqzBLO.Sqzw(dto);
    }

    @Override
    public void toGrspTjsh(DwTxSpQueryDTO dto) {
      this.grqzBLO.toGrspTjsh(dto);
    }

    @Override
    public void toGrtxTjsh(DwTxSpQueryDTO dto) {
        this.grqzBLO.toGrtxTjsh(dto);
    }

    @Override //获取默认简历流水号
    public JlxxPO getMrjllsh() {
        return this.grqzBLO.getMrjllsh();
    }

    @Override
    public JlxxPO getzxJlxx() {
        return this.grqzBLO.getzxJlxx();
    }

    @Override
    public Map getGrzxJljbxx(ZjQueryDTO dto1) {
        return this.grqzBLO.getGrzxJljbxx(dto1);
    }

}

