| | |
| | | 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.ycl.entity.message.Message; |
| | | import com.ycl.entity.message.SmsAudit; |
| | | import com.ycl.entity.user.UmsDepartManage; |
| | | import com.ycl.mapper.message.SmsAuditMapper; |
| | | import com.ycl.mapper.user.UmsDepartManageMapper; |
| | | import com.ycl.service.message.ISmsAuditService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | @Service |
| | | public class SmsAuditServiceImpl extends ServiceImpl<SmsAuditMapper, SmsAudit> implements ISmsAuditService { |
| | | |
| | | @Resource |
| | | private UmsDepartManageMapper umsDepartManageMapper; |
| | | |
| | | @Override |
| | | public IPage<SmsAudit> list(SmsAudit smsAudit) { |
| | | Page<SmsAudit> page = new Page<>(smsAudit.getCurrent(), smsAudit.getPageSize()); |
| | | LambdaQueryWrapper<SmsAudit> queryWrapper = new LambdaQueryWrapper<>(); |
| | | if (smsAudit.getAuditId() != null) { |
| | | queryWrapper.eq(SmsAudit::getAuditId, smsAudit.getAuditId()); |
| | | } |
| | | if (smsAudit.getAuditStatus() != null) { |
| | | queryWrapper.eq(SmsAudit::getAuditStatus, smsAudit.getAuditStatus()); |
| | | } |
| | | Page<SmsAudit> result = baseMapper.selectPage(page, queryWrapper); |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public void startAuditSms(Message message) { |
| | | String[] arr = message.getTargetTo().split(","); |
| | | List<Long> ids = new ArrayList<>(); |
| | | for (int i = 0; i < arr.length; i++) { |
| | | ids.add(Long.parseLong(arr[i])); |
| | | } |
| | | //查询部门 |
| | | LambdaQueryWrapper<UmsDepartManage> queryDeptWrapper = new LambdaQueryWrapper<>(); |
| | | queryDeptWrapper.in(UmsDepartManage::getUserId, ids); |
| | | List<UmsDepartManage> depts = umsDepartManageMapper.selectList(queryDeptWrapper); |
| | | //部门去重 |
| | | List<UmsDepartManage> uniques = depts.stream().collect( |
| | | Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o->o.getDepartId()))), |
| | | ArrayList::new)); |
| | | List<Long> deptLeadIds = uniques.stream().map(UmsDepartManage::getDepartId).collect(Collectors.toList()); |
| | | LambdaQueryWrapper<UmsDepartManage> queryDeptLeadWrapper = new LambdaQueryWrapper<>(); |
| | | queryDeptLeadWrapper.in(UmsDepartManage::getDepartId, deptLeadIds).eq(UmsDepartManage::getIsLeader,1); |
| | | List<UmsDepartManage> deptLeads = umsDepartManageMapper.selectList(queryDeptLeadWrapper); |
| | | //添加短信审核 |
| | | List<SmsAudit> audits = new ArrayList<>(); |
| | | for (UmsDepartManage depart : deptLeads) { |
| | | SmsAudit audit = new SmsAudit(); |
| | | audit.setMessageId(message.getId()); |
| | | audit.setAuditId(depart.getUserId()); |
| | | //待审核状态 |
| | | audit.setAuditStatus(0); |
| | | Long userId = Long.parseLong(message.getTargetFrom()); |
| | | audit.setCreateUser(userId); |
| | | audit.setCreateTime(new Date()); |
| | | audit.setUpdateUser(userId); |
| | | audit.setUpdateTime(new Date()); |
| | | audits.add(audit); |
| | | } |
| | | saveBatch(audits); |
| | | |
| | | } |
| | | } |