aijinhui
2023-12-23 6482335baf447da4faf65fd26e6155cef1c0b05f
ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java
@@ -7,6 +7,9 @@
import com.ruoyi.rongcloud.mapper.ArdRongGroupMapper;
import com.ruoyi.rongcloud.mapper.ArdRongGroupUserMapper;
import com.ruoyi.rongcloud.domain.*;
import com.ruoyi.rongcloud.param.RongCloudGroupDisParam;
import com.ruoyi.rongcloud.param.RongCloudGroupParam;
import com.ruoyi.rongcloud.param.RongCloudParam;
import com.ruoyi.rongcloud.service.RongCloudService;
import com.ruoyi.utils.forest.RongCloudClient;
import lombok.extern.slf4j.Slf4j;
@@ -123,6 +126,59 @@
        return AjaxResult.success(groupMap);
    }
    @Override
    public AjaxResult groupJoin(RongCloudGroupParam groupParam) {
        Map<String, Object> groupMap =  rongCloudClient.groupJoin(getRongCloudHead(),groupParam);
        Integer code = (Integer) groupMap.get("code");
        if(code.equals(200)){
            if(groupParam.getGroupName()!=null){
                ArdRongGroup ardRongGroup = ardRongGroupMapper.selectById(groupParam.getGroupId());
                ardRongGroup.setGroupName(groupParam.getGroupName());
                ardRongGroupMapper.updateById(ardRongGroup);
            }
            List<String> userList = groupParam.getUserId();
            for (int i = 0; i < userList.size(); i++) {
                ArdRongGroupUser ardRongGroupUser = new ArdRongGroupUser();
                ardRongGroupUser.setId(String.valueOf(UUID.randomUUID()));
                ardRongGroupUser.setGroupId(groupParam.getGroupId());
                ardRongGroupUser.setUserId(userList.get(i));
                ardRongGroupUserMapper.insert(ardRongGroupUser);
            }
        }
        groupMap.put("groupId",groupParam.getGroupId());
        if(groupParam.getGroupName()!=null){
            groupMap.put("groupName",groupParam.getGroupId());
        }else {
            ArdRongGroup ardRongGroup = ardRongGroupMapper.selectById(groupParam.getGroupId());
            groupMap.put("groupName",ardRongGroup.getGroupName());
        }
        groupMap.put("userId",groupParam.getUserId());
        return AjaxResult.success(groupMap);
    }
    @Override
    public AjaxResult groupQuit(RongCloudGroupParam groupParam) {
        Map<String, Object> groupMap =  rongCloudClient.groupQuit(getRongCloudHead(),groupParam);
        Integer code = (Integer) groupMap.get("code");
        if(code.equals(200)){
            List<String> userList = groupParam.getUserId();
            for (int i = 0; i < userList.size(); i++) {
                QueryWrapper<ArdRongGroupUser> queryWrapper = new QueryWrapper<>();
                queryWrapper.eq("user_id",groupParam.getGroupId())
                        .eq("group_id",groupParam.getUserId());
                ardRongGroupUserMapper.delete(queryWrapper);
            }
        }
        groupMap.put("groupId",groupParam.getGroupId());
        groupMap.put("userId",groupParam.getUserId());
        return AjaxResult.success(groupMap);
    }
    @Override
    public AjaxResult groupUserQuery(RongCloudGroupParam groupId) {
        return AjaxResult.success(rongCloudClient.groupUserQuery(getRongCloudHead(),groupId));
    }
    /**
     * 获取融云签名信息
     */
@@ -130,7 +186,7 @@
        String appKey = redisCache.getCacheObject("sys_config:RongCloudAppKey");
        String appSecret = redisCache.getCacheObject("sys_config:RongCloudAppSecret");
        String nonce = RandomStringUtils.randomNumeric(18);
        String timestamp = String.valueOf(new Date().getTime());
        String timestamp = String.valueOf(System.currentTimeMillis());
        String signature = DigestUtils.sha1Hex(appSecret + nonce + timestamp);//App Secret + Nonce + T
        Map<String, Object> headerMap = new HashMap<>();
        headerMap.put("App-Key", appKey);