package cn.huge.module.cases.service; import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.IdUtils; import cn.huge.base.common.utils.ObjectUtils; import cn.huge.module.cases.domain.dto.FrontPageListDTO; import cn.huge.module.cases.domain.dto.FrontPageListJADTO; import cn.huge.module.cases.domain.po.CaseInfo; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.cases.dao.mapper.CaseWindupApplyMapper; import cn.huge.module.cases.domain.po.CaseWindupApply; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; import java.util.Map; /** * @title: 纠纷结案申请信息表业务逻辑处理 * @Description 纠纷结案申请信息表业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-09-06 23:57:02 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class CaseWindupApplyService extends ServiceImpl{ @Autowired private CaseWindupApplyMapper mapper; @Autowired private UtilsClientImpl utilsClient; @Autowired private CaseInfoService caseInfoService; /** * 更新对象 * @param entity 对象 */ public void updateCaseWindupApply(CaseWindupApply entity){ try{ mapper.updateCaseWindupApply(entity); }catch (Exception e){ log.error("[CaseWindupApplyService.updateCaseWindupApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseWindupApplyService.updateCaseWindupApply", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateCaseWindupApplyTerms(CaseWindupApply entity, Map terms){ try{ mapper.updateCaseWindupApplyTerms(entity, terms); }catch (Exception e){ log.error("[CaseWindupApplyService.updateCaseWindupApplyTerms]调用失败,异常信息:"+e, e); throw new ServiceException("CaseWindupApplyService.updateCaseWindupApplyTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteCaseWindupApply(String id){ try{ mapper.deleteCaseWindupApply(id); }catch (Exception e){ log.error("[CaseWindupApplyService.deleteCaseWindupApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseWindupApplyService.deleteCaseWindupApply", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List listTerms(Map terms){ return mapper.listTerms(terms); } /** * 按条件统计 * @param terms 条件 * @return long */ public long countTerms(Map terms){ return mapper.countTerms(terms); } /** * 按条件分页查询 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page pageQuery(PageRequest page, Map terms){ long total = mapper.countTerms(terms); List content = mapper.pageTerms(page, terms); return new PageImpl(content, page, total); } /** * 新增或更新对象 * @param caseWindupApply 实体对象 */ public void saveCaseWindupApply(CaseWindupApply caseWindupApply){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(caseWindupApply.getId())){ caseWindupApply.setId(utilsClient.getNewTimeId()); caseWindupApply.setCreateTime(nowDate); } caseWindupApply.setUpdateTime(nowDate); this.saveOrUpdate(caseWindupApply); }catch (Exception e){ log.error("[CaseWindupApplyService.saveCaseWindupApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseWindupApplyService.saveCaseWindupApply", e); } } /** * 根据纠纷任务编号查询 * @param caseTaskId * @return */ public CaseWindupApply getByCaseTaskId(String caseTaskId){ try{ // 创建CaseWindupApply的查询条件包装器 QueryWrapper caseWindupApplyQueryWrapper = new QueryWrapper<>(); // 设置查询条件为case_task_id等于传入的caseTaskId caseWindupApplyQueryWrapper.eq("case_task_id", caseTaskId); // 使用查询条件从数据库中选取一条记录 CaseWindupApply caseWindupApply = mapper.selectOne(caseWindupApplyQueryWrapper); // 判断查询到的记录是否不为空 if (ObjectUtils.isNotEmpty(caseWindupApply)) { // 创建CaseInfo的查询条件包装器 QueryWrapper caseInfoQueryWrapper =new QueryWrapper<>(); // 设置查询条件为id等于caseWindupApply中的caseId,并只选择case_level字段 caseInfoQueryWrapper.eq("id", caseWindupApply.getCaseId()).select("case_level"); // 使用查询条件从数据库中选取一条记录 CaseInfo caseInfo = caseInfoService.getOne(caseInfoQueryWrapper); // 将查询到的caseLevel设置到caseWindupApply中 caseWindupApply.setCaseLevel(caseInfo.getCaseLevel()); } // 返回查询到的caseWindupApply对象,如果为空则返回null return caseWindupApply; }catch (Exception e){ // 记录错误日志,包括方法调用失败的信息和异常堆栈 log.error("[CaseWindupApplyService.getByCaseTaskId]调用失败,异常信息:"+e, e); // 抛出服务异常,包含方法名称和原始异常 throw new ServiceException("CaseWindupApplyService.getByCaseTaskId", e); } } public CaseWindupApply getByCaseId(String caseId){ try{ // 创建CaseWindupApply的查询条件包装器 QueryWrapper caseWindupApplyQueryWrapper = new QueryWrapper<>(); // 设置查询条件为case_task_id等于传入的caseTaskId caseWindupApplyQueryWrapper.eq("case_id", caseId); // 使用查询条件从数据库中选取一条记录 CaseWindupApply caseWindupApply = mapper.selectOne(caseWindupApplyQueryWrapper); // 返回查询到的caseWindupApply对象,如果为空则返回null return caseWindupApply; }catch (Exception e){ // 记录错误日志,包括方法调用失败的信息和异常堆栈 log.error("[CaseWindupApplyService.getByCaseTaskId]调用失败,异常信息:"+e, e); // 抛出服务异常,包含方法名称和原始异常 throw new ServiceException("CaseWindupApplyService.getByCaseTaskId", e); } } /** * 首页-待审核分页查询 * @param terms 条件 * @return Page */ public long countMyTaskApplyReview(Map terms){ long total = mapper.countMyTaskApplyReview(terms); return total; } /** * 首页-待审核查询 * @param page 分页对象 * @param terms 条件 * @return Page */ public List listMyTaskApplyReview(PageRequest page, Map terms){ List frontPageListDTOList = mapper.listMyTaskApplyReview(page, terms); return frontPageListDTOList; } /** * 首页-查询数量 * @param auditUnitId 条件 * @return Page */ public long countApplyReview(String auditUnitId){ return mapper.countApplyReview(auditUnitId); } /** * 首页-查询待办任务-结案申请条件统计 * @param terms 条件 * @return Page */ public long countMyTaskJasq(Map terms){ return mapper.countMyTaskJasq(terms); } /** * 首页-查询待办任务-结案申请分页查询 * @param page 分页对象 * @param terms 条件 * @return Page */ public List listMyTaskJasq(PageRequest page, Map terms){ return mapper.listMyTaskJasq(page, terms); } /** * 首页-查询待办任务-已结案条件统计 * @param terms 条件 * @return Page */ public long countMyTaskYja(Map terms){ return mapper.countMyTaskYja(terms); } /** * 首页-查询待办任务-已结案分页查询 * @param page 分页对象 * @param terms 条件 * @return Page */ public List listMyTaskYja(PageRequest page, Map terms){ return mapper.listMyTaskYja(page, terms); } }