Ver Fonte

小小训练营活动

zouxuan há 3 anos atrás
pai
commit
0713cd2f1d

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImSendGroupMessageService.java

@@ -18,4 +18,6 @@ public interface ImSendGroupMessageService extends BaseService<Long, ImSendGroup
     void deleteGroupMessage(Long id);
 
     void deleteGroupList(Long imSendGroupMessageId, String groupIds);
+
+    void addGroupList(Long imSendGroupMessageId, String groupIds);
 }

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImSendGroupMessageServiceImpl.java

@@ -104,6 +104,25 @@ public class ImSendGroupMessageServiceImpl extends BaseServiceImpl<Long, ImSendG
 		List<String> groupIdList = Arrays.stream(groupIds.split(",")).collect(Collectors.toList());
 		List<String> targetIdList = Arrays.stream(sendGroupMessage.getTargetIds().split(",")).collect(Collectors.toList());
 		targetIdList.removeAll(groupIdList);
+		if (targetIdList.size() == 0) {
+			throw new BizException("消息没有指定群组");
+		}
+		sendGroupMessage.setTargetIds(String.join(",", targetIdList));
+		imSendGroupMessageDao.update(sendGroupMessage);
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void addGroupList(Long imSendGroupMessageId, String groupIds) {
+		ImSendGroupMessage sendGroupMessage =
+				Optional.of(imSendGroupMessageDao.get(imSendGroupMessageId)).orElseThrow(() -> new BizException("消息不存在"));
+		if(sendGroupMessage.getSendFlag()){
+			throw new BizException("消息已发送");
+		}
+		//添加指定的群列表
+		Set<String> groupIdList = Arrays.stream(groupIds.split(",")).collect(Collectors.toSet());
+		Set<String> targetIdList = Arrays.stream(sendGroupMessage.getTargetIds().split(",")).collect(Collectors.toSet());
+		targetIdList.addAll(groupIdList);
 		sendGroupMessage.setTargetIds(String.join(",", targetIdList));
 		imSendGroupMessageDao.update(sendGroupMessage);
 	}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ImSendGroupMessageController.java

@@ -65,6 +65,14 @@ public class ImSendGroupMessageController extends BaseController {
         imSendGroupMessageService.deleteGroupList(imSendGroupMessageId,groupIds);
         return succeed();
     }
+    @ApiOperation("添加未发送消息的群列表")
+    @PostMapping(value = "/addGroupList")
+    public HttpResponseResult addGroupList(Long imSendGroupMessageId,String groupIds) throws Exception {
+        Optional.ofNullable(groupIds).orElseThrow(() -> new BizException("群组id不能为空"));
+        Optional.ofNullable(imSendGroupMessageId).orElseThrow(() -> new BizException("群消息id不能为空"));
+        imSendGroupMessageService.addGroupList(imSendGroupMessageId,groupIds);
+        return succeed();
+    }
 
     @ApiOperation("查询群列表(没有在消息列表的)")
     @PostMapping(value = "/queryGroupPage")