diff --git a/src/main/java/com/forte/qqrobot/beans/messages/GroupCodeAble.java b/src/main/java/com/forte/qqrobot/beans/messages/GroupCodeAble.java index 83ccc8e..0e88b0f 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/GroupCodeAble.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/GroupCodeAble.java @@ -12,6 +12,18 @@ public interface GroupCodeAble { */ String getGroupCode(); + /** + * 获取群头像的默认实现 + */ + default String getGroupHeadUrl(){ + final String groupCode = getGroupCode(); + if(groupCode == null){ + return null; + } + // 2020/4/8 http://p.qlogo.cn/gh/QQ群号码/群号码/640/ + return "http://p.qlogo.cn/gh/"+ groupCode +"/"+ groupCode +"/640/"; + } + /** * 将{@link #getGroupCode()} 获取到的值转化为long类型 * @return long类型的群号 diff --git a/src/main/java/com/forte/qqrobot/beans/messages/QQCodeAble.java b/src/main/java/com/forte/qqrobot/beans/messages/QQCodeAble.java index c4d36af..06087e0 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/QQCodeAble.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/QQCodeAble.java @@ -26,6 +26,18 @@ default String getCode(){ return getQQCode(); } + /** + * 获取账号头像 + */ + default String getQQHeadUrl(){ + // 2020/4/8 http://q1.qlogo.cn/g?b=qq&nk=QQ号码&s=640 + final String code = getCode(); + if(code == null){ + return null; + } + return "http://q1.qlogo.cn/g?b=qq&nk="+ code +"&s=640"; + } + /** * 将{@link #getQQCode()} ()} 获取到的值转化为long类型 * @return long类型的qq号 diff --git a/src/main/java/com/forte/qqrobot/beans/messages/msgget/GroupMsg.java b/src/main/java/com/forte/qqrobot/beans/messages/msgget/GroupMsg.java index 65bd236..68e27df 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/msgget/GroupMsg.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/msgget/GroupMsg.java @@ -35,4 +35,5 @@ default String getFlag(){ return getId(); } + } diff --git a/src/main/java/com/forte/qqrobot/beans/messages/result/AbstractGroupMemberInfo.java b/src/main/java/com/forte/qqrobot/beans/messages/result/AbstractGroupMemberInfo.java index 11e6017..4c98618 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/result/AbstractGroupMemberInfo.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/result/AbstractGroupMemberInfo.java @@ -142,6 +142,7 @@ public Boolean getBlack() { return black; } + @Override public Boolean isBlack() { return black; } @@ -154,6 +155,7 @@ public Boolean getAllowChangeNick() { return allowChangeNick; } + @Override public Boolean isAllowChangeNick() { return allowChangeNick; } diff --git a/src/main/java/com/forte/qqrobot/beans/messages/result/GroupInfo.java b/src/main/java/com/forte/qqrobot/beans/messages/result/GroupInfo.java index 3ce6f51..77a8134 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/result/GroupInfo.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/result/GroupInfo.java @@ -1,5 +1,7 @@ package com.forte.qqrobot.beans.messages.result; +import com.forte.qqrobot.beans.messages.GroupCodeAble; + import java.util.Map; /** @@ -7,7 +9,7 @@ * @author ForteScarlet <[163邮箱地址]ForteScarlet@163.com> * @since JDK1.8 **/ -public interface GroupInfo extends InfoResult { +public interface GroupInfo extends InfoResult, GroupCodeAble { /** 群等级 */ Integer getLevel(); @@ -60,4 +62,10 @@ default String getHeadUrl(){ return "http://p.qlogo.cn/gh/"+ groupCode +"/"+ groupCode +"/640"; } + + @Override + default String getGroupCode(){ + return getCode(); + } + } diff --git a/src/main/java/com/forte/qqrobot/beans/messages/result/GroupMemberInfo.java b/src/main/java/com/forte/qqrobot/beans/messages/result/GroupMemberInfo.java index faaf9d6..09a0e12 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/result/GroupMemberInfo.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/result/GroupMemberInfo.java @@ -1,5 +1,6 @@ package com.forte.qqrobot.beans.messages.result; +import com.forte.qqrobot.beans.messages.CodesAble; import com.forte.qqrobot.beans.messages.types.PowerType; import com.forte.qqrobot.beans.messages.types.SexType; @@ -8,7 +9,7 @@ * @author ForteScarlet <[163邮箱地址]ForteScarlet@163.com> * @since JDK1.8 **/ -public interface GroupMemberInfo extends InfoResult { +public interface GroupMemberInfo extends InfoResult, CodesAble { /** 获取群号 */ String getCode(); @@ -62,4 +63,14 @@ default String getNickOrName(){ /** 禁言剩余时间 */ Long getBanTime(); + + @Override + default String getGroupCode(){ + return getCode(); + } + + @Override + default String getQQCode() { + return getQQ(); + } } diff --git a/src/main/java/com/forte/qqrobot/beans/messages/result/LoginQQInfo.java b/src/main/java/com/forte/qqrobot/beans/messages/result/LoginQQInfo.java index 4d3fcbf..26e19ec 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/result/LoginQQInfo.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/result/LoginQQInfo.java @@ -1,12 +1,14 @@ package com.forte.qqrobot.beans.messages.result; +import com.forte.qqrobot.beans.messages.QQCodeAble; + /** * 登录的QQ的信息 * * @author ForteScarlet <[163邮箱地址]ForteScarlet@163.com> * @since JDK1.8 **/ -public interface LoginQQInfo extends InfoResult { +public interface LoginQQInfo extends InfoResult, QQCodeAble { /** * 昵称 @@ -20,12 +22,12 @@ public interface LoginQQInfo extends InfoResult { */ String getQQ(); - /** - * 将会取代方法:getQQ() - */ - default String getCode() { - return getQQ(); - } +// /** +// * 将会取代方法:getQQ() +// */ +// default String getCode() { +// return getQQ(); +// } /** @@ -39,6 +41,11 @@ default String getHeadUrl() { } } + @Override + default String getQQCode() { + return getQQ(); + } + /** * 等级 */ diff --git a/src/main/java/com/forte/qqrobot/beans/messages/result/StrangerInfo.java b/src/main/java/com/forte/qqrobot/beans/messages/result/StrangerInfo.java index 37fd611..218d7a6 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/result/StrangerInfo.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/result/StrangerInfo.java @@ -1,5 +1,6 @@ package com.forte.qqrobot.beans.messages.result; +import com.forte.qqrobot.beans.messages.QQCodeAble; import com.forte.qqrobot.beans.messages.types.SexType; /** @@ -8,7 +9,7 @@ * @author ForteScarlet <[163邮箱地址]ForteScarlet@163.com> * @since JDK1.8 **/ -public interface StrangerInfo extends InfoResult { +public interface StrangerInfo extends InfoResult, QQCodeAble { /** QQ号 */ String getQQ(); @@ -17,14 +18,19 @@ public interface StrangerInfo extends InfoResult { /** 年龄 */ Integer getAge(); /** 头像地址 */ - String headUrl(); + default String headUrl(){ + return getQQHeadUrl(); + } /** 等级 */ Integer getLevel(); /** 获取名称(昵称) */ String getName(); - + @Override + default String getQQCode() { + return getQQ(); + } diff --git a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/AbstractBanInfo.java b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/AbstractBanInfo.java index 82d0f14..69ecbd3 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/AbstractBanInfo.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/AbstractBanInfo.java @@ -39,6 +39,7 @@ public Boolean getManager() { return manager; } + @Override public Boolean isManager() { return manager; } diff --git a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/AbstractGroupHomework.java b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/AbstractGroupHomework.java index 53ff5a3..b39a954 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/AbstractGroupHomework.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/AbstractGroupHomework.java @@ -97,6 +97,7 @@ public void setIcon(String icon) { this.icon = icon; } + @Override public Boolean isNeedFeedBack() { return needFeedBack; } diff --git a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/AbstractGroupNote.java b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/AbstractGroupNote.java index cb5ccb5..3342b90 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/AbstractGroupNote.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/AbstractGroupNote.java @@ -82,6 +82,7 @@ public void setReadNum(Integer readNum) { this.readNum = readNum; } + @Override public Boolean isShowEditCard() { return showEditCard; } diff --git a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/BanInfo.java b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/BanInfo.java index a32e888..748b1a4 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/BanInfo.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/BanInfo.java @@ -1,11 +1,12 @@ package com.forte.qqrobot.beans.messages.result.inner; +import com.forte.qqrobot.beans.messages.QQCodeAble; import com.forte.qqrobot.beans.messages.result.ResultInner; /** * 禁言详细信息 */ -public interface BanInfo extends ResultInner { +public interface BanInfo extends ResultInner, QQCodeAble { /** * 被禁言者的QQ */ @@ -25,4 +26,9 @@ public interface BanInfo extends ResultInner { * 禁言剩余时间 */ Long lastTime(); + + @Override + default String getQQCode() { + return getQQ(); + } } \ No newline at end of file diff --git a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/Friend.java b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/Friend.java index 7b863be..7b9c4e7 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/Friend.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/Friend.java @@ -1,11 +1,12 @@ package com.forte.qqrobot.beans.messages.result.inner; +import com.forte.qqrobot.beans.messages.QQCodeAble; import com.forte.qqrobot.beans.messages.result.ResultInner; /** * 好友信息 */ -public interface Friend extends ResultInner { +public interface Friend extends ResultInner, QQCodeAble { /** * 获取好友昵称 */ @@ -15,4 +16,11 @@ public interface Friend extends ResultInner { * 获取好友QQ号 */ String getQQ(); + + + @Override + default String getQQCode() { + return getQQ(); + } + } diff --git a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/Group.java b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/Group.java index 23b455c..f34d11d 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/Group.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/Group.java @@ -1,11 +1,12 @@ package com.forte.qqrobot.beans.messages.result.inner; +import com.forte.qqrobot.beans.messages.GroupCodeAble; import com.forte.qqrobot.beans.messages.result.ResultInner; /** * 群列表的群信息 */ -public interface Group extends ResultInner { +public interface Group extends ResultInner, GroupCodeAble { /** 群名 */ String getName(); /** 群号 */ @@ -15,4 +16,9 @@ default String getHeadUrl(){ String groupCode = getCode(); return "http://p.qlogo.cn/gh/"+ groupCode +"/"+ groupCode +"/640"; } + + @Override + default String getGroupCode(){ + return getCode(); + } } diff --git a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/GroupMember.java b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/GroupMember.java index 8f93895..048a102 100644 --- a/src/main/java/com/forte/qqrobot/beans/messages/result/inner/GroupMember.java +++ b/src/main/java/com/forte/qqrobot/beans/messages/result/inner/GroupMember.java @@ -1,5 +1,6 @@ package com.forte.qqrobot.beans.messages.result.inner; +import com.forte.qqrobot.beans.messages.QQCodeAble; import com.forte.qqrobot.beans.messages.result.ResultInner; import com.forte.qqrobot.beans.messages.types.PowerType; import com.forte.qqrobot.beans.messages.types.SexType; @@ -7,7 +8,7 @@ /** * 群成员信息 */ -public interface GroupMember extends ResultInner { +public interface GroupMember extends ResultInner, QQCodeAble { /** 群号 */ String getGroup(); /** QQ号 */ @@ -17,6 +18,11 @@ public interface GroupMember extends ResultInner { /** 获取群昵称 */ String getNickName(); + @Override + default String getQQCode() { + return getQQ(); + } + /** * 获取昵称,如果没有设置昵称那么获取QQ名 */ diff --git a/update.md b/update.md index b118f01..2b57323 100644 --- a/update.md +++ b/update.md @@ -2,6 +2,8 @@ # 1.11.2 - 修复CQCode相关操作中的bug +- 接口`QQCodeAble`、`GroupCodeAble`中分别默认实现了获取QQ头像、群头像的方法。 +- 为一些接口继承`QQCodeAble`、`GroupCodeAble` # 1.11.1 - 将部分ListenerManager内部代码换回原来的模式