| | |
| | | import com.alibaba.druid.support.json.JSONUtils; |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.netease.nim.server.sdk.core.YunxinApiHttpClient; |
| | | import com.netease.nim.server.sdk.core.YunxinApiResponse; |
| | | import com.netease.nim.server.sdk.core.exception.YunxinSdkException; |
| | |
| | | import com.ruoyi.im.config.CreateTeamRequest; |
| | | import com.ruoyi.im.config.AssignmentRequest; |
| | | import com.ruoyi.im.service.NeteaseTeamService; |
| | | import com.ruoyi.system.domain.GroupWelcomeConfig; |
| | | import com.ruoyi.system.domain.NeteaseTeam; |
| | | import com.ruoyi.system.mapper.NeteaseTeamMapper; |
| | | import com.ruoyi.system.service.GroupWelcomeConfigService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | this.yunxinClient = yunxinClient; |
| | | } |
| | | |
| | | |
| | | @Autowired |
| | | GroupWelcomeConfigService groupWelcomeConfigService; |
| | | |
| | | @Resource |
| | | private NeteaseTeamMapper neteaseTeamMapper; |
| | |
| | | String jsonBody = JSON.toJSONString(paramMap); |
| | | |
| | | NeteaseTeam neteaseTeam = neteaseTeamMapper.selectById(request.getGroupId()); |
| | | if(ObjectUtil.isNotEmpty(neteaseTeam)){ |
| | | if(ObjectUtil.isEmpty(neteaseTeam)){ |
| | | return AjaxResult.error("群不存在!"); |
| | | } |
| | | |
| | |
| | | try { |
| | | |
| | | NeteaseTeam neteaseTeam = neteaseTeamMapper.selectById(request.getGroupId()); |
| | | if(ObjectUtil.isNotEmpty(neteaseTeam)){ |
| | | if(ObjectUtil.isEmpty(neteaseTeam)){ |
| | | return AjaxResult.error("群不存在!"); |
| | | } |
| | | GroupWelcomeConfig groupWelcomeConfig = groupWelcomeConfigService.getOne(new LambdaQueryWrapper<>(GroupWelcomeConfig.class) |
| | | .eq(GroupWelcomeConfig::getConfigurationName, "IM-BASICS").last(" limit 1")); |
| | | |
| | | AddTeamMembersRequest build = AddTeamMembersRequest.builder() |
| | | .inviteAccountIds(request.getInviteAccountIds()) |
| | | .operatorId(request.getOperatorId()) |
| | | .operatorId(groupWelcomeConfig.getUserAccid()) |
| | | .msg(request.getMsg()) |
| | | .teamId(Long.getLong(neteaseTeam.getTid())) |
| | | .teamId(Long.valueOf(neteaseTeam.getTid())) |
| | | .teamType(neteaseTeam.getTeamType()) |
| | | .build(); |
| | | String jsonBody = JSONUtils.toJSONString(build); |
| | | |
| | | // 方法1:使用 Jackson ObjectMapper |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | String jsonBody = objectMapper.writeValueAsString(build); |
| | | |
| | | YunxinApiResponse response = yunxinClient.executeV2Api( |
| | | HttpMethod.POST, |
| | |
| | | try { |
| | | |
| | | NeteaseTeam neteaseTeam = neteaseTeamMapper.selectById(request.getGroupId()); |
| | | if(ObjectUtil.isNotEmpty(neteaseTeam)){ |
| | | if(ObjectUtil.isEmpty(neteaseTeam)){ |
| | | return AjaxResult.error("群不存在!"); |
| | | } |
| | | |
| | | AssignmentRequest build = AssignmentRequest.builder() |
| | | .teamId(Long.getLong(neteaseTeam.getTid())) |
| | | .teamId(Long.valueOf(neteaseTeam.getTid())) |
| | | .team_type(neteaseTeam.getTeamType()) |
| | | .leave(2) |
| | | .new_owner_account_id(request.getNew_owner_account_id()) |
| | | .leave(request.getLeave()) |
| | | .build(); |
| | | String requestBody = JSONUtils.toJSONString(build); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | String requestBody = objectMapper.writeValueAsString(build); |
| | | |
| | | String path = TeamV2UrlContext.TRANSFER_OWNER.replace("{team_id}",neteaseTeam.getTid().toString()); |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult dismiss(Long id) { |
| | | public AjaxResult dismiss(Integer id) { |
| | | try { |
| | | NeteaseTeam neteaseTeam = neteaseTeamMapper.selectById(id); |
| | | if(ObjectUtil.isNotEmpty(neteaseTeam)){ |
| | | if(ObjectUtil.isEmpty(neteaseTeam)){ |
| | | return AjaxResult.error("群不存在!"); |
| | | } |
| | | Map<String, String> queryParams = new HashMap<>(); |
| | |
| | | log.error("网易云信解散群失败,响应:"); |
| | | return AjaxResult.error("解散群失败"); |
| | | } |
| | | neteaseTeam.setStatus(1); |
| | | neteaseTeamMapper.updateById(neteaseTeam); |
| | | return AjaxResult.success(); |
| | | } catch (YunxinSdkException e) { |
| | | // 云信调用异常时回滚事务 |