package com.panzhihua.service_community.service.impl; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.community.ComMngRealCompanyBelongsDTO; import com.panzhihua.common.model.dtos.community.ExportRealCompanyExcelDTO; import com.panzhihua.common.model.dtos.community.PageComMngRealCompanyDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngRealCompanyBelongsVO; import com.panzhihua.common.model.vos.community.ComMngRealCompanyExcelVO; import com.panzhihua.common.model.vos.community.ComMngRealCompanyVO; import com.panzhihua.service_community.dao.ComMngRealCompanyDAO; import com.panzhihua.service_community.model.dos.ComMngRealCompanyDO; import com.panzhihua.service_community.service.ComMngRealCompanyService; /** * @description: 实有单位 * @author: Null * @date: 2021/3/19 11:55 */ @Service public class ComMngRealCompanyServiceImpl extends ServiceImpl implements ComMngRealCompanyService { @Resource private ComMngRealCompanyDAO comMngRealCompanyDAO; @Override public R pageQueryComMngRealCompany(PageComMngRealCompanyDTO pageComMngRealCompanyDTO) { Page page = new Page<>(); Long pageNum = pageComMngRealCompanyDTO.getPageNum(); Long pageSize = pageComMngRealCompanyDTO.getPageSize(); if (null == pageNum || 0 == pageNum) { pageNum = 1l; } if (null == pageSize || 0 == pageSize) { pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); IPage iPage = comMngRealCompanyDAO.pageQueryComMngRealCompany(page, pageComMngRealCompanyDTO); return R.ok(iPage); } @Override public R saveComMngRealCompany(ComMngRealCompanyVO comMngRealCompanyVO) { if (null != comMngRealCompanyVO.getId() && comMngRealCompanyVO.getId() != 0) { // 修改 ComMngRealCompanyDO comMngRealCompanyDO = comMngRealCompanyDAO.selectById(comMngRealCompanyVO.getId()); if (null == comMngRealCompanyDO) { return R.fail("该单位不存在"); } ComMngRealCompanyDO checkCreditCode = comMngRealCompanyDAO.selectOne(new QueryWrapper() .lambda().eq(ComMngRealCompanyDO::getCreditCode, comMngRealCompanyVO.getCreditCode())); if (null != checkCreditCode && comMngRealCompanyDO.getId() != checkCreditCode.getId()) { return R.fail("该单位已存在,信用代码重复"); } BeanUtils.copyProperties(comMngRealCompanyVO, comMngRealCompanyDO); int update = comMngRealCompanyDAO.updateById(comMngRealCompanyDO); if (update > 0) { return R.ok(); } } else { // 新增 Integer count = comMngRealCompanyDAO.selectCount(new QueryWrapper().lambda() .eq(ComMngRealCompanyDO::getCreditCode, comMngRealCompanyVO.getCreditCode())); if (count > 0) { return R.fail("该单位已存在,信用代码重复"); } ComMngRealCompanyDO comMngRealCompanyDO = new ComMngRealCompanyDO(); BeanUtils.copyProperties(comMngRealCompanyVO, comMngRealCompanyDO); int insert = comMngRealCompanyDAO.insert(comMngRealCompanyDO); if (insert > 0) { return R.ok(); } } return R.fail("添加失败"); } @Override public R deleteComMngRealCompany(Long id) { ComMngRealCompanyDO comMngRealCompanyDO = comMngRealCompanyDAO.selectById(id); if (null == comMngRealCompanyDO) { return R.fail("该单位不存在"); } int delete = comMngRealCompanyDAO.deleteById(id); if (delete > 0) { return R.ok(); } return R.fail("删除失败"); } @Override public R detailComMngRealCompany(Long id) { ComMngRealCompanyDO comMngRealCompanyDO = comMngRealCompanyDAO.selectById(id); if (null == comMngRealCompanyDO) { return R.fail("该单位不存在"); } ComMngRealCompanyVO comMngRealCompanyVO = new ComMngRealCompanyVO(); BeanUtils.copyProperties(comMngRealCompanyDO, comMngRealCompanyVO); return R.ok(comMngRealCompanyVO); } @Override public R listSaveMngRealCompanyExcelVO(List list, Long communityId) { List dbComMngRealCompany = comMngRealCompanyDAO.selectList(new QueryWrapper().lambda()); List comMngRealCompanyDOS = new ArrayList<>(); list.forEach(l -> { ComMngRealCompanyDO realCompany = dbComMngRealCompany.stream() .filter(db -> db.getCreditCode().equals(l.getCreditCode())).findFirst().orElse(null); if (realCompany == null) { ComMngRealCompanyDO comMngRealCompanyDO = new ComMngRealCompanyDO(); BeanUtils.copyProperties(l, comMngRealCompanyDO); comMngRealCompanyDO.setCommunityId(communityId); comMngRealCompanyDOS.add(comMngRealCompanyDO); } else { BeanUtils.copyProperties(l, realCompany); realCompany.setCommunityId(communityId); comMngRealCompanyDOS.add(realCompany); } }); boolean batch = this.saveOrUpdateBatch(comMngRealCompanyDOS); if (batch) { return R.ok(); } return R.fail("请检查格式是否正确"); } @Override public R exportRealCompanyExcel(ExportRealCompanyExcelDTO exportRealCompanyExcelDTO) { List list = comMngRealCompanyDAO.exportRealCompanyExcel(exportRealCompanyExcelDTO); return R.ok(list); } @Override public R belongsComMngRealCompany(ComMngRealCompanyBelongsDTO comMngRealCompanyBelongsDTO) { ComMngRealCompanyBelongsVO comMngRealCompanyBelongsVO = comMngRealCompanyDAO.queryComMngRealCompanyBelongs(comMngRealCompanyBelongsDTO); return R.ok(comMngRealCompanyBelongsVO); } @Override public R getComMngRealCompanyTotalByAdmin(Long communityId) { return R.ok(this.baseMapper.getComMngRealCompanyTotalByAdmin(communityId)); } }