feat(emergency): 急救宣教资源推送到应急群聊

This commit is contained in:
2026-06-25 15:53:22 +08:00
parent 3f63abe1e3
commit 8761a965aa
17 changed files with 407 additions and 23 deletions
@@ -3,6 +3,7 @@ package com.renkang.im.api;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.renkang.im.api.fallback.IMHelloFallback;
import com.renkang.im.dto.AddGroupMemberDTO;
import com.renkang.im.dto.DeleteGroupMemberDTO;
import com.renkang.im.entity.*;
import com.renkang.im.vo.AddGroupMemberVO;
import com.renkang.im.vo.ImBaseResult;
@@ -80,4 +81,12 @@ public interface IMHelloApi {
@GetMapping("/wnapp/destroyGroup")
Result<ImBaseResult> destroyGroup(@RequestParam("groupId") String groupId);
/**
* @description: 删除群成员
* @author PengJ
* @date 2025/6/25
*/
@PostMapping(value = "/wnapp/deleteGroupMember")
Result<ImBaseResult> deleteGroupMember(@RequestBody @Validated DeleteGroupMemberDTO dto);
}
@@ -0,0 +1,41 @@
package com.renkang.im.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author PengJ
* @version 1.0
* @description: 删除群成员dto
* @date 2025/6/25
*/
@NoArgsConstructor
@Data
public class DeleteGroupMemberDTO {
/**
* 要操作的群组(必填)
*/
@NotNull(message = "群组ID不能为空")
@JsonProperty("GroupId")
private String groupId;
/**
* 是否静默删人。
* 0:非静默删人。
* 1:静默删人。
* 不填该字段默认为0。
*/
@JsonProperty("Silence")
private Integer silence;
/**
* 要删除的群成员ID列表
*/
@JsonProperty("MemberToDel_Account")
private List<String> memberToDelAccount;
}
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.renkang.consultation.api.ConSessionHelloApi;
import com.renkang.consultation.entity.ConSessionDO;
import com.renkang.im.dto.AddGroupMemberDTO;
import com.renkang.im.dto.DeleteGroupMemberDTO;
import com.renkang.im.entity.*;
import com.renkang.im.service.IImMsgRecordAllService;
import com.renkang.im.util.IdWorker;
@@ -398,6 +399,12 @@ public class TXController {
return Result.OK(tencentCloudImUtil.addGroupMember(dto));
}
@Operation(summary = "删除群成员", description = "删除群成员")
@PostMapping("/deleteGroupMember")
public Result<ImBaseResult> deleteGroupMember(@RequestBody @Validated DeleteGroupMemberDTO dto) {
return Result.OK(tencentCloudImUtil.deleteGroupMember(dto));
}
@Operation(summary = "解散群组", description = "解散群组")
@GetMapping("/destroyGroup")
public Result<ImBaseResult> destroyGroup(@RequestParam("groupId") String groupId) {
@@ -11,6 +11,7 @@ import com.renkang.im.ImSendEnum;
import com.renkang.im.common.TencentCloudImApiConstant;
import com.renkang.im.common.TencentCloudImConstant;
import com.renkang.im.dto.AddGroupMemberDTO;
import com.renkang.im.dto.DeleteGroupMemberDTO;
import com.renkang.im.entity.*;
import com.renkang.im.vo.AddGroupMemberVO;
import com.renkang.im.vo.ImBaseResult;
@@ -505,6 +506,30 @@ public class TencentCloudImUtil {
}
/**
* 删除群成员
*
* @param dto 删除群成员请求
* @return ImBaseResult
*/
public ImBaseResult deleteGroupMember(DeleteGroupMemberDTO dto) {
try {
Integer random = RandomUtils.nextInt(0, 999999999);
String httpsUrl = getHttpsUrl(TencentCloudImApiConstant.GroupManage.DELETE_GROUP_MEMBER, random);
String jsonString = objectMapper.writeValueAsString(dto);
JSONObject jsonObject = JSONObject.parseObject(jsonString);
log.info("腾讯云im【删除群成员】,请求参数:{}", jsonObject);
String result = HttpUtil.doPost(httpsUrl, jsonObject);
log.info("腾讯云im【删除群成员】,返回结果:{}", result);
return JSONObject.toJavaObject(JSONObject.parseObject(result), ImBaseResult.class);
} catch (Exception e) {
log.error("【删除群成员】异常:{}", e.getMessage());
ImBaseResult result = new ImBaseResult();
result.setActionStatus("FAIL");
return result;
}
}
/**
* 拉取群聊历史消息
*