|
@@ -1,5 +1,7 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
+import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
+import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.biz.dal.dao.ImSendGroupMessageDao;
|
|
|
import com.ym.mec.biz.dal.entity.ImSendGroupMessage;
|
|
|
import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
|
|
@@ -23,6 +25,7 @@ import java.net.URL;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
+import java.util.Optional;
|
|
|
|
|
|
@Service
|
|
|
public class ImSendGroupMessageServiceImpl extends BaseServiceImpl<Long, ImSendGroupMessage> implements ImSendGroupMessageService {
|
|
@@ -31,6 +34,8 @@ public class ImSendGroupMessageServiceImpl extends BaseServiceImpl<Long, ImSendG
|
|
|
private ImSendGroupMessageDao imSendGroupMessageDao;
|
|
|
@Autowired
|
|
|
private SysMessageService sysMessageService;
|
|
|
+ @Autowired
|
|
|
+ private SysUserFeignService sysUserFeignService;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Long, ImSendGroupMessage> getDAO() {
|
|
@@ -53,6 +58,8 @@ public class ImSendGroupMessageServiceImpl extends BaseServiceImpl<Long, ImSendG
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void sendGroupMessage(ImSendGroupMessage messageDto) throws Exception {
|
|
|
+ SysUser user = Optional.of(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("用户不存在"));
|
|
|
+ messageDto.setSenderId(user.getId().toString());
|
|
|
if(Objects.isNull(messageDto.getSendTime())){
|
|
|
messageDto.setSendFlag(true);
|
|
|
send(messageDto);
|
|
@@ -73,7 +80,20 @@ public class ImSendGroupMessageServiceImpl extends BaseServiceImpl<Long, ImSendG
|
|
|
imSendGroupMessageDao.update(imSendGroupMessage);
|
|
|
}
|
|
|
|
|
|
- private void send(ImSendGroupMessage messageDto) throws Exception {
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void deleteGroupMessage(Long id) {
|
|
|
+ ImSendGroupMessage message = imSendGroupMessageDao.get(id);
|
|
|
+ if(Objects.isNull(message)){
|
|
|
+ throw new BizException("消息不存在");
|
|
|
+ }
|
|
|
+ if(message.getSendFlag()){
|
|
|
+ throw new BizException("消息已发送");
|
|
|
+ }
|
|
|
+ imSendGroupMessageDao.delete(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void send(ImSendGroupMessage messageDto) throws Exception {
|
|
|
if (Objects.equals(messageDto.getMessageType(), ImSendTypeEnum.IMG)) {
|
|
|
String content = imageToBase64(Thumbnails.of(new URL(messageDto.getFileUrl())).scale(0.5f).outputQuality(0.25f).asBufferedImage());
|
|
|
sysMessageService.batchSendImGroupMessage(content,messageDto.getSenderId(),
|