package com.ruoyi.system.service.impl;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.domain.ProposalInfo;
import com.ruoyi.system.domain.ProposalUnitReply;
import com.ruoyi.system.domain.ZxFj;
import com.ruoyi.system.domain.sqmy.SqmyInfo;
import com.ruoyi.system.domain.sqmy.SqmyUnitReply;
import com.ruoyi.system.mapper.SqmyInfoMapper;
import com.ruoyi.system.mapper.ZxFjMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SqmyUnitReplyMapper;
import com.ruoyi.system.service.ISqmyUnitReplyService;

/**
 * 社情民意单位答复Service业务层处理
 * 
 * @author boman
 * @date 2024-03-15
 */
@Service
public class SqmyUnitReplyServiceImpl implements ISqmyUnitReplyService 
{
    @Autowired
    private SqmyUnitReplyMapper sqmyUnitReplyMapper;
    @Autowired
    private SqmyInfoMapper sqmyInfoMapper;
    @Autowired
    private ZxFjMapper zxFjMapper;

    /**
     * 查询社情民意单位答复
     * 
     * @param id 社情民意单位答复主键
     * @return 社情民意单位答复
     */
    @Override
    public SqmyUnitReply selectSqmyUnitReplyById(Long id)
    {
        return sqmyUnitReplyMapper.selectSqmyUnitReplyById(id);
    }

    /**
     * 查询社情民意单位答复列表
     * 
     * @param sqmyUnitReply 社情民意单位答复
     * @return 社情民意单位答复
     */
    @Override
    public List<SqmyUnitReply> selectSqmyUnitReplyList(SqmyUnitReply sqmyUnitReply)
    {
        return sqmyUnitReplyMapper.selectSqmyUnitReplyList(sqmyUnitReply);
    }

    /**
     * 新增社情民意单位答复
     * 
     * @param sqmyUnitReply 社情民意单位答复
     * @return 结果
     */
    @Override
    public int insertSqmyUnitReply(SqmyUnitReply sqmyUnitReply)
    {
        return sqmyUnitReplyMapper.insertSqmyUnitReply(sqmyUnitReply);
    }

    /**
     * 修改社情民意单位答复
     * 
     * @param sqmyUnitReply 社情民意单位答复
     * @return 结果
     */
    @Override
    public int updateSqmyUnitReply(SqmyUnitReply sqmyUnitReply)
    {
        return sqmyUnitReplyMapper.updateSqmyUnitReply(sqmyUnitReply);
    }

    /**
     * 批量删除社情民意单位答复
     * 
     * @param ids 需要删除的社情民意单位答复主键
     * @return 结果
     */
    @Override
    public int deleteSqmyUnitReplyByIds(Long[] ids)
    {
        return sqmyUnitReplyMapper.deleteSqmyUnitReplyByIds(ids);
    }

    /**
     * 删除社情民意单位答复信息
     * 
     * @param id 社情民意单位答复主键
     * @return 结果
     */
    @Override
    public int deleteSqmyUnitReplyById(Long id)
    {
        return sqmyUnitReplyMapper.deleteSqmyUnitReplyById(id);
    }

    @Override
    public AjaxResult reply(SqmyUnitReply sqmyUnitReply) {
        //查询当前账号部门
        Long deptId = SecurityUtils.getDeptId();
        sqmyUnitReply.setDeptId(deptId);
        sqmyUnitReply.setEndTime(DateUtils.getNowDate());
        List<SqmyUnitReply> list = sqmyUnitReplyMapper.selectSqmyUnitReplyList(sqmyUnitReply);
        for (SqmyUnitReply unitReply : list) {
            unitReply.setContent(sqmyUnitReply.getContent());
            unitReply.setIsReply("0");
            sqmyUnitReplyMapper.updateSqmyUnitReply(unitReply);
        }
        if(list.get(0).getType().equals("2")){
            SqmyInfo sqmyInfo = new SqmyInfo();
            sqmyInfo.setSqmyId(sqmyUnitReply.getSqmyId());
            sqmyInfo.setSqmyProgress("4");
            sqmyInfo.setUpdateTime(DateUtils.getNowDate());
            sqmyInfoMapper.updateSqmyInfo(sqmyInfo);
        }

        if(sqmyUnitReply.getZxFjList()!=null && sqmyUnitReply.getZxFjList().size()>0){
            for (ZxFj zxFj : sqmyUnitReply.getZxFjList()) {
                zxFj.setMainId(sqmyUnitReply.getSqmyId());
                zxFj.setSourceId(sqmyUnitReply.getId());
                zxFj.setType("1");
                zxFj.setStytle(list.get(0).getType());
                zxFjMapper.insertZxFj(zxFj);
            }
        }

        return  AjaxResult.success();
    }
}
