package com.ruoyi.call.service.impl; import java.util.Arrays; import java.util.List; import com.ruoyi.call.domain.ArdCallGroupUser; import com.ruoyi.call.mapper.ArdCallGroupUserMapper; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.uuid.IdUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.call.mapper.ArdCallGroupMapper; import com.ruoyi.call.domain.ArdCallGroup; import com.ruoyi.call.service.IArdCallGroupService; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; /** * 会话群组Service业务层处理 * * @author ard * @date 2024-07-03 */ @Service public class ArdCallGroupServiceImpl implements IArdCallGroupService { @Resource private ArdCallGroupMapper ardCallGroupMapper; @Resource private ArdCallGroupUserMapper ardCallGroupUserMapper; /** * 查询会话群组 * * @param id 会话群组主键 * @return 会话群组 */ @Override public ArdCallGroup selectArdCallGroupById(String id) { return ardCallGroupMapper.selectArdCallGroupById(id); } /** * 查询会话群组列表 * * @param ardCallGroup 会话群组 * @return 会话群组 */ @Override public List selectArdCallGroupList(ArdCallGroup ardCallGroup) { return ardCallGroupMapper.selectArdCallGroupList(ardCallGroup); } /** * 新增会话群组 * * @param ardCallGroup 会话群组 * @return 结果 */ @Transactional @Override public String insertArdCallGroup(ArdCallGroup ardCallGroup) { ardCallGroup.setId(IdUtils.simpleUUID()); ardCallGroup.setCreateBy(SecurityUtils.getUserId()); ardCallGroup.setCreateTime(DateUtils.getNowDate()); ardCallGroup.getUserIds().stream().forEach(userId -> { ArdCallGroupUser groupUser = new ArdCallGroupUser(); groupUser.setId(IdUtils.simpleUUID()); groupUser.setGroupId(ardCallGroup.getId()); groupUser.setUserId(userId); groupUser.setCreateTime(DateUtils.getNowDate()); ardCallGroupUserMapper.insertArdCallGroupUser(groupUser); }); ardCallGroupMapper.insertArdCallGroup(ardCallGroup); return ardCallGroup.getId(); } /** * 修改会话群组 * * @param ardCallGroup 会话群组 * @return 结果 */ @Override public int updateArdCallGroup(ArdCallGroup ardCallGroup) { ardCallGroup.setUpdateBy(SecurityUtils.getUsername()); ardCallGroup.setUpdateTime(DateUtils.getNowDate()); return ardCallGroupMapper.updateArdCallGroup(ardCallGroup); } /** * 批量删除会话群组 * * @param ids 需要删除的会话群组主键 * @return 结果 */ @Override public int deleteArdCallGroupByIds(String[] ids) { Arrays.stream(ids).forEach(id -> { ardCallGroupUserMapper.clearArdCallGroupUsers(id); }); return ardCallGroupMapper.deleteArdCallGroupByIds(ids); } /** * 删除会话群组信息 * * @param id 会话群组主键 * @return 结果 */ @Override public int deleteArdCallGroupById(String id) { ardCallGroupUserMapper.clearArdCallGroupUsers(id); return ardCallGroupMapper.deleteArdCallGroupById(id); } }