package com.example.jz.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.jz.dao.GroupDao; import com.example.jz.dao.GroupUserDao; import com.example.jz.dao.ReportDao; import com.example.jz.modle.dto.ReportParamDto; import com.example.jz.modle.entity.Group; import com.example.jz.modle.entity.GroupUser; import com.example.jz.modle.entity.Report; import com.example.jz.modle.vo.ReportListVo; import com.example.jz.service.ReportService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; import java.util.Date; /** * 报案表(Report)表服务实现类 * * @author makejava * @since 2022-07-13 11:52:58 */ @Service("reportService") public class ReportServiceImpl extends ServiceImpl implements ReportService { @Autowired private ReportDao reportDao; @Autowired private GroupDao groupDao; @Autowired private GroupUserDao groupUserDao; /** * 审核报案 * * @param report * @return */ @Override @Transactional public Boolean audit(Report report) { // 1. 更新报案表 report.setStatus(1); reportDao.updateById(report); // 2. 更新群用户表 Group group = groupDao.selectOne(new LambdaQueryWrapper<>(Group.class) .eq(Group::getCauseId, report.getCauseId())); GroupUser groupUser = new GroupUser().setGroupId(group.getId()).setUserId(report.getUserId()).setCtime(new Date()).setBanSpeech(0); groupUserDao.insert(groupUser); return true; } @Override public void leaveGroup(Integer id, Integer groupId) { groupUserDao.delete(new QueryWrapper().eq("user_id", id).eq("group_id", groupId)); } @Override public Page getPage(Page page, ReportParamDto reportParamDto) { Page aaa = reportDao.getPage(page, reportParamDto); aaa.getRecords().stream().forEach(x -> x.setIdcard(x.getIdcard().replaceAll("(?<=[\\d]{3})\\d(?=[\\d]{4})", "*"))); return aaa; } @Override public ReportListVo getReportListVoById(Serializable id) { return reportDao.getReportListVoById(id); } @Override public Page getPageByGroupId(Page page, ReportParamDto reportParamDto, Integer groupId) { Page aaa = reportDao.getPageByGroupId(page, reportParamDto,groupId); aaa.getRecords().stream().forEach(x -> x.setIdcard(x.getIdcard().replaceAll("(?<=[\\d]{3})\\d(?=[\\d]{4})", "*"))); return aaa; } }