| | |
| | | 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.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.example.jz.dao.CauseDao; |
| | | import com.example.jz.dao.GroupDao; |
| | | import com.example.jz.dao.ReportDao; |
| | | import com.example.jz.dao.UserDao; |
| | | import com.example.jz.dao.*; |
| | | import com.example.jz.modle.PageParam; |
| | | import com.example.jz.modle.dto.AddReportDto; |
| | | import com.example.jz.modle.dto.CauseDto; |
| | | import com.example.jz.modle.entity.Cause; |
| | | import com.example.jz.modle.entity.Group; |
| | | import com.example.jz.modle.entity.Report; |
| | | import com.example.jz.modle.entity.User; |
| | | import com.example.jz.modle.entity.*; |
| | | import com.example.jz.modle.vo.AnnouncementVo; |
| | | import com.example.jz.modle.vo.CauseReportVo; |
| | | import com.example.jz.modle.vo.CauseVo; |
| | | import com.example.jz.modle.vo.UserVo; |
| | | import com.example.jz.service.CauseService; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 案件表(Cause)表服务实现类 |
| | | * ������(Cause)�����ʵ���� |
| | | * |
| | | * @author makejava |
| | | * @since 2022-07-13 11:52:58 |
| | |
| | | CauseService causeService; |
| | | @Resource |
| | | GroupDao groupDao; |
| | | @Resource |
| | | GroupUserDao groupUserDao; |
| | | |
| | | @Resource |
| | | AnnouncementDao announcementDao; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Integer addCause(CauseDto causeDto) { |
| | | //创建案件 |
| | | //�������� |
| | | Cause cause = new Cause(); |
| | | BeanUtils.copyProperties(causeDto, cause); |
| | | cause.setCtime(new Date()); |
| | | causeService.save(cause); |
| | | //创建群组 |
| | | //����Ⱥ�� |
| | | Group group = new Group(); |
| | | group.setCtime(new Date()); |
| | | group.setGroupName(causeDto.getName()); |
| | |
| | | BeanUtils.copyProperties(a, causeVo); |
| | | causeVo.setUserName(userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId())).getRealName()); |
| | | causeVo.setReportNumber(reportDao.selectCount(new QueryWrapper<Report>().eq("cause_id", a.getId()))); |
| | | causeVo.setGroupId(groupDao.selectOne(new QueryWrapper<Group>().eq("cause_id", a.getId())).getId()); |
| | | return causeVo; |
| | | }).collect(Collectors.toList()); |
| | | PageParam<CauseVo> causeVoPageParam = new PageParam<>(); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Integer updateCause(CauseDto causeDto,Integer id) { |
| | | public Integer updateCause(CauseDto causeDto, Integer id) { |
| | | Cause cause = new Cause(); |
| | | BeanUtils.copyProperties(causeDto,cause); |
| | | BeanUtils.copyProperties(causeDto, cause); |
| | | cause.setId(id); |
| | | return causeDao.updateById(cause); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<CauseReportVo> getReporterList(Integer causeId) { |
| | | return reportDao.selectList(new QueryWrapper<Report>().eq("cause_id", causeId)).stream() |
| | | .map( |
| | | a -> { |
| | | CauseReportVo causeReportVo = new CauseReportVo(); |
| | | User user = userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId())); |
| | | BeanUtils.copyProperties(a, causeReportVo); |
| | | causeReportVo.setUserIdcard(user.getUserIdcard()); |
| | | causeReportVo.setUserMobile(user.getUserMobile()); |
| | | causeReportVo.setUserIdcard(causeReportVo.getUserIdcard().replaceAll("(?<=[\\d]{3})\\d(?=[\\d]{4})", "*")); |
| | | causeReportVo.setUserName(user.getRealName()); |
| | | return causeReportVo; |
| | | } |
| | | ).collect(Collectors.toList()); |
| | | } |
| | | |
| | | @Override |
| | | public List<AnnouncementVo> getGroupAnnouncement(Integer groupId) { |
| | | return announcementDao.selectList(new QueryWrapper<Announcement>().eq("group_id", groupId)).stream() |
| | | .map( |
| | | a -> { |
| | | AnnouncementVo announcementVo = new AnnouncementVo(); |
| | | BeanUtils.copyProperties(a, announcementVo); |
| | | return announcementVo; |
| | | } |
| | | ).collect(Collectors.toList()); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteCause(Integer id) { |
| | | causeDao.deleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public Boolean addReportPeople(AddReportDto addReportDto) { |
| | | User user = userDao.selectOne(new LambdaQueryWrapper<User>(User.class).eq(User::getUserIdcard, addReportDto.getIdcard())); |
| | | if (user == null) { |
| | | // 如果用户不存在 则添加用户 |
| | | user = new User().setUserIdcard(addReportDto.getIdcard()).setUserMobile(addReportDto.getMobile()).setRealName(addReportDto.getReporterName()) |
| | | .setModifyTime(new Date()).setUserRegtime(new Date()).setPic(addReportDto.getPic()); |
| | | userDao.insert(user); |
| | | } |
| | | // 添加人员进群组 |
| | | groupUserDao.insert(new GroupUser().setGroupId(addReportDto.getGroupId()).setUserId(user.getId()).setCtime(new Date()).setBanSpeech(0)); |
| | | // 添加报案信息 |
| | | Report report = new Report(); |
| | | BeanUtils.copyProperties(addReportDto, report); |
| | | report |
| | | .setUserId(user.getId()) |
| | | .setCtime(new Date()) |
| | | .setStatus(0) |
| | | .setReportMethod("现场录入") |
| | | .setIsCommission("0").setReportTime(new Date()) |
| | | .setCauseId(groupDao.selectOne(new QueryWrapper<Group>().eq("id", addReportDto.getGroupId())).getCauseId()); |
| | | return reportDao.insert(report) > 0; |
| | | } |
| | | } |