|
@@ -8,17 +8,21 @@ import com.microsvc.toolkit.middleware.live.impl.TencentCloudLivePlugin;
|
|
|
import com.yonge.cooleshow.admin.io.request.course.CourseRelationVo;
|
|
|
import com.yonge.cooleshow.admin.io.request.im.IMNotifyMessageVO;
|
|
|
import com.yonge.cooleshow.admin.io.request.im.UserFriendInfoVO;
|
|
|
+import com.yonge.cooleshow.api.feign.dto.ImUserInfo;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.TencentData;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.TencentImCallbackResult;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.ImUserStateSync;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.im.ETencentImCallbackCommand;
|
|
|
import com.yonge.cooleshow.biz.dal.service.CourseRelationMusicAlbumService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.ImGroupService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.LiveRoomService;
|
|
|
import com.yonge.cooleshow.biz.dal.wrapper.im.CustomerService;
|
|
|
+import com.yonge.cooleshow.biz.dal.wrapper.im.ImGroupWrapper;
|
|
|
import com.yonge.cooleshow.common.controller.BaseController;
|
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
|
+import com.yonge.toolset.base.exception.BizException;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -62,6 +66,9 @@ public class ImController extends BaseController {
|
|
|
@Autowired
|
|
|
private LiveRoomService liveRoomService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ImGroupService imGroupService;
|
|
|
+
|
|
|
@ApiOperation("新用户添加客服")
|
|
|
@PostMapping(value = "/im/customerService")
|
|
|
public HttpResponseResult<Boolean> customerService(@RequestBody UserFriendInfoVO info) {
|
|
@@ -241,5 +248,20 @@ public class ImController extends BaseController {
|
|
|
return TencentData.StreamEventCallbackResult.builder().code(0).build();
|
|
|
}
|
|
|
|
|
|
+ @ApiOperation("注册im用户")
|
|
|
+ @PostMapping(value = "/im/register")
|
|
|
+ public ImUserInfo register(String userId, ClientEnum clientType, String username, String avatar) {
|
|
|
+
|
|
|
+ log.info("注册im用户");
|
|
|
+
|
|
|
+ try {
|
|
|
+ ImGroupWrapper.ImUserInfo register = imGroupService.register(userId, clientType, username, avatar);
|
|
|
+ return JSON.parseObject(JSON.toJSONString(register), ImUserInfo.class);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("注册im用户失败", e);
|
|
|
+ throw new BizException(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|