package com.dy.pipIrrWechat.issue; 
 | 
  
 | 
import com.dy.common.webUtil.QueryResultVo; 
 | 
import com.dy.pipIrrGlobal.daoSe.SeIssueReportMapper; 
 | 
import com.dy.pipIrrGlobal.daoSe.SeReportReplyMapper; 
 | 
import com.dy.pipIrrGlobal.pojoSe.SeIssueReport; 
 | 
import com.dy.pipIrrGlobal.pojoSe.SeReportReply; 
 | 
import com.dy.pipIrrGlobal.voSe.VoIssueReport; 
 | 
import com.dy.pipIrrGlobal.voSe.VoIssueReportReply; 
 | 
import com.dy.pipIrrWechat.issue.qo.QoIssueReport; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.apache.dubbo.common.utils.PojoUtils; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.stereotype.Service; 
 | 
  
 | 
import java.util.Date; 
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
/** 
 | 
 * @author ZhuBaoMin 
 | 
 * @date 2024-10-30 10:34 
 | 
 * @LastEditTime 2024-10-30 10:34 
 | 
 * @Description 农户问题上报服务类 
 | 
 */ 
 | 
  
 | 
@Slf4j 
 | 
@Service 
 | 
public class IssueSv { 
 | 
    @Autowired 
 | 
    private SeIssueReportMapper seIssueReportMapper; 
 | 
  
 | 
    @Autowired 
 | 
    private SeReportReplyMapper seReportReplyMapper; 
 | 
  
 | 
    /** 
 | 
     * 添加用户问题上报 
 | 
     * @param po 
 | 
     * @return 
 | 
     */ 
 | 
    public String addIssueReport(SeIssueReport po) { 
 | 
        po.setReportTime(new Date()); 
 | 
        po.setState((byte)1); 
 | 
        seIssueReportMapper.insert(po); 
 | 
        Long issueReportId = po.getId(); 
 | 
        if(issueReportId == null) { 
 | 
            return "农户问题上报失败"; 
 | 
        } 
 | 
  
 | 
        return "success"; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 修改农户问题上报状态,回复及删除时使用 
 | 
     * @param po 
 | 
     * @return 
 | 
     */ 
 | 
    public Integer updateIssueReport(SeIssueReport po) { 
 | 
        return seIssueReportMapper.updateByPrimaryKeySelective(po); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据指定条件获取农户问题上报 
 | 
     * @param queryVo 
 | 
     * @return 
 | 
     */ 
 | 
    public QueryResultVo<List<VoIssueReport>> getIssueReports(QoIssueReport queryVo) { 
 | 
        //完善查询充值记录的起止时间 
 | 
        String timeStart = queryVo.getTimeStart(); 
 | 
        String timeStop = queryVo.getTimeStop(); 
 | 
        if (timeStart != null) { 
 | 
            timeStart = timeStart + " 00:00:00"; 
 | 
            queryVo.setTimeStart(timeStart); 
 | 
        } 
 | 
        if (timeStop != null) { 
 | 
            timeStop = timeStop + " 23:59:59"; 
 | 
            queryVo.setTimeStop(timeStop); 
 | 
        } 
 | 
  
 | 
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); 
 | 
  
 | 
        Long itemTotal = seIssueReportMapper.getIssueReportsCount(params); 
 | 
        QueryResultVo<List<VoIssueReport>> rsVo = new QueryResultVo<>(); 
 | 
  
 | 
        rsVo.pageSize = queryVo.pageSize; 
 | 
        rsVo.pageCurr = queryVo.pageCurr; 
 | 
  
 | 
        rsVo.calculateAndSet(itemTotal, params); 
 | 
        rsVo.obj = seIssueReportMapper.getIssueReports(params); 
 | 
        return rsVo; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据上报ID及农户ID获取未删除的上报,删除上报判断使用 
 | 
     * @param issueReportId 
 | 
     * @param clientId 
 | 
     * @return 
 | 
     */ 
 | 
    public SeIssueReport getReport(Long issueReportId, Long clientId) { 
 | 
        return seIssueReportMapper.getReport(issueReportId, clientId); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 删除农户问题上报 
 | 
     * @param issueReportId 
 | 
     * @return 
 | 
     */ 
 | 
    public Integer deleteIssueReport(Long issueReportId) { 
 | 
        return seIssueReportMapper.deleteIssueReport(issueReportId); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 添加农户问题上报回复 
 | 
     * @param po 
 | 
     * @return 
 | 
     */ 
 | 
    public Long insertReportReply(SeReportReply po) { 
 | 
        seReportReplyMapper.insert(po); 
 | 
        return po.getId(); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据问题上报ID获取上报回复信息 
 | 
     * @param reportId 
 | 
     * @return 
 | 
     */ 
 | 
    public VoIssueReportReply getReportReplyByReportId(Long reportId) { 
 | 
        return seReportReplyMapper.getReportReplyByReportId(reportId); 
 | 
    } 
 | 
  
 | 
} 
 |