| package com.doumee.service.business.impl; | 
|   | 
| import com.doumee.biz.system.SystemDictDataBiz; | 
| import com.doumee.service.business.third.model.PageData; | 
| import com.doumee.service.business.third.model.PageWrap; | 
| import com.doumee.core.utils.Constants; | 
| import com.doumee.core.utils.Utils; | 
| import com.doumee.dao.business.HiddenDangerLogMapper; | 
| import com.doumee.dao.business.HiddenDangerMapper; | 
| import com.doumee.dao.business.dao.CompanyMapper; | 
| import com.doumee.dao.business.join.HiddenDangerLogJoinMapper; | 
| import com.doumee.dao.business.model.Company; | 
| import com.doumee.dao.business.model.HiddenDanger; | 
| import com.doumee.dao.business.model.HiddenDangerLog; | 
| import com.doumee.dao.system.SystemUserMapper; | 
| import com.doumee.dao.system.model.SystemUser; | 
| import com.doumee.service.business.HiddenDangerLogService; | 
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
| import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
| import com.baomidou.mybatisplus.core.metadata.IPage; | 
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
| import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
| import org.apache.commons.lang3.StringUtils; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Service; | 
| import org.springframework.util.CollectionUtils; | 
|   | 
| import java.util.List; | 
| import java.util.Objects; | 
|   | 
| /** | 
|  * 理賠操作历史表Service实现 | 
|  * @author 江蹄蹄 | 
|  * @since 2024/04/28 16:06 | 
|  */ | 
| @Service | 
| public class HiddenDangerLogServiceImpl implements HiddenDangerLogService { | 
|   | 
|     @Autowired | 
|     private HiddenDangerLogMapper hiddenDangerLogMapper; | 
|   | 
|     @Autowired | 
|     private HiddenDangerMapper hiddenDangerMapper; | 
|   | 
|     @Autowired | 
|     private HiddenDangerLogJoinMapper hiddenDangerLogJoinMapper; | 
|   | 
|     @Autowired | 
|     private SystemUserMapper systemUserMapper; | 
|   | 
|     @Autowired | 
|     private CompanyMapper companyMapper; | 
|   | 
|     @Autowired | 
|     private SystemDictDataBiz systemDictDataBiz; | 
|   | 
|     @Override | 
|     public Integer create(HiddenDangerLog hiddenDangerLog) { | 
|         hiddenDangerLogMapper.insert(hiddenDangerLog); | 
|         return hiddenDangerLog.getId(); | 
|     } | 
|   | 
|     @Override | 
|     public void deleteById(Integer id) { | 
|         hiddenDangerLogMapper.deleteById(id); | 
|     } | 
|   | 
|     @Override | 
|     public void delete(HiddenDangerLog hiddenDangerLog) { | 
|         UpdateWrapper<HiddenDangerLog> deleteWrapper = new UpdateWrapper<>(hiddenDangerLog); | 
|         hiddenDangerLogMapper.delete(deleteWrapper); | 
|     } | 
|   | 
|     @Override | 
|     public void deleteByIdInBatch(List<Integer> ids) { | 
|         if (CollectionUtils.isEmpty(ids)) { | 
|             return; | 
|         } | 
|         hiddenDangerLogMapper.deleteBatchIds(ids); | 
|     } | 
|   | 
|     @Override | 
|     public void updateById(HiddenDangerLog hiddenDangerLog) { | 
|         hiddenDangerLogMapper.updateById(hiddenDangerLog); | 
|     } | 
|   | 
|     @Override | 
|     public void updateByIdInBatch(List<HiddenDangerLog> hiddenDangerLogs) { | 
|         if (CollectionUtils.isEmpty(hiddenDangerLogs)) { | 
|             return; | 
|         } | 
|         for (HiddenDangerLog hiddenDangerLog: hiddenDangerLogs) { | 
|             this.updateById(hiddenDangerLog); | 
|         } | 
|     } | 
|   | 
|     @Override | 
|     public HiddenDangerLog findById(Integer id) { | 
|         return hiddenDangerLogMapper.selectById(id); | 
|     } | 
|   | 
|     @Override | 
|     public HiddenDangerLog findOne(HiddenDangerLog hiddenDangerLog) { | 
|         QueryWrapper<HiddenDangerLog> wrapper = new QueryWrapper<>(hiddenDangerLog); | 
|         return hiddenDangerLogMapper.selectOne(wrapper); | 
|     } | 
|   | 
|     @Override | 
|     public List<HiddenDangerLog> findList(HiddenDangerLog hiddenDangerLog) { | 
|         List<HiddenDangerLog> hiddenDangerLogList = hiddenDangerLogJoinMapper.selectJoinList(HiddenDangerLog.class, | 
|                 new MPJLambdaWrapper<HiddenDangerLog>() | 
|                         .selectAll(HiddenDangerLog.class) | 
|                         .selectAs(SystemUser::getRealname,HiddenDangerLog::getCreateUserName) | 
|                         .selectAs(SystemUser::getAvatar,HiddenDangerLog::getAvatar) | 
|                         .selectAs(Company::getCompanyNamePath,HiddenDangerLog::getCompanyName) | 
|                         .leftJoin(SystemUser.class,SystemUser::getId,HiddenDangerLog::getCreator) | 
|                         .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) | 
|                         .eq(Objects.nonNull(hiddenDangerLog.getHiddenDangerId()),HiddenDangerLog::getHiddenDangerId,hiddenDangerLog.getHiddenDangerId()) | 
|                         .eq(Objects.isNull(hiddenDangerLog.getHiddenDangerId()),"1",2) | 
|                         .eq(HiddenDangerLog::getIsdeleted, Constants.ZERO) | 
|                         .orderByAsc(HiddenDangerLog::getCreateDate) | 
|         ); | 
|         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerLogList)){ | 
|             HiddenDanger hiddenDanger = hiddenDangerMapper.selectById(hiddenDangerLog.getHiddenDangerId()); | 
|             if(Objects.isNull(hiddenDanger)){ | 
|                 return null; | 
|             } | 
|             if(hiddenDanger.getStatus().equals(Constants.ZERO)){ | 
|                 //下一步处理人 | 
|                 HiddenDangerLog newBean = new HiddenDangerLog(); | 
|                 newBean.setCreateUserName("-"); | 
|                 newBean.setCompanyName("-"); | 
|                 newBean.setTitle("隐患处理"); | 
|                 newBean.setAvatar("-"); | 
|   | 
|                 SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId()).last(" limit 1 ")); | 
|                 if(Objects.nonNull(systemUser)){ | 
|                     newBean.setCreateUserName(systemUser.getRealname()); | 
|                     newBean.setAvatar(systemUser.getAvatar()); | 
|                     Company company = companyMapper.selectById(systemUser.getCompanyId()); | 
|                     if(Objects.nonNull(company)){ | 
|                         newBean.setCompanyName(company.getCompanyNamePath()); | 
|                     } | 
|                 } | 
|                 hiddenDangerLogList.add(newBean); | 
|             } | 
|   | 
|             String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() | 
|                     +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); | 
|   | 
|             for (HiddenDangerLog bean:hiddenDangerLogList) { | 
|                 if(StringUtils.isNotBlank(bean.getAvatar() ) && bean.getAvatar().indexOf("HKIMG")<0 ){ | 
|                     bean.setAvatar(path + bean.getAvatar()); | 
|                 }else{ | 
|                     bean.setAvatar(null); | 
|                 } | 
|             } | 
|         } | 
|   | 
|         return hiddenDangerLogList; | 
|     } | 
|    | 
|     @Override | 
|     public PageData<HiddenDangerLog> findPage(PageWrap<HiddenDangerLog> pageWrap) { | 
|         IPage<HiddenDangerLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|         QueryWrapper<HiddenDangerLog> queryWrapper = new QueryWrapper<>(); | 
|         Utils.MP.blankToNull(pageWrap.getModel()); | 
|         queryWrapper.lambda() | 
|                 .eq(pageWrap.getModel().getId() != null, HiddenDangerLog::getId, pageWrap.getModel().getId()) | 
|                 .eq(pageWrap.getModel().getCreator() != null, HiddenDangerLog::getCreator, pageWrap.getModel().getCreator()) | 
|                 .ge(pageWrap.getModel().getCreateDate() != null, HiddenDangerLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())) | 
|                 .le(pageWrap.getModel().getCreateDate() != null, HiddenDangerLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())) | 
|                 .eq(pageWrap.getModel().getEditor() != null, HiddenDangerLog::getEditor, pageWrap.getModel().getEditor()) | 
|                 .ge(pageWrap.getModel().getEditDate() != null, HiddenDangerLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())) | 
|                 .le(pageWrap.getModel().getEditDate() != null, HiddenDangerLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())) | 
|                 .eq(pageWrap.getModel().getIsdeleted() != null, HiddenDangerLog::getIsdeleted, pageWrap.getModel().getIsdeleted()) | 
|                 .eq(pageWrap.getModel().getRemark() != null, HiddenDangerLog::getRemark, pageWrap.getModel().getRemark()) | 
|                 .eq(pageWrap.getModel().getHiddenDangerId() != null, HiddenDangerLog::getHiddenDangerId, pageWrap.getModel().getHiddenDangerId()) | 
|                 .eq(pageWrap.getModel().getTitle() != null, HiddenDangerLog::getTitle, pageWrap.getModel().getTitle()) | 
|                 .eq(pageWrap.getModel().getContent() != null, HiddenDangerLog::getContent, pageWrap.getModel().getContent()) | 
|                 .eq(pageWrap.getModel().getObjType() != null, HiddenDangerLog::getObjType, pageWrap.getModel().getObjType()) | 
|                 .eq(pageWrap.getModel().getObjId() != null, HiddenDangerLog::getObjId, pageWrap.getModel().getObjId()) | 
|                 .eq(pageWrap.getModel().getBeforeContent() != null, HiddenDangerLog::getBeforeContent, pageWrap.getModel().getBeforeContent()) | 
|                 .eq(pageWrap.getModel().getAfterContent() != null, HiddenDangerLog::getAfterContent, pageWrap.getModel().getAfterContent()) | 
|         ; | 
|         for(PageWrap.SortData sortData: pageWrap.getSorts()) { | 
|             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { | 
|                 queryWrapper.orderByDesc(sortData.getProperty()); | 
|             } else { | 
|                 queryWrapper.orderByAsc(sortData.getProperty()); | 
|             } | 
|         } | 
|         return PageData.from(hiddenDangerLogMapper.selectPage(page, queryWrapper)); | 
|     } | 
|   | 
|     @Override | 
|     public long count(HiddenDangerLog hiddenDangerLog) { | 
|         QueryWrapper<HiddenDangerLog> wrapper = new QueryWrapper<>(hiddenDangerLog); | 
|         return hiddenDangerLogMapper.selectCount(wrapper); | 
|     } | 
| } |