commit
785cb5e428
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
* <p>
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
* <p>
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
* <p>
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
* <p>
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* <p>
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
* <p>
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* <p>
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
* <p>
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* <p>
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
* <p>
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* <p>
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
* <p>
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* <p>
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
* <p>
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* <p>
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
* <p>
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* <p>
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright 2018-2028 Akaxin Group
|
# Copyright 2018-2028 WindChat Group
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
package com.windchat.im.business.bean;
|
||||||
|
|
||||||
|
import java.lang.annotation.Documented;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* customized annotation
|
||||||
|
*
|
||||||
|
* @author Librena
|
||||||
|
* @since 2020-10-20
|
||||||
|
*/
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Documented
|
||||||
|
public @interface ApiActions {
|
||||||
|
|
||||||
|
String action();
|
||||||
|
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -22,9 +22,9 @@ package com.windchat.im.business.constant;
|
|||||||
* @since 2017-12-28 14:38:15
|
* @since 2017-12-28 14:38:15
|
||||||
*/
|
*/
|
||||||
public interface NoticeText {
|
public interface NoticeText {
|
||||||
public String USER_ADD_FRIEND = "我通过了你的好友验证,现在可以开始聊天了";
|
String USER_ADD_FRIEND = "我通过了你的好友验证,现在可以开始聊天了";
|
||||||
public String USER_ADD_GROUP = " 加入了群聊";
|
String USER_ADD_GROUP = " 加入了群聊";
|
||||||
|
|
||||||
public String USER_ADD_GROUP_QR_CODE = " 通过群组二维码加入群聊";
|
String USER_ADD_GROUP_QR_CODE = " 通过群组二维码加入群聊";
|
||||||
|
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
* <p>
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* <p>
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
* <p>
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* <p>
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
* <p>
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* <p>
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,10 +15,14 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.impl;
|
package com.windchat.im.business.impl;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import com.google.common.cache.Cache;
|
||||||
|
import com.google.common.cache.CacheBuilder;
|
||||||
import com.windchat.im.business.dao.UserGroupDao;
|
import com.windchat.common.command.Command;
|
||||||
import com.windchat.im.business.dao.UserProfileDao;
|
import com.windchat.common.command.CommandResponse;
|
||||||
|
import com.windchat.common.constant.CommandConst;
|
||||||
|
import com.windchat.common.constant.ErrorCode2;
|
||||||
|
import com.windchat.common.logs.LogUtils;
|
||||||
|
import com.windchat.im.business.bean.ApiActions;
|
||||||
import com.windchat.im.business.dao.UserGroupDao;
|
import com.windchat.im.business.dao.UserGroupDao;
|
||||||
import com.windchat.im.business.dao.UserProfileDao;
|
import com.windchat.im.business.dao.UserProfileDao;
|
||||||
import com.windchat.im.storage.bean.GroupProfileBean;
|
import com.windchat.im.storage.bean.GroupProfileBean;
|
||||||
@ -27,20 +31,18 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
import java.lang.reflect.Method;
|
||||||
import com.windchat.common.command.CommandResponse;
|
import java.util.concurrent.TimeUnit;
|
||||||
import com.windchat.common.constant.CommandConst;
|
|
||||||
import com.windchat.common.constant.ErrorCode2;
|
|
||||||
import com.windchat.common.logs.LogUtils;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
* @since 2018-01-31 12:20:14
|
* @since 2018-01-31 12:20:14
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractRequest implements IRequestService {
|
public abstract class AbstractRequest implements IRequestService {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(AbstractRequest.class);
|
private static final Logger logger = LoggerFactory.getLogger(AbstractRequest.class);
|
||||||
|
|
||||||
|
Cache<String, Method> cache = CacheBuilder.newBuilder().maximumSize(1000).expireAfterWrite(10, TimeUnit.MINUTES).build();
|
||||||
|
|
||||||
public CommandResponse execute(Command command) {
|
public CommandResponse execute(Command command) {
|
||||||
return executeMethodByReflect(command);
|
return executeMethodByReflect(command);
|
||||||
}
|
}
|
||||||
@ -49,9 +51,25 @@ public abstract class AbstractRequest implements IRequestService {
|
|||||||
CommandResponse response = null;
|
CommandResponse response = null;
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
try {
|
try {
|
||||||
String methodName = command.getMethod();
|
Method actionMethod = cache.getIfPresent(command.getAction());
|
||||||
Method m = this.getClass().getDeclaredMethod(methodName, command.getClass());
|
if (actionMethod == null) {
|
||||||
response = (CommandResponse) m.invoke(this, command);
|
Method[] allMethods = this.getClass().getDeclaredMethods();
|
||||||
|
ApiActions serviceAction = this.getClass().getDeclaredAnnotation(ApiActions.class);
|
||||||
|
for (Method method : allMethods) {
|
||||||
|
ApiActions apiActions = method.getAnnotation(ApiActions.class);
|
||||||
|
if (apiActions == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String action = serviceAction.action() + apiActions.action();
|
||||||
|
if (action.equals(command.getAction())) {
|
||||||
|
response = (CommandResponse) method.invoke(this, command);
|
||||||
|
cache.put(action, method);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
response = (CommandResponse) actionMethod.invoke(this, command);
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LogUtils.requestErrorLog(logger, command, e);
|
LogUtils.requestErrorLog(logger, command, e);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,23 +15,20 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.impl.site;
|
package com.windchat.im.business.impl.site;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import com.akaxin.proto.core.ConfigProto;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import com.windchat.im.business.constant.GroupConfig;
|
import com.windchat.im.business.constant.GroupConfig;
|
||||||
import com.windchat.im.business.dao.SiteConfigDao;
|
import com.windchat.im.business.dao.SiteConfigDao;
|
||||||
|
import com.windchat.im.message.utils.SiteConfigHelper;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang3.math.NumberUtils;
|
import org.apache.commons.lang3.math.NumberUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import com.akaxin.proto.core.ConfigProto;
|
import java.util.Arrays;
|
||||||
import com.windchat.im.business.constant.GroupConfig;
|
import java.util.HashSet;
|
||||||
import com.windchat.im.business.dao.SiteConfigDao;
|
import java.util.List;
|
||||||
import com.windchat.im.message.utils.SiteConfigHelper;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 管理站点配置相关信息
|
* 管理站点配置相关信息
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,25 +15,23 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.impl.tai;
|
package com.windchat.im.business.impl.tai;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.windchat.im.business.dao.UserDeviceDao;
|
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
|
||||||
import com.windchat.common.command.CommandResponse;
|
|
||||||
import com.windchat.common.constant.ErrorCode2;
|
|
||||||
import com.windchat.common.logs.LogUtils;
|
|
||||||
import com.akaxin.proto.core.DeviceProto;
|
import com.akaxin.proto.core.DeviceProto;
|
||||||
import com.akaxin.proto.site.ApiDeviceBoundListProto;
|
import com.akaxin.proto.site.ApiDeviceBoundListProto;
|
||||||
import com.akaxin.proto.site.ApiDeviceListProto;
|
import com.akaxin.proto.site.ApiDeviceListProto;
|
||||||
import com.akaxin.proto.site.ApiDeviceProfileProto;
|
import com.akaxin.proto.site.ApiDeviceProfileProto;
|
||||||
|
import com.windchat.common.command.Command;
|
||||||
|
import com.windchat.common.command.CommandResponse;
|
||||||
|
import com.windchat.common.constant.ErrorCode2;
|
||||||
|
import com.windchat.common.logs.LogUtils;
|
||||||
|
import com.windchat.im.business.bean.ApiActions;
|
||||||
import com.windchat.im.business.dao.UserDeviceDao;
|
import com.windchat.im.business.dao.UserDeviceDao;
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
import com.windchat.im.business.impl.AbstractRequest;
|
||||||
import com.windchat.im.storage.bean.UserDeviceBean;
|
import com.windchat.im.storage.bean.UserDeviceBean;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -41,9 +39,11 @@ import com.windchat.im.storage.bean.UserDeviceBean;
|
|||||||
* @since 2017.10.20
|
* @since 2017.10.20
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = "api.device")
|
||||||
public class ApiDeviceService extends AbstractRequest {
|
public class ApiDeviceService extends AbstractRequest {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ApiDeviceService.class);
|
private static final Logger logger = LoggerFactory.getLogger(ApiDeviceService.class);
|
||||||
|
|
||||||
|
@ApiActions(action = ".profile")
|
||||||
public CommandResponse profile(Command command) {
|
public CommandResponse profile(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse();
|
CommandResponse commandResponse = new CommandResponse();
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -76,6 +76,7 @@ public class ApiDeviceService extends AbstractRequest {
|
|||||||
return commandResponse.setErrCode2(errCode);
|
return commandResponse.setErrCode2(errCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiActions(action = ".list")
|
||||||
public CommandResponse list(Command command) {
|
public CommandResponse list(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse();
|
CommandResponse commandResponse = new CommandResponse();
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -116,6 +117,7 @@ public class ApiDeviceService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".boundList")
|
||||||
public CommandResponse boundList(Command command) {
|
public CommandResponse boundList(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse();
|
CommandResponse commandResponse = new CommandResponse();
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
|
@ -15,23 +15,21 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.impl.tai;
|
package com.windchat.im.business.impl.tai;
|
||||||
|
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
import com.akaxin.proto.core.FileProto;
|
||||||
import com.windchat.im.business.utils.FilePathUtils;
|
import com.akaxin.proto.site.ApiFileDownloadProto;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import com.akaxin.proto.site.ApiFileUploadProto;
|
||||||
import org.slf4j.Logger;
|
import com.google.protobuf.ByteString;
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
import com.windchat.common.command.Command;
|
||||||
import com.windchat.common.command.CommandResponse;
|
import com.windchat.common.command.CommandResponse;
|
||||||
import com.windchat.common.constant.ErrorCode2;
|
import com.windchat.common.constant.ErrorCode2;
|
||||||
import com.windchat.common.logs.LogUtils;
|
import com.windchat.common.logs.LogUtils;
|
||||||
import com.akaxin.proto.core.FileProto;
|
import com.windchat.im.business.bean.ApiActions;
|
||||||
import com.akaxin.proto.site.ApiFileDownloadProto;
|
|
||||||
import com.akaxin.proto.site.ApiFileUploadProto;
|
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
import com.windchat.im.business.impl.AbstractRequest;
|
||||||
import com.windchat.im.business.utils.FilePathUtils;
|
import com.windchat.im.business.utils.FilePathUtils;
|
||||||
import com.windchat.im.business.utils.FileServerUtils;
|
import com.windchat.im.business.utils.FileServerUtils;
|
||||||
import com.google.protobuf.ByteString;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件(图片,语音)上传下载
|
* 文件(图片,语音)上传下载
|
||||||
@ -39,9 +37,11 @@ import com.google.protobuf.ByteString;
|
|||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
* @since 2018-01-25 17:52:08
|
* @since 2018-01-25 17:52:08
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = "api.file")
|
||||||
public class ApiFileService extends AbstractRequest {
|
public class ApiFileService extends AbstractRequest {
|
||||||
private static Logger logger = LoggerFactory.getLogger(ApiFileService.class);
|
private static Logger logger = LoggerFactory.getLogger(ApiFileService.class);
|
||||||
|
|
||||||
|
@ApiActions(action = ".upload")
|
||||||
public CommandResponse upload(Command command) {
|
public CommandResponse upload(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse();
|
CommandResponse commandResponse = new CommandResponse();
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -66,6 +66,7 @@ public class ApiFileService extends AbstractRequest {
|
|||||||
return commandResponse.setErrCode2(errCode);
|
return commandResponse.setErrCode2(errCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiActions(action = ".download")
|
||||||
public CommandResponse download(Command command) {
|
public CommandResponse download(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse();
|
CommandResponse commandResponse = new CommandResponse();
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,23 +15,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.impl.tai;
|
package com.windchat.im.business.impl.tai;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.windchat.im.business.dao.UserFriendDao;
|
|
||||||
import com.windchat.im.business.dao.UserProfileDao;
|
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
|
||||||
import com.windchat.common.command.CommandResponse;
|
|
||||||
import com.windchat.common.constant.CommandConst;
|
|
||||||
import com.windchat.common.constant.ErrorCode2;
|
|
||||||
import com.windchat.common.constant.IErrorCode;
|
|
||||||
import com.windchat.common.exceptions.ZalyException2;
|
|
||||||
import com.windchat.common.logs.LogUtils;
|
|
||||||
import com.windchat.common.utils.StringHelper;
|
|
||||||
import com.akaxin.proto.core.UserProto;
|
import com.akaxin.proto.core.UserProto;
|
||||||
import com.akaxin.proto.site.ApiFriendApplyCountProto;
|
import com.akaxin.proto.site.ApiFriendApplyCountProto;
|
||||||
import com.akaxin.proto.site.ApiFriendApplyListProto;
|
import com.akaxin.proto.site.ApiFriendApplyListProto;
|
||||||
@ -45,6 +28,15 @@ import com.akaxin.proto.site.ApiFriendRemarkProto;
|
|||||||
import com.akaxin.proto.site.ApiFriendSettingProto;
|
import com.akaxin.proto.site.ApiFriendSettingProto;
|
||||||
import com.akaxin.proto.site.ApiFriendUpdateMuteProto;
|
import com.akaxin.proto.site.ApiFriendUpdateMuteProto;
|
||||||
import com.akaxin.proto.site.ApiFriendUpdateSettingProto;
|
import com.akaxin.proto.site.ApiFriendUpdateSettingProto;
|
||||||
|
import com.windchat.common.command.Command;
|
||||||
|
import com.windchat.common.command.CommandResponse;
|
||||||
|
import com.windchat.common.constant.CommandConst;
|
||||||
|
import com.windchat.common.constant.ErrorCode2;
|
||||||
|
import com.windchat.common.constant.IErrorCode;
|
||||||
|
import com.windchat.common.exceptions.ZalyException2;
|
||||||
|
import com.windchat.common.logs.LogUtils;
|
||||||
|
import com.windchat.common.utils.StringHelper;
|
||||||
|
import com.windchat.im.business.bean.ApiActions;
|
||||||
import com.windchat.im.business.dao.UserFriendDao;
|
import com.windchat.im.business.dao.UserFriendDao;
|
||||||
import com.windchat.im.business.dao.UserProfileDao;
|
import com.windchat.im.business.dao.UserProfileDao;
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
import com.windchat.im.business.impl.AbstractRequest;
|
||||||
@ -55,6 +47,11 @@ import com.windchat.im.storage.bean.ApplyFriendBean;
|
|||||||
import com.windchat.im.storage.bean.ApplyUserBean;
|
import com.windchat.im.storage.bean.ApplyUserBean;
|
||||||
import com.windchat.im.storage.bean.SimpleUserBean;
|
import com.windchat.im.storage.bean.SimpleUserBean;
|
||||||
import com.windchat.im.storage.bean.UserFriendBean;
|
import com.windchat.im.storage.bean.UserFriendBean;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
@ -73,6 +70,7 @@ import com.windchat.im.storage.bean.UserFriendBean;
|
|||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
* @since 2017.11.24 18:36:59
|
* @since 2017.11.24 18:36:59
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = "api.friend")
|
||||||
public class ApiFriendService extends AbstractRequest {
|
public class ApiFriendService extends AbstractRequest {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ApiFriendService.class);
|
private static final Logger logger = LoggerFactory.getLogger(ApiFriendService.class);
|
||||||
|
|
||||||
@ -82,6 +80,7 @@ public class ApiFriendService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".profile")
|
||||||
public CommandResponse profile(Command command) {
|
public CommandResponse profile(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -156,6 +155,7 @@ public class ApiFriendService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".list")
|
||||||
public CommandResponse list(Command command) {
|
public CommandResponse list(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -210,6 +210,7 @@ public class ApiFriendService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".apply")
|
||||||
public CommandResponse apply(Command command) {
|
public CommandResponse apply(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -270,6 +271,7 @@ public class ApiFriendService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".applyList")
|
||||||
public CommandResponse applyList(Command command) {
|
public CommandResponse applyList(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -309,6 +311,7 @@ public class ApiFriendService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".applyCount")
|
||||||
public CommandResponse applyCount(Command command) {
|
public CommandResponse applyCount(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -336,6 +339,7 @@ public class ApiFriendService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".applyResult")
|
||||||
public CommandResponse applyResult(Command command) {
|
public CommandResponse applyResult(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -382,6 +386,7 @@ public class ApiFriendService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".delete")
|
||||||
public CommandResponse delete(Command command) {
|
public CommandResponse delete(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -413,6 +418,7 @@ public class ApiFriendService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".setting")
|
||||||
public CommandResponse setting(Command command) {
|
public CommandResponse setting(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -451,6 +457,7 @@ public class ApiFriendService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".updateSetting")
|
||||||
public CommandResponse updateSetting(Command command) {
|
public CommandResponse updateSetting(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -488,6 +495,7 @@ public class ApiFriendService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".mute")
|
||||||
public CommandResponse mute(Command command) {
|
public CommandResponse mute(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -520,6 +528,7 @@ public class ApiFriendService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".updateMute")
|
||||||
public CommandResponse updateMute(Command command) {
|
public CommandResponse updateMute(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -548,6 +557,13 @@ public class ApiFriendService extends AbstractRequest {
|
|||||||
return commandResponse.setErrCode2(errCode);
|
return commandResponse.setErrCode2(errCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置好友备注
|
||||||
|
*
|
||||||
|
* @param command
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiActions(action =".remark")
|
||||||
public CommandResponse remark(Command command) {
|
public CommandResponse remark(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,26 +15,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.impl.tai;
|
package com.windchat.im.business.impl.tai;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import com.windchat.im.business.constant.GroupConfig;
|
|
||||||
import com.windchat.im.business.dao.ExpireTokenDao;
|
|
||||||
import com.windchat.im.business.dao.UserGroupDao;
|
|
||||||
import com.windchat.im.business.dao.UserProfileDao;
|
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
|
||||||
import com.windchat.common.command.CommandResponse;
|
|
||||||
import com.windchat.common.constant.CommandConst;
|
|
||||||
import com.windchat.common.constant.ErrorCode2;
|
|
||||||
import com.windchat.common.constant.IErrorCode;
|
|
||||||
import com.windchat.common.exceptions.ZalyException;
|
|
||||||
import com.windchat.common.exceptions.ZalyException2;
|
|
||||||
import com.windchat.common.logs.LogUtils;
|
|
||||||
import com.akaxin.proto.core.GroupProto;
|
import com.akaxin.proto.core.GroupProto;
|
||||||
import com.akaxin.proto.core.TokenProto;
|
import com.akaxin.proto.core.TokenProto;
|
||||||
import com.akaxin.proto.core.UserProto;
|
import com.akaxin.proto.core.UserProto;
|
||||||
@ -53,6 +33,18 @@ import com.akaxin.proto.site.ApiGroupRemoveMemberProto;
|
|||||||
import com.akaxin.proto.site.ApiGroupSettingProto;
|
import com.akaxin.proto.site.ApiGroupSettingProto;
|
||||||
import com.akaxin.proto.site.ApiGroupUpdateProfileProto;
|
import com.akaxin.proto.site.ApiGroupUpdateProfileProto;
|
||||||
import com.akaxin.proto.site.ApiGroupUpdateSettingProto;
|
import com.akaxin.proto.site.ApiGroupUpdateSettingProto;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
|
import com.google.protobuf.ProtocolStringList;
|
||||||
|
import com.windchat.common.command.Command;
|
||||||
|
import com.windchat.common.command.CommandResponse;
|
||||||
|
import com.windchat.common.constant.CommandConst;
|
||||||
|
import com.windchat.common.constant.ErrorCode2;
|
||||||
|
import com.windchat.common.constant.IErrorCode;
|
||||||
|
import com.windchat.common.exceptions.ZalyException;
|
||||||
|
import com.windchat.common.exceptions.ZalyException2;
|
||||||
|
import com.windchat.common.exceptions.ZalyWarning;
|
||||||
|
import com.windchat.common.logs.LogUtils;
|
||||||
|
import com.windchat.im.business.bean.ApiActions;
|
||||||
import com.windchat.im.business.constant.GroupConfig;
|
import com.windchat.im.business.constant.GroupConfig;
|
||||||
import com.windchat.im.business.dao.ExpireTokenDao;
|
import com.windchat.im.business.dao.ExpireTokenDao;
|
||||||
import com.windchat.im.business.dao.UserGroupDao;
|
import com.windchat.im.business.dao.UserGroupDao;
|
||||||
@ -65,8 +57,12 @@ import com.windchat.im.storage.bean.GroupProfileBean;
|
|||||||
import com.windchat.im.storage.bean.SimpleGroupBean;
|
import com.windchat.im.storage.bean.SimpleGroupBean;
|
||||||
import com.windchat.im.storage.bean.SimpleUserBean;
|
import com.windchat.im.storage.bean.SimpleUserBean;
|
||||||
import com.windchat.im.storage.bean.UserGroupBean;
|
import com.windchat.im.storage.bean.UserGroupBean;
|
||||||
import com.google.common.collect.Lists;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import com.google.protobuf.ProtocolStringList;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 扩展服务器与站点之间通过hai接口,管理群组功能
|
* 扩展服务器与站点之间通过hai接口,管理群组功能
|
||||||
@ -74,6 +70,7 @@ import com.google.protobuf.ProtocolStringList;
|
|||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
* @since 2018-01-13 21:48:35
|
* @since 2018-01-13 21:48:35
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = "api.group")
|
||||||
public class ApiGroupService extends AbstractRequest {
|
public class ApiGroupService extends AbstractRequest {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ApiGroupService.class);
|
private static final Logger logger = LoggerFactory.getLogger(ApiGroupService.class);
|
||||||
|
|
||||||
@ -84,6 +81,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".list")
|
||||||
public CommandResponse list(Command command) {
|
public CommandResponse list(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -129,6 +127,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".create")
|
||||||
public CommandResponse create(Command command) {
|
public CommandResponse create(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -161,7 +160,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (groupMemberIds.size() < 3) {
|
if (groupMemberIds.size() < 3) {
|
||||||
throw new ZalyException(ErrorCode2.ERROR_GROUP_MEMBERLESS3);
|
throw new ZalyWarning(ErrorCode2.ERROR_GROUP_MEMBERLESS3);
|
||||||
}
|
}
|
||||||
|
|
||||||
GroupProfileBean groupBean = UserGroupDao.getInstance().createGroup(siteUserId, groupName, groupMemberIds);
|
GroupProfileBean groupBean = UserGroupDao.getInstance().createGroup(siteUserId, groupName, groupMemberIds);
|
||||||
@ -184,13 +183,17 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
if (e instanceof ZalyException) {
|
if (e instanceof ZalyWarning) {
|
||||||
|
errCode = ((ZalyWarning) e).getErrCode();
|
||||||
|
LogUtils.requestWarnLog(logger, command, errCode.getInfo());
|
||||||
|
} else if (e instanceof ZalyException) {
|
||||||
errCode = ((ZalyException) e).getErrCode();
|
errCode = ((ZalyException) e).getErrCode();
|
||||||
|
LogUtils.requestErrorLog(logger, command, e);
|
||||||
} else {
|
} else {
|
||||||
errCode = ErrorCode2.ERROR_SYSTEMERROR;
|
errCode = ErrorCode2.ERROR_SYSTEMERROR;
|
||||||
}
|
|
||||||
LogUtils.requestErrorLog(logger, command, e);
|
LogUtils.requestErrorLog(logger, command, e);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return commandResponse.setErrCode(errCode);
|
return commandResponse.setErrCode(errCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -203,6 +206,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".delete")
|
||||||
public CommandResponse delete(Command command) {
|
public CommandResponse delete(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -251,6 +255,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".profile")
|
||||||
public CommandResponse profile(Command command) {
|
public CommandResponse profile(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -333,6 +338,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".updateProfile")
|
||||||
public CommandResponse updateProfile(Command command) {
|
public CommandResponse updateProfile(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -400,6 +406,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".addMember")
|
||||||
public CommandResponse addMember(Command command) {
|
public CommandResponse addMember(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -475,6 +482,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiActions(action = ".removeMember")
|
||||||
public CommandResponse removeMember(Command command) {
|
public CommandResponse removeMember(Command command) {
|
||||||
return deleteMember(command);
|
return deleteMember(command);
|
||||||
}
|
}
|
||||||
@ -486,6 +494,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".deleteMember")
|
||||||
public CommandResponse deleteMember(Command command) {
|
public CommandResponse deleteMember(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -532,6 +541,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".quit")
|
||||||
public CommandResponse quit(Command command) {
|
public CommandResponse quit(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -563,6 +573,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".members")
|
||||||
public CommandResponse members(Command command) {
|
public CommandResponse members(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -616,6 +627,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".nonMembers")
|
||||||
public CommandResponse nonMembers(Command command) {
|
public CommandResponse nonMembers(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -671,6 +683,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
|
@ApiActions(action = ".setting")
|
||||||
public CommandResponse setting(Command command) {
|
public CommandResponse setting(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -709,6 +722,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
|
@ApiActions(action = ".updateSetting")
|
||||||
public CommandResponse updateSetting(Command command) {
|
public CommandResponse updateSetting(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -740,6 +754,13 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
return commandResponse.setErrCode(errCode);
|
return commandResponse.setErrCode(errCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取群静音状态
|
||||||
|
*
|
||||||
|
* @param command
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiActions(action = ".mute")
|
||||||
public CommandResponse mute(Command command) {
|
public CommandResponse mute(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -780,11 +801,12 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 个人更新群设置信息
|
* 设置群静音状态
|
||||||
*
|
*
|
||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".updateMute")
|
||||||
public CommandResponse updateMute(Command command) {
|
public CommandResponse updateMute(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -835,6 +857,7 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".applyToken")
|
||||||
public CommandResponse applyToken(Command command) {
|
public CommandResponse applyToken(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -893,6 +916,13 @@ public class ApiGroupService extends AbstractRequest {
|
|||||||
return commandResponse.setErrCode(errCode);
|
return commandResponse.setErrCode(errCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过扫二维码入群
|
||||||
|
*
|
||||||
|
* @param command
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiActions(action = ".joinByToken")
|
||||||
public CommandResponse joinByToken(Command command) {
|
public CommandResponse joinByToken(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,18 +15,12 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.impl.tai;
|
package com.windchat.im.business.impl.tai;
|
||||||
|
|
||||||
import java.util.Base64;
|
import com.akaxin.proto.core.CoreProto;
|
||||||
import java.util.List;
|
import com.akaxin.proto.core.PluginProto;
|
||||||
import java.util.Map;
|
import com.akaxin.proto.site.ApiPluginListProto;
|
||||||
|
import com.akaxin.proto.site.ApiPluginPageProto;
|
||||||
//import org.apache.commons.codec.binary.Base64;
|
import com.akaxin.proto.site.ApiPluginProxyProto;
|
||||||
import com.windchat.im.business.dao.SitePluginDao;
|
import com.google.protobuf.ByteString;
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
|
||||||
import com.windchat.im.business.impl.site.SiteConfig;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
import com.windchat.common.command.Command;
|
||||||
import com.windchat.common.command.CommandResponse;
|
import com.windchat.common.command.CommandResponse;
|
||||||
import com.windchat.common.constant.CharsetCoding;
|
import com.windchat.common.constant.CharsetCoding;
|
||||||
@ -37,16 +31,18 @@ import com.windchat.common.crypto.AESCrypto;
|
|||||||
import com.windchat.common.exceptions.ZalyException2;
|
import com.windchat.common.exceptions.ZalyException2;
|
||||||
import com.windchat.common.http.ZalyHttpClient;
|
import com.windchat.common.http.ZalyHttpClient;
|
||||||
import com.windchat.common.logs.LogUtils;
|
import com.windchat.common.logs.LogUtils;
|
||||||
import com.akaxin.proto.core.CoreProto;
|
import com.windchat.im.business.bean.ApiActions;
|
||||||
import com.akaxin.proto.core.PluginProto;
|
|
||||||
import com.akaxin.proto.site.ApiPluginListProto;
|
|
||||||
import com.akaxin.proto.site.ApiPluginPageProto;
|
|
||||||
import com.akaxin.proto.site.ApiPluginProxyProto;
|
|
||||||
import com.windchat.im.business.dao.SitePluginDao;
|
import com.windchat.im.business.dao.SitePluginDao;
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
import com.windchat.im.business.impl.AbstractRequest;
|
||||||
import com.windchat.im.business.impl.site.SiteConfig;
|
import com.windchat.im.business.impl.site.SiteConfig;
|
||||||
import com.windchat.im.storage.bean.PluginBean;
|
import com.windchat.im.storage.bean.PluginBean;
|
||||||
import com.google.protobuf.ByteString;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.Base64;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理客户端与服务点扩展之间功能
|
* 处理客户端与服务点扩展之间功能
|
||||||
@ -54,6 +50,7 @@ import com.google.protobuf.ByteString;
|
|||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
* @since 2017-12-11 14:46:28
|
* @since 2017-12-11 14:46:28
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = "api.plugin")
|
||||||
public class ApiPluginService extends AbstractRequest {
|
public class ApiPluginService extends AbstractRequest {
|
||||||
private static Logger logger = LoggerFactory.getLogger(ApiPluginService.class);
|
private static Logger logger = LoggerFactory.getLogger(ApiPluginService.class);
|
||||||
private static final String HTTP_PREFFIX = "http://";
|
private static final String HTTP_PREFFIX = "http://";
|
||||||
@ -65,6 +62,7 @@ public class ApiPluginService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".list")
|
||||||
public CommandResponse list(Command command) {
|
public CommandResponse list(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -134,6 +132,7 @@ public class ApiPluginService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".page")
|
||||||
public CommandResponse page(Command command) {
|
public CommandResponse page(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -209,6 +208,7 @@ public class ApiPluginService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".proxy")
|
||||||
public CommandResponse proxy(Command command) {
|
public CommandResponse proxy(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,24 +15,23 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.impl.tai;
|
package com.windchat.im.business.impl.tai;
|
||||||
|
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
import com.akaxin.proto.core.ConfigProto;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import com.akaxin.proto.core.DeviceProto;
|
||||||
import org.slf4j.Logger;
|
import com.akaxin.proto.site.ApiSecretChatApplyU2Proto;
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
import com.windchat.common.command.Command;
|
||||||
import com.windchat.common.command.CommandResponse;
|
import com.windchat.common.command.CommandResponse;
|
||||||
import com.windchat.common.constant.CommandConst;
|
import com.windchat.common.constant.CommandConst;
|
||||||
import com.windchat.common.constant.ErrorCode2;
|
import com.windchat.common.constant.ErrorCode2;
|
||||||
import com.windchat.common.logs.LogUtils;
|
import com.windchat.common.logs.LogUtils;
|
||||||
import com.akaxin.proto.core.ConfigProto;
|
import com.windchat.im.business.bean.ApiActions;
|
||||||
import com.akaxin.proto.core.DeviceProto;
|
|
||||||
import com.akaxin.proto.site.ApiSecretChatApplyU2Proto;
|
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
import com.windchat.im.business.impl.AbstractRequest;
|
||||||
import com.windchat.im.business.impl.site.SiteConfig;
|
import com.windchat.im.business.impl.site.SiteConfig;
|
||||||
import com.windchat.im.storage.api.IUserDeviceDao;
|
import com.windchat.im.storage.api.IUserDeviceDao;
|
||||||
import com.windchat.im.storage.bean.UserDeviceBean;
|
import com.windchat.im.storage.bean.UserDeviceBean;
|
||||||
import com.windchat.im.storage.service.DeviceDaoService;
|
import com.windchat.im.storage.service.DeviceDaoService;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户开启二人/群聊 绝密聊天
|
* 用户开启二人/群聊 绝密聊天
|
||||||
@ -40,6 +39,7 @@ import com.windchat.im.storage.service.DeviceDaoService;
|
|||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
* @since 2017.10.20
|
* @since 2017.10.20
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = "api.secretChat")
|
||||||
public class ApiSecretChatService extends AbstractRequest {
|
public class ApiSecretChatService extends AbstractRequest {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ApiSecretChatService.class);
|
private static final Logger logger = LoggerFactory.getLogger(ApiSecretChatService.class);
|
||||||
private IUserDeviceDao userDeviceDao = new DeviceDaoService();
|
private IUserDeviceDao userDeviceDao = new DeviceDaoService();
|
||||||
@ -50,6 +50,7 @@ public class ApiSecretChatService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".applyU2")
|
||||||
public CommandResponse applyU2(Command command) {
|
public CommandResponse applyU2(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
* <p>
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,20 +15,12 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.impl.tai;
|
package com.windchat.im.business.impl.tai;
|
||||||
|
|
||||||
import java.security.PublicKey;
|
import com.akaxin.proto.core.ConfigProto;
|
||||||
import java.security.Signature;
|
import com.akaxin.proto.core.CoreProto;
|
||||||
import java.util.Base64;
|
import com.akaxin.proto.core.UserProto;
|
||||||
import java.util.Map;
|
import com.akaxin.proto.site.ApiSiteConfigProto;
|
||||||
import java.util.Set;
|
import com.akaxin.proto.site.ApiSiteLoginProto;
|
||||||
import java.util.UUID;
|
import com.akaxin.proto.site.ApiSiteRegisterProto;
|
||||||
|
|
||||||
import com.windchat.im.business.bean.PlatformPhoneBean;
|
|
||||||
import com.windchat.im.business.dao.*;
|
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
import com.windchat.common.command.Command;
|
||||||
import com.windchat.common.command.CommandResponse;
|
import com.windchat.common.command.CommandResponse;
|
||||||
import com.windchat.common.constant.CommandConst;
|
import com.windchat.common.constant.CommandConst;
|
||||||
@ -40,12 +32,7 @@ import com.windchat.common.exceptions.ZalyException2;
|
|||||||
import com.windchat.common.logs.LogUtils;
|
import com.windchat.common.logs.LogUtils;
|
||||||
import com.windchat.common.utils.StringHelper;
|
import com.windchat.common.utils.StringHelper;
|
||||||
import com.windchat.common.utils.UserIdUtils;
|
import com.windchat.common.utils.UserIdUtils;
|
||||||
import com.akaxin.proto.core.ConfigProto;
|
import com.windchat.im.business.bean.ApiActions;
|
||||||
import com.akaxin.proto.core.CoreProto;
|
|
||||||
import com.akaxin.proto.core.UserProto;
|
|
||||||
import com.akaxin.proto.site.ApiSiteConfigProto;
|
|
||||||
import com.akaxin.proto.site.ApiSiteLoginProto;
|
|
||||||
import com.akaxin.proto.site.ApiSiteRegisterProto;
|
|
||||||
import com.windchat.im.business.bean.PlatformPhoneBean;
|
import com.windchat.im.business.bean.PlatformPhoneBean;
|
||||||
import com.windchat.im.business.dao.SiteConfigDao;
|
import com.windchat.im.business.dao.SiteConfigDao;
|
||||||
import com.windchat.im.business.dao.SiteLoginDao;
|
import com.windchat.im.business.dao.SiteLoginDao;
|
||||||
@ -64,14 +51,25 @@ import com.windchat.im.storage.bean.UserDeviceBean;
|
|||||||
import com.windchat.im.storage.bean.UserProfileBean;
|
import com.windchat.im.storage.bean.UserProfileBean;
|
||||||
import com.windchat.im.storage.bean.UserSessionBean;
|
import com.windchat.im.storage.bean.UserSessionBean;
|
||||||
import com.windchat.im.storage.service.DeviceDaoService;
|
import com.windchat.im.storage.service.DeviceDaoService;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.security.PublicKey;
|
||||||
|
import java.security.Signature;
|
||||||
|
import java.util.Base64;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取站点信息 <br>
|
* 获取站点信息
|
||||||
* 执行注册&&登陆
|
* 执行注册&&登陆
|
||||||
*
|
*
|
||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
* @since 2017-10-17 18:14:10
|
* @since 2017-10-17 18:14:10
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = "api.site")
|
||||||
public class ApiSiteService extends AbstractRequest {
|
public class ApiSiteService extends AbstractRequest {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ApiSiteService.class);
|
private static final Logger logger = LoggerFactory.getLogger(ApiSiteService.class);
|
||||||
@ -79,14 +77,12 @@ public class ApiSiteService extends AbstractRequest {
|
|||||||
private IUserDeviceDao userDeviceDao = new DeviceDaoService();
|
private IUserDeviceDao userDeviceDao = new DeviceDaoService();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
|
||||||
* api.site.config
|
|
||||||
* 获取站点配置信息
|
* 获取站点配置信息
|
||||||
* </pre>
|
|
||||||
*
|
*
|
||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".config")
|
||||||
public CommandResponse config(Command command) {
|
public CommandResponse config(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -138,6 +134,13 @@ public class ApiSiteService extends AbstractRequest {
|
|||||||
return commandResponse.setErrCode2(errCode);
|
return commandResponse.setErrCode2(errCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 注册站点账户
|
||||||
|
*
|
||||||
|
* @param command
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiActions(action = ".register")
|
||||||
public CommandResponse register(Command command) {
|
public CommandResponse register(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -293,11 +296,12 @@ public class ApiSiteService extends AbstractRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 执行用户登陆站点行为
|
* 执行用户登录站点行为
|
||||||
*
|
*
|
||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".login")
|
||||||
public CommandResponse login(Command command) {
|
public CommandResponse login(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,16 +15,12 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.impl.tai;
|
package com.windchat.im.business.impl.tai;
|
||||||
|
|
||||||
import java.util.regex.Matcher;
|
import com.akaxin.proto.core.UserProto;
|
||||||
import java.util.regex.Pattern;
|
import com.akaxin.proto.site.ApiUserMuteProto;
|
||||||
|
import com.akaxin.proto.site.ApiUserProfileProto;
|
||||||
import com.windchat.im.business.dao.UserFriendDao;
|
import com.akaxin.proto.site.ApiUserSearchProto;
|
||||||
import com.windchat.im.business.dao.UserProfileDao;
|
import com.akaxin.proto.site.ApiUserUpdateMuteProto;
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
import com.akaxin.proto.site.ApiUserUpdateProfileProto;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
import com.windchat.common.command.Command;
|
||||||
import com.windchat.common.command.CommandResponse;
|
import com.windchat.common.command.CommandResponse;
|
||||||
import com.windchat.common.constant.CommandConst;
|
import com.windchat.common.constant.CommandConst;
|
||||||
@ -34,17 +30,18 @@ import com.windchat.common.exceptions.ZalyException2;
|
|||||||
import com.windchat.common.logs.LogUtils;
|
import com.windchat.common.logs.LogUtils;
|
||||||
import com.windchat.common.utils.StringHelper;
|
import com.windchat.common.utils.StringHelper;
|
||||||
import com.windchat.common.utils.ValidatorPattern;
|
import com.windchat.common.utils.ValidatorPattern;
|
||||||
import com.akaxin.proto.core.UserProto;
|
import com.windchat.im.business.bean.ApiActions;
|
||||||
import com.akaxin.proto.site.ApiUserMuteProto;
|
|
||||||
import com.akaxin.proto.site.ApiUserProfileProto;
|
|
||||||
import com.akaxin.proto.site.ApiUserSearchProto;
|
|
||||||
import com.akaxin.proto.site.ApiUserUpdateMuteProto;
|
|
||||||
import com.akaxin.proto.site.ApiUserUpdateProfileProto;
|
|
||||||
import com.windchat.im.business.dao.UserFriendDao;
|
import com.windchat.im.business.dao.UserFriendDao;
|
||||||
import com.windchat.im.business.dao.UserProfileDao;
|
import com.windchat.im.business.dao.UserProfileDao;
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
import com.windchat.im.business.impl.AbstractRequest;
|
||||||
import com.windchat.im.storage.bean.UserFriendBean;
|
import com.windchat.im.storage.bean.UserFriendBean;
|
||||||
import com.windchat.im.storage.bean.UserProfileBean;
|
import com.windchat.im.storage.bean.UserProfileBean;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户个人自身资料相关功能
|
* 用户个人自身资料相关功能
|
||||||
@ -52,6 +49,7 @@ import com.windchat.im.storage.bean.UserProfileBean;
|
|||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
* @since 2017.11.25 15:10:36
|
* @since 2017.11.25 15:10:36
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = "api.user")
|
||||||
public class ApiUserService extends AbstractRequest {
|
public class ApiUserService extends AbstractRequest {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ApiUserService.class);
|
private static final Logger logger = LoggerFactory.getLogger(ApiUserService.class);
|
||||||
|
|
||||||
@ -61,6 +59,7 @@ public class ApiUserService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".search")
|
||||||
public CommandResponse search(Command command) {
|
public CommandResponse search(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -150,6 +149,7 @@ public class ApiUserService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".profile")
|
||||||
public CommandResponse profile(Command command) {
|
public CommandResponse profile(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errorCode = ErrorCode2.ERROR;
|
ErrorCode2 errorCode = ErrorCode2.ERROR;
|
||||||
@ -206,6 +206,7 @@ public class ApiUserService extends AbstractRequest {
|
|||||||
* @param command
|
* @param command
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = ".updateProfile")
|
||||||
public CommandResponse updateProfile(Command command) {
|
public CommandResponse updateProfile(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
@ -271,6 +272,13 @@ public class ApiUserService extends AbstractRequest {
|
|||||||
return commandResponse.setErrCode(errCode);
|
return commandResponse.setErrCode(errCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取消息免打扰状态
|
||||||
|
*
|
||||||
|
* @param command
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiActions(action = ".mute")
|
||||||
public CommandResponse mute(Command command) {
|
public CommandResponse mute(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
@ -290,6 +298,13 @@ public class ApiUserService extends AbstractRequest {
|
|||||||
return commandResponse.setErrCode2(errCode);
|
return commandResponse.setErrCode2(errCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置消息免打扰状态
|
||||||
|
*
|
||||||
|
* @param command
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiActions(action = ".updateMute")
|
||||||
public CommandResponse updateMute(Command command) {
|
public CommandResponse updateMute(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
ErrorCode2 errCode = ErrorCode2.ERROR;
|
ErrorCode2 errCode = ErrorCode2.ERROR;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,11 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.impl.tai;
|
package com.windchat.im.business.impl.tai;
|
||||||
|
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
import com.akaxin.proto.site.ApiWebAuthProto;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
import com.windchat.common.command.Command;
|
||||||
import com.windchat.common.command.CommandResponse;
|
import com.windchat.common.command.CommandResponse;
|
||||||
import com.windchat.common.constant.CommandConst;
|
import com.windchat.common.constant.CommandConst;
|
||||||
@ -27,9 +23,12 @@ import com.windchat.common.constant.ErrorCode2;
|
|||||||
import com.windchat.common.constant.IErrorCode;
|
import com.windchat.common.constant.IErrorCode;
|
||||||
import com.windchat.common.exceptions.ZalyException;
|
import com.windchat.common.exceptions.ZalyException;
|
||||||
import com.windchat.common.logs.LogUtils;
|
import com.windchat.common.logs.LogUtils;
|
||||||
import com.akaxin.proto.site.ApiWebAuthProto;
|
import com.windchat.im.business.bean.ApiActions;
|
||||||
import com.windchat.im.business.cache.WebSessionCache;
|
import com.windchat.im.business.cache.WebSessionCache;
|
||||||
import com.windchat.im.business.impl.AbstractRequest;
|
import com.windchat.im.business.impl.AbstractRequest;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* webim服务
|
* webim服务
|
||||||
@ -37,9 +36,11 @@ import com.windchat.im.business.impl.AbstractRequest;
|
|||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
* @since 2017.11.25 15:10:36
|
* @since 2017.11.25 15:10:36
|
||||||
*/
|
*/
|
||||||
|
@ApiActions(action = "api.web")
|
||||||
public class ApiWebService extends AbstractRequest {
|
public class ApiWebService extends AbstractRequest {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ApiWebService.class);
|
private static final Logger logger = LoggerFactory.getLogger(ApiWebService.class);
|
||||||
|
|
||||||
|
@ApiActions(action = ".auth")
|
||||||
public CommandResponse auth(Command command) {
|
public CommandResponse auth(Command command) {
|
||||||
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
CommandResponse commandResponse = new CommandResponse().setAction(CommandConst.ACTION_RES);
|
||||||
IErrorCode errCode = ErrorCode2.ERROR;
|
IErrorCode errCode = ErrorCode2.ERROR;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,30 +15,28 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.service;
|
package com.windchat.im.business.service;
|
||||||
|
|
||||||
import com.windchat.im.business.api.IRequest;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
import com.windchat.common.command.Command;
|
||||||
import com.windchat.common.command.CommandResponse;
|
import com.windchat.common.command.CommandResponse;
|
||||||
import com.windchat.common.constant.CommandConst;
|
import com.windchat.common.constant.CommandConst;
|
||||||
import com.windchat.common.constant.ErrorCode2;
|
import com.windchat.common.constant.ErrorCode2;
|
||||||
import com.windchat.common.utils.StringHelper;
|
import com.windchat.common.utils.StringHelper;
|
||||||
import com.windchat.im.business.api.IRequest;
|
import com.windchat.im.business.api.IRequest;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* API处理业务逻辑
|
* API处理业务逻辑
|
||||||
*
|
*
|
||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
* @since 2017.10.16
|
* @since 2017.10.16
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class ApiRequestService implements IRequest {
|
public class ApiRequestService implements IRequest {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ApiRequestService.class);
|
private static final Logger logger = LoggerFactory.getLogger(ApiRequestService.class);
|
||||||
|
|
||||||
public CommandResponse process(Command command) {
|
public CommandResponse process(Command command) {
|
||||||
try {
|
try {
|
||||||
return ApiServiceFactory.getService(command.getService()).execute(command);
|
String action = command.getRety() + "." + command.getService();
|
||||||
|
return ApiServiceFactory.getService(action).execute(command);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(StringHelper.format("api request service error.command={}", command), e);
|
logger.error(StringHelper.format("api request service error.command={}", command), e);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,10 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.service;
|
package com.windchat.im.business.service;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import com.windchat.im.business.bean.ApiActions;
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.constant.RequestAction;
|
|
||||||
import com.windchat.im.business.impl.IRequestService;
|
import com.windchat.im.business.impl.IRequestService;
|
||||||
import com.windchat.im.business.impl.tai.ApiDeviceService;
|
import com.windchat.im.business.impl.tai.ApiDeviceService;
|
||||||
import com.windchat.im.business.impl.tai.ApiFileService;
|
import com.windchat.im.business.impl.tai.ApiFileService;
|
||||||
@ -28,6 +25,13 @@ import com.windchat.im.business.impl.tai.ApiPluginService;
|
|||||||
import com.windchat.im.business.impl.tai.ApiSecretChatService;
|
import com.windchat.im.business.impl.tai.ApiSecretChatService;
|
||||||
import com.windchat.im.business.impl.tai.ApiSiteService;
|
import com.windchat.im.business.impl.tai.ApiSiteService;
|
||||||
import com.windchat.im.business.impl.tai.ApiUserService;
|
import com.windchat.im.business.impl.tai.ApiUserService;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* API业务请求,分发工厂
|
* API业务请求,分发工厂
|
||||||
@ -38,30 +42,33 @@ import com.windchat.im.business.impl.tai.ApiUserService;
|
|||||||
public class ApiServiceFactory {
|
public class ApiServiceFactory {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ApiServiceFactory.class);
|
private static final Logger logger = LoggerFactory.getLogger(ApiServiceFactory.class);
|
||||||
|
|
||||||
public static IRequestService getService(String serviceName) {
|
private static Map<String, IRequestService> serviceMap = new LinkedHashMap<String, IRequestService>();
|
||||||
RequestAction nameEnum = RequestAction.getAction(serviceName);
|
private static List<IRequestService> serviceList = new LinkedList<IRequestService>();
|
||||||
switch (nameEnum) {
|
|
||||||
case SITE:
|
static {
|
||||||
return new ApiSiteService();
|
serviceList.add(new ApiSiteService());
|
||||||
case API_USER:
|
serviceList.add(new ApiUserService());
|
||||||
return new ApiUserService();
|
serviceList.add(new ApiFriendService());
|
||||||
case API_FRIEND:
|
serviceList.add(new ApiGroupService());
|
||||||
return new ApiFriendService();
|
serviceList.add(new ApiSecretChatService());
|
||||||
case API_GROUP:
|
serviceList.add(new ApiFileService());
|
||||||
return new ApiGroupService();
|
serviceList.add(new ApiDeviceService());
|
||||||
case API_SECRETCHAT:
|
serviceList.add(new ApiPluginService());
|
||||||
return new ApiSecretChatService();
|
|
||||||
case API_FILE:
|
init();
|
||||||
return new ApiFileService();
|
|
||||||
case API_DEVICE:
|
|
||||||
return new ApiDeviceService();
|
|
||||||
case API_PLUGIN:
|
|
||||||
return new ApiPluginService();
|
|
||||||
default:
|
|
||||||
logger.error("api business service error.service={}", nameEnum.getName());
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
|
private static void init() {
|
||||||
|
for (IRequestService requestService : serviceList) {
|
||||||
|
ApiActions serviceApiAction = requestService.getClass().getDeclaredAnnotation(ApiActions.class);
|
||||||
|
if (serviceApiAction != null) {
|
||||||
|
serviceMap.put(serviceApiAction.action(), requestService);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static IRequestService getService(String serviceAction) {
|
||||||
|
return serviceMap.get(serviceAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,10 +15,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.im.business.service;
|
package com.windchat.im.business.service;
|
||||||
|
|
||||||
import com.windchat.im.business.api.IRequest;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
import com.windchat.common.command.Command;
|
||||||
import com.windchat.common.command.CommandResponse;
|
import com.windchat.common.command.CommandResponse;
|
||||||
import com.windchat.common.constant.CommandConst;
|
import com.windchat.common.constant.CommandConst;
|
||||||
@ -32,6 +28,8 @@ import com.windchat.im.business.impl.hai.HttpPushService;
|
|||||||
import com.windchat.im.business.impl.hai.HttpSessionService;
|
import com.windchat.im.business.impl.hai.HttpSessionService;
|
||||||
import com.windchat.im.business.impl.hai.HttpSiteService;
|
import com.windchat.im.business.impl.hai.HttpSiteService;
|
||||||
import com.windchat.im.business.impl.hai.HttpUserService;
|
import com.windchat.im.business.impl.hai.HttpUserService;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Http请求服务分发
|
* Http请求服务分发
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,18 +15,14 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.common.command;
|
package com.windchat.common.command;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import com.windchat.common.channel.ChannelSession;
|
|
||||||
import com.windchat.common.utils.StringHelper;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
|
|
||||||
import com.windchat.common.channel.ChannelSession;
|
import com.windchat.common.channel.ChannelSession;
|
||||||
import com.windchat.common.constant.CommandConst;
|
import com.windchat.common.constant.CommandConst;
|
||||||
import com.windchat.common.utils.StringHelper;
|
import com.windchat.common.utils.StringHelper;
|
||||||
|
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理完成后的消息载体
|
* 处理完成后的消息载体
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -16,11 +16,11 @@
|
|||||||
package com.windchat.common.constant;
|
package com.windchat.common.constant;
|
||||||
|
|
||||||
public interface IErrorCode {
|
public interface IErrorCode {
|
||||||
public String getCode();
|
String getCode();
|
||||||
|
|
||||||
public String getInfo();
|
String getInfo();
|
||||||
|
|
||||||
public boolean isSuccess();
|
boolean isSuccess();
|
||||||
|
|
||||||
public String toString();
|
String toString();
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
/**
|
||||||
|
* Copyright 2018-2028 WindChat Group
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package com.windchat.common.exceptions;
|
||||||
|
|
||||||
|
import com.windchat.common.constant.IErrorCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自定义API请求过程中产生的特殊异常
|
||||||
|
*
|
||||||
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
|
* @since 2018-04-09 12:32:08
|
||||||
|
*/
|
||||||
|
public class ZalyWarning extends Exception {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
private IErrorCode errCode;
|
||||||
|
|
||||||
|
public ZalyWarning(IErrorCode errCode) {
|
||||||
|
super(errCode.toString());
|
||||||
|
this.errCode = errCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IErrorCode getErrCode() {
|
||||||
|
return this.errCode;
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -22,10 +22,6 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.helpers.FormattingTuple;
|
import org.slf4j.helpers.FormattingTuple;
|
||||||
import org.slf4j.helpers.MessageFormatter;
|
import org.slf4j.helpers.MessageFormatter;
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
|
||||||
import com.windchat.common.command.CommandResponse;
|
|
||||||
import com.windchat.common.utils.StringHelper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 封装log,针对网络日志以及数据库操作日志
|
* 封装log,针对网络日志以及数据库操作日志
|
||||||
*
|
*
|
||||||
@ -41,6 +37,13 @@ public class LogUtils extends LogCreater {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void requestWarnLog(Logger logger, Command command, String messagePattern, Object... objects) {
|
||||||
|
FormattingTuple format = MessageFormatter.arrayFormat(messagePattern, objects);
|
||||||
|
logger.warn("client={} siteUserId={} action={} msg={}", command.getClientIp(), command.getSiteUserId(),
|
||||||
|
command.getAction(), command.toString(), format.getMessage());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
public static void requestDebugLog(Logger logger, Command command, String requestStr) {
|
public static void requestDebugLog(Logger logger, Command command, String requestStr) {
|
||||||
logger.debug("client={} siteUserId={} action={} command={} request={}", command.getClientIp(),
|
logger.debug("client={} siteUserId={} action={} command={} request={}", command.getClientIp(),
|
||||||
command.getSiteUserId(), command.getAction(), command.toString(), requestStr);
|
command.getSiteUserId(), command.getAction(), command.toString(), requestStr);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,7 +15,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.common.netty;
|
package com.windchat.common.netty;
|
||||||
|
|
||||||
import com.windchat.common.command.RedisCommand;
|
|
||||||
import com.windchat.common.command.RedisCommand;
|
import com.windchat.common.command.RedisCommand;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -26,10 +25,10 @@ import com.windchat.common.command.RedisCommand;
|
|||||||
*/
|
*/
|
||||||
public interface IRedisCommandResponse {
|
public interface IRedisCommandResponse {
|
||||||
|
|
||||||
public RedisCommand getRedisCommand();
|
RedisCommand getRedisCommand();
|
||||||
|
|
||||||
public boolean isSuccess();
|
boolean isSuccess();
|
||||||
|
|
||||||
public String getErrInfo();
|
String getErrInfo();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,17 +15,9 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.common.netty;
|
package com.windchat.common.netty;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
import com.windchat.common.command.RedisCommand;
|
|
||||||
import com.windchat.common.netty.codec.MessageDecoder;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.RedisCommand;
|
import com.windchat.common.command.RedisCommand;
|
||||||
import com.windchat.common.netty.codec.MessageDecoder;
|
import com.windchat.common.netty.codec.MessageDecoder;
|
||||||
import com.windchat.common.netty.codec.MessageEncoder;
|
import com.windchat.common.netty.codec.MessageEncoder;
|
||||||
|
|
||||||
import io.netty.bootstrap.Bootstrap;
|
import io.netty.bootstrap.Bootstrap;
|
||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import io.netty.channel.ChannelFuture;
|
import io.netty.channel.ChannelFuture;
|
||||||
@ -44,6 +36,10 @@ import io.netty.util.concurrent.GenericFutureListener;
|
|||||||
import io.netty.util.concurrent.GlobalEventExecutor;
|
import io.netty.util.concurrent.GlobalEventExecutor;
|
||||||
import io.netty.util.concurrent.Promise;
|
import io.netty.util.concurrent.Promise;
|
||||||
import io.netty.util.concurrent.SucceededFuture;
|
import io.netty.util.concurrent.SucceededFuture;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
@ -93,7 +89,7 @@ public class NettyClient2 {
|
|||||||
this.channelPromise = connectFuture.channel().newPromise();
|
this.channelPromise = connectFuture.channel().newPromise();
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("connect to akaxin platform error.", e);
|
logger.error("connect to WindChat platform error.", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,17 +15,13 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.common.netty;
|
package com.windchat.common.netty;
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
|
||||||
import com.windchat.common.command.RedisCommand;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
|
||||||
import com.windchat.common.command.RedisCommand;
|
|
||||||
import com.akaxin.proto.core.CoreProto;
|
import com.akaxin.proto.core.CoreProto;
|
||||||
|
import com.windchat.common.command.Command;
|
||||||
|
import com.windchat.common.command.RedisCommand;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.SimpleChannelInboundHandler;
|
import io.netty.channel.SimpleChannelInboundHandler;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,17 +15,13 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.common.netty;
|
package com.windchat.common.netty;
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
|
||||||
import com.windchat.common.command.RedisCommand;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.Command;
|
|
||||||
import com.windchat.common.command.RedisCommand;
|
|
||||||
import com.akaxin.proto.core.CoreProto;
|
import com.akaxin.proto.core.CoreProto;
|
||||||
|
import com.windchat.common.command.Command;
|
||||||
|
import com.windchat.common.command.RedisCommand;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.SimpleChannelInboundHandler;
|
import io.netty.channel.SimpleChannelInboundHandler;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,21 +15,10 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.common.netty;
|
package com.windchat.common.netty;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
import javax.net.ssl.SSLEngine;
|
|
||||||
|
|
||||||
import com.windchat.common.command.RedisCommand;
|
|
||||||
import com.windchat.common.netty.codec.MessageDecoder;
|
|
||||||
import com.windchat.common.ssl.ZalySSLContext;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.RedisCommand;
|
import com.windchat.common.command.RedisCommand;
|
||||||
import com.windchat.common.netty.codec.MessageDecoder;
|
import com.windchat.common.netty.codec.MessageDecoder;
|
||||||
import com.windchat.common.netty.codec.MessageEncoder;
|
import com.windchat.common.netty.codec.MessageEncoder;
|
||||||
import com.windchat.common.ssl.ZalySSLContext;
|
import com.windchat.common.ssl.ZalySSLContext;
|
||||||
|
|
||||||
import io.netty.bootstrap.Bootstrap;
|
import io.netty.bootstrap.Bootstrap;
|
||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import io.netty.channel.ChannelFuture;
|
import io.netty.channel.ChannelFuture;
|
||||||
@ -50,6 +39,11 @@ import io.netty.util.concurrent.GenericFutureListener;
|
|||||||
import io.netty.util.concurrent.GlobalEventExecutor;
|
import io.netty.util.concurrent.GlobalEventExecutor;
|
||||||
import io.netty.util.concurrent.Promise;
|
import io.netty.util.concurrent.Promise;
|
||||||
import io.netty.util.concurrent.SucceededFuture;
|
import io.netty.util.concurrent.SucceededFuture;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import javax.net.ssl.SSLEngine;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sam{@link an.guoyue254@gmail.com}
|
* @author Sam{@link an.guoyue254@gmail.com}
|
||||||
@ -110,7 +104,7 @@ public class PlatformSSLClient {
|
|||||||
this.channelPromise = connectFuture.channel().newPromise();
|
this.channelPromise = connectFuture.channel().newPromise();
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("connect to akaxin platform error.", e);
|
logger.error("connect to WindChat platform error.", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -15,20 +15,17 @@
|
|||||||
*/
|
*/
|
||||||
package com.windchat.common.netty.codec;
|
package com.windchat.common.netty.codec;
|
||||||
|
|
||||||
import java.nio.ByteBuffer;
|
|
||||||
|
|
||||||
import com.windchat.common.command.RedisCommand;
|
import com.windchat.common.command.RedisCommand;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.windchat.common.command.RedisCommand;
|
|
||||||
|
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelPromise;
|
import io.netty.channel.ChannelPromise;
|
||||||
import io.netty.handler.codec.MessageToByteEncoder;
|
import io.netty.handler.codec.MessageToByteEncoder;
|
||||||
import io.netty.util.concurrent.Future;
|
import io.netty.util.concurrent.Future;
|
||||||
import io.netty.util.concurrent.GenericFutureListener;
|
import io.netty.util.concurrent.GenericFutureListener;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编码器
|
* 编码器
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
* <p>
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
* <p>
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* <p>
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -30,6 +30,6 @@ import io.netty.channel.Channel;
|
|||||||
*/
|
*/
|
||||||
public interface IProtocolParser {
|
public interface IProtocolParser {
|
||||||
|
|
||||||
public void readAndOut(Channel ch, ByteBuf inByte, List<Object> out, MessageDecoder decoder) throws Exception;
|
void readAndOut(Channel ch, ByteBuf inByte, List<Object> out, MessageDecoder decoder) throws Exception;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -32,8 +32,6 @@ import io.netty.util.concurrent.GenericFutureListener;
|
|||||||
*
|
*
|
||||||
* @author Sam
|
* @author Sam
|
||||||
* @since 2017.10.19
|
* @since 2017.10.19
|
||||||
*
|
|
||||||
* @param <Command>
|
|
||||||
*/
|
*/
|
||||||
public class WSRequestHandler extends AbstractCommonHandler<Command, CommandResponse> {
|
public class WSRequestHandler extends AbstractCommonHandler<Command, CommandResponse> {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(WSRequestHandler.class);
|
private static final Logger logger = LoggerFactory.getLogger(WSRequestHandler.class);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2018-2028 Akaxin Group
|
* Copyright 2018-2028 WindChat Group
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user