Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
midjourney-proxy
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
徐少华
midjourney-proxy
Commits
4e569483
Commit
4e569483
authored
Nov 27, 2019
by
阮思源
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feat-1002027' into 'master'
1002027个人号自动切号 See merge request rays/pcloud-book!244
parents
8a4de81b
b324d3f4
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
198 additions
and
117 deletions
+198
-117
BookGroupClassifyBiz.java
.../java/com/pcloud/book/group/biz/BookGroupClassifyBiz.java
+4
-0
GroupQrcodeBiz.java
...c/main/java/com/pcloud/book/group/biz/GroupQrcodeBiz.java
+6
-5
WeixinQrcodeBiz.java
.../main/java/com/pcloud/book/group/biz/WeixinQrcodeBiz.java
+1
-1
BookGroupClassifyBizImpl.java
.../pcloud/book/group/biz/impl/BookGroupClassifyBizImpl.java
+78
-31
GroupQrcodeBizImpl.java
...va/com/pcloud/book/group/biz/impl/GroupQrcodeBizImpl.java
+59
-59
WeixinQrcodeBizImpl.java
...a/com/pcloud/book/group/biz/impl/WeixinQrcodeBizImpl.java
+10
-1
GroupQrcodeDao.java
...c/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
+5
-0
GroupQrcodeDaoImpl.java
...va/com/pcloud/book/group/dao/impl/GroupQrcodeDaoImpl.java
+8
-0
GroupQrcodeFacadeImpl.java
.../pcloud/book/group/facade/impl/GroupQrcodeFacadeImpl.java
+0
-6
WeixinQrcodeServiceImpl.java
...loud/book/group/service/impl/WeixinQrcodeServiceImpl.java
+1
-1
BookKeywordBizImpl.java
...com/pcloud/book/keywords/biz/impl/BookKeywordBizImpl.java
+10
-10
BookGroupClassify.Mapper.xml
.../main/resources/mapper/group/BookGroupClassify.Mapper.xml
+2
-2
GroupQrcode.Mapper.xml
...ok/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
+13
-0
WeixinQrcode.Mapper.xml
...k/src/main/resources/mapper/group/WeixinQrcode.Mapper.xml
+1
-1
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/BookGroupClassifyBiz.java
View file @
4e569483
...
@@ -244,4 +244,8 @@ public interface BookGroupClassifyBiz {
...
@@ -244,4 +244,8 @@ public interface BookGroupClassifyBiz {
List
<
ListClassifyVO
>
getClassifyIngoreDelete
(
Long
bookGroupId
);
List
<
ListClassifyVO
>
getClassifyIngoreDelete
(
Long
bookGroupId
);
/**
* 个人号模式获取一个群
*/
String
getSelfGroup
(
Long
classifyId
,
Integer
changeNumber
,
String
wxId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/GroupQrcodeBiz.java
View file @
4e569483
...
@@ -4,6 +4,7 @@ import com.pcloud.book.group.dto.GroupAndUserNumberDTO;
...
@@ -4,6 +4,7 @@ import com.pcloud.book.group.dto.GroupAndUserNumberDTO;
import
com.pcloud.book.group.dto.GroupQrcodeInfo4Advertising
;
import
com.pcloud.book.group.dto.GroupQrcodeInfo4Advertising
;
import
com.pcloud.book.group.dto.GroupQrcodeInfoDTO
;
import
com.pcloud.book.group.dto.GroupQrcodeInfoDTO
;
import
com.pcloud.book.group.dto.GroupQrcodeServerDTO
;
import
com.pcloud.book.group.dto.GroupQrcodeServerDTO
;
import
com.pcloud.book.group.dto.WeixinQrcodeDTO
;
import
com.pcloud.book.group.entity.GroupQrcode
;
import
com.pcloud.book.group.entity.GroupQrcode
;
import
com.pcloud.book.group.vo.ClassifyQrcodeVO
;
import
com.pcloud.book.group.vo.ClassifyQrcodeVO
;
import
com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO
;
import
com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO
;
...
@@ -39,11 +40,6 @@ public interface GroupQrcodeBiz {
...
@@ -39,11 +40,6 @@ public interface GroupQrcodeBiz {
String
getChangeGroupQrCode
(
Long
classifyId
);
String
getChangeGroupQrCode
(
Long
classifyId
);
/**
/**
* 直接切群
*/
String
changeGroupQrCode
(
Long
classifyId
);
/**
* 测试替换群二维码,不发生产
* 测试替换群二维码,不发生产
*/
*/
void
updateGroupQrcode
(
UpdateGroupQrcodeRequestVO
vo
);
void
updateGroupQrcode
(
UpdateGroupQrcodeRequestVO
vo
);
...
@@ -207,4 +203,9 @@ public interface GroupQrcodeBiz {
...
@@ -207,4 +203,9 @@ public interface GroupQrcodeBiz {
* @return
* @return
*/
*/
PageBeanNew
<
GroupQrcodeBookVO
>
listQrcodeByPcloud
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
);
PageBeanNew
<
GroupQrcodeBookVO
>
listQrcodeByPcloud
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
);
/**
* 切群之后要做的事
*/
void
dealAfterChangeANewGroup
(
WeixinQrcodeDTO
oneQrcode
,
Long
classifyId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/WeixinQrcodeBiz.java
View file @
4e569483
...
@@ -22,7 +22,7 @@ public interface WeixinQrcodeBiz {
...
@@ -22,7 +22,7 @@ public interface WeixinQrcodeBiz {
* @Desr:从二维码获取一个二维码
* @Desr:从二维码获取一个二维码
* @Date:2019/4/17 16:17
* @Date:2019/4/17 16:17
*/
*/
WeixinQrcodeDTO
getOneQrcode
(
Integer
generation
);
WeixinQrcodeDTO
getOneQrcode
(
Integer
joinGroupType
,
String
altId
);
/**
/**
* @Author:lili
* @Author:lili
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/BookGroupClassifyBizImpl.java
View file @
4e569483
...
@@ -21,9 +21,11 @@ import com.pcloud.book.group.dao.BookGroupCipherUserDao;
...
@@ -21,9 +21,11 @@ import com.pcloud.book.group.dao.BookGroupCipherUserDao;
import
com.pcloud.book.group.dao.BookGroupClassifyDao
;
import
com.pcloud.book.group.dao.BookGroupClassifyDao
;
import
com.pcloud.book.group.dao.BookGroupDao
;
import
com.pcloud.book.group.dao.BookGroupDao
;
import
com.pcloud.book.group.dao.BookQrcodeUserDao
;
import
com.pcloud.book.group.dao.BookQrcodeUserDao
;
import
com.pcloud.book.group.dao.GroupQrcodeDao
;
import
com.pcloud.book.group.dao.JoinGroupCipherDao
;
import
com.pcloud.book.group.dao.JoinGroupCipherDao
;
import
com.pcloud.book.group.dao.LearningReportBrowseRecordDao
;
import
com.pcloud.book.group.dao.LearningReportBrowseRecordDao
;
import
com.pcloud.book.group.dao.LearningReportTouchRecordDao
;
import
com.pcloud.book.group.dao.LearningReportTouchRecordDao
;
import
com.pcloud.book.group.dao.WeixinQrcodeDao
;
import
com.pcloud.book.group.dto.BookClassifyDTO
;
import
com.pcloud.book.group.dto.BookClassifyDTO
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.BookGroupStatisticDTO
;
import
com.pcloud.book.group.dto.BookGroupStatisticDTO
;
...
@@ -42,6 +44,8 @@ import com.pcloud.book.group.dto.WeixinQrcodeDTO;
...
@@ -42,6 +44,8 @@ import com.pcloud.book.group.dto.WeixinQrcodeDTO;
import
com.pcloud.book.group.entity.BookGroupClassify
;
import
com.pcloud.book.group.entity.BookGroupClassify
;
import
com.pcloud.book.group.entity.BookQrcodeUser
;
import
com.pcloud.book.group.entity.BookQrcodeUser
;
import
com.pcloud.book.group.entity.GroupQrcode
;
import
com.pcloud.book.group.entity.GroupQrcode
;
import
com.pcloud.book.group.entity.WeixinQrcode
;
import
com.pcloud.book.group.enums.JoinGroupTypeEnum
;
import
com.pcloud.book.group.enums.RankTypeEnum
;
import
com.pcloud.book.group.enums.RankTypeEnum
;
import
com.pcloud.book.group.set.GroupSet
;
import
com.pcloud.book.group.set.GroupSet
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
...
@@ -84,6 +88,7 @@ import com.pcloud.resourcecenter.product.dto.UpdateAppProductParamDTO;
...
@@ -84,6 +88,7 @@ import com.pcloud.resourcecenter.product.dto.UpdateAppProductParamDTO;
import
com.pcloud.resourcecenter.product.entity.Product
;
import
com.pcloud.resourcecenter.product.entity.Product
;
import
com.pcloud.resourcecenter.product.entity.Specification
;
import
com.pcloud.resourcecenter.product.entity.Specification
;
import
com.pcloud.wechatgroup.group.dto.GroupMemberStatisDTO
;
import
com.pcloud.wechatgroup.group.dto.GroupMemberStatisDTO
;
import
com.pcloud.wechatgroup.group.dto.GroupRobotDTO
;
import
com.pcloud.wechatgroup.message.dto.GroupChatCountDTO
;
import
com.pcloud.wechatgroup.message.dto.GroupChatCountDTO
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.collections.MapUtils
;
...
@@ -169,6 +174,10 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
...
@@ -169,6 +174,10 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
private
BookGroupCipherUserDao
bookGroupCipherUserDao
;
private
BookGroupCipherUserDao
bookGroupCipherUserDao
;
@Autowired
@Autowired
private
BookGroupDao
bookGroupDao
;
private
BookGroupDao
bookGroupDao
;
@Autowired
private
WeixinQrcodeDao
weixinQrcodeDao
;
@Autowired
private
GroupQrcodeDao
groupQrcodeDao
;
@Override
@Override
...
@@ -206,36 +215,39 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
...
@@ -206,36 +215,39 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"群二维码数量不足,您可以明天再创建群。"
);
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"群二维码数量不足,您可以明天再创建群。"
);
}
}
}
}
Integer
generation
=
null
;
//添加分类时如果不是普通群则不分配群
if
(
new
Integer
(
2
).
equals
(
qrcodeNameAndProId
.
getJoinGroupType
()))
{
if
(
JoinGroupTypeEnum
.
GROUP_QRCODE
.
getCode
().
equals
(
qrcodeNameAndProId
.
getJoinGroupType
()))
{
generation
=
3
;
WeixinQrcodeDTO
oneQrcode
=
weixinQrcodeBiz
.
getOneQrcode
(
null
,
null
);
}
if
(
oneQrcode
==
null
)
{
WeixinQrcodeDTO
oneQrcode
=
weixinQrcodeBiz
.
getOneQrcode
(
generation
);
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"系统二维码数量不足,请联系客服人员补充二维码数量!"
);
if
(
oneQrcode
==
null
)
{
}
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"系统二维码数量不足,请联系客服人员补充二维码数量!"
);
GroupQrcode
groupQrcode
=
new
GroupQrcode
();
}
groupQrcode
.
setWeixinGroupId
(
oneQrcode
.
getWeixinGroupId
());
GroupQrcode
groupQrcode
=
new
GroupQrcode
();
groupQrcode
.
setQrcodeUrl
(
oneQrcode
.
getQrcodeUrl
());
groupQrcode
.
setWeixinGroupId
(
oneQrcode
.
getWeixinGroupId
());
groupQrcode
.
setCreateUser
(
partyId
);
groupQrcode
.
setQrcodeUrl
(
oneQrcode
.
getQrcodeUrl
());
groupQrcode
.
setWeixinQrcodeId
(
oneQrcode
.
getId
());
groupQrcode
.
setCreateUser
(
partyId
);
groupQrcode
.
setUserNumber
(
oneQrcode
.
getUserNumber
());
groupQrcode
.
setWeixinQrcodeId
(
oneQrcode
.
getId
());
groupQrcode
.
setGroupSeq
(
1
);
groupQrcode
.
setUserNumber
(
oneQrcode
.
getUserNumber
());
// 群长度超过16部分会被截取,导致群名称重复
groupQrcode
.
setGroupSeq
(
1
);
final
String
s
=
"1群"
;
// 群长度超过16部分会被截取,导致群名称重复
String
groupName
=
qrcodeNameAndProId
.
getGroupQrcodeName
()
+
addClassifyVO
.
getClassify
()
+
s
;
final
String
s
=
"1群"
;
String
groupName
=
qrcodeNameAndProId
.
getGroupQrcodeName
()
+
addClassifyVO
.
getClassify
()
+
s
;
if
(
groupName
.
length
()
>
15
)
{
groupName
=
addClassifyVO
.
getClassify
()
+
s
;
if
(
groupName
.
length
()
>
15
)
{
if
(
groupName
.
length
()
>
15
)
{
groupName
=
addClassifyVO
.
getClassify
().
substring
(
0
,
16
-
s
.
length
())
+
s
;
groupName
=
addClassifyVO
.
getClassify
()
+
s
;
if
(
groupName
.
length
()
>
15
)
{
groupName
=
addClassifyVO
.
getClassify
().
substring
(
0
,
16
-
s
.
length
())
+
s
;
}
}
}
groupQrcode
.
setGroupName
(
groupName
);
groupQrcode
.
setClassifyId
(
bookGroupClassify
.
getId
());
groupQrcode
.
setQrcodeHeadUrl
(
readerConsr
.
getNineHeadUrl
());
groupQrcodeBiz
.
insert
(
groupQrcode
);
//获取该社群书下是否有群公告
groupAnnouncementBiz
.
setAnForGroup
(
addClassifyVO
.
getBookGroupId
(),
null
,
oneQrcode
.
getWeixinGroupId
());
final
String
wechatGroupId
=
oneQrcode
.
getWeixinGroupId
();
Map
<
String
,
BookWxQrcodeDTO
>
groupVersion
=
weixinQrcodeBiz
.
getGroupVersion
(
Collections
.
singletonList
(
wechatGroupId
));
String
ip
=
Optional
.
ofNullable
(
groupVersion
.
get
(
wechatGroupId
)).
orElse
(
new
BookWxQrcodeDTO
()).
getWechatGroupIp
();
SendWeixinRequestTools
.
changeGroupName
(
oneQrcode
.
getRobotWxId
(),
oneQrcode
.
getWeixinGroupId
(),
groupQrcode
.
getGroupName
(),
ip
);
}
}
groupQrcode
.
setGroupName
(
groupName
);
groupQrcode
.
setClassifyId
(
bookGroupClassify
.
getId
());
groupQrcode
.
setQrcodeHeadUrl
(
readerConsr
.
getNineHeadUrl
());
groupQrcodeBiz
.
insert
(
groupQrcode
);
//获取该社群书下是否有群公告
groupAnnouncementBiz
.
setAnForGroup
(
addClassifyVO
.
getBookGroupId
(),
null
,
oneQrcode
.
getWeixinGroupId
());
//新增一个规格
//新增一个规格
Long
specId
=
addSpecification
(
bookGroupClassify
.
getPrice
(),
qrcodeNameAndProId
.
getProductId
(),
addClassifyVO
.
getChannelId
(),
bookGroupClassify
.
getClassify
());
Long
specId
=
addSpecification
(
bookGroupClassify
.
getPrice
(),
qrcodeNameAndProId
.
getProductId
(),
addClassifyVO
.
getChannelId
(),
bookGroupClassify
.
getClassify
());
bookGroupClassify
.
setProductSpecId
(
specId
);
bookGroupClassify
.
setProductSpecId
(
specId
);
...
@@ -265,10 +277,6 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
...
@@ -265,10 +277,6 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
bookKeywords
.
add
(
bookKeyword
);
bookKeywords
.
add
(
bookKeyword
);
});
});
bookKeywordDao
.
insert
(
bookKeywords
);
bookKeywordDao
.
insert
(
bookKeywords
);
final
String
wechatGroupId
=
oneQrcode
.
getWeixinGroupId
();
Map
<
String
,
BookWxQrcodeDTO
>
groupVersion
=
weixinQrcodeBiz
.
getGroupVersion
(
Collections
.
singletonList
(
wechatGroupId
));
String
ip
=
Optional
.
ofNullable
(
groupVersion
.
get
(
wechatGroupId
)).
orElse
(
new
BookWxQrcodeDTO
()).
getWechatGroupIp
();
SendWeixinRequestTools
.
changeGroupName
(
oneQrcode
.
getRobotWxId
(),
oneQrcode
.
getWeixinGroupId
(),
groupQrcode
.
getGroupName
(),
ip
);
}
}
@ParamLog
(
"新增商品对应规格"
)
@ParamLog
(
"新增商品对应规格"
)
...
@@ -1124,5 +1132,44 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
...
@@ -1124,5 +1132,44 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
return
classifyVOS
;
return
classifyVOS
;
}
}
@ParamLog
(
"个人号模式获取一个群"
)
@Override
public
String
getSelfGroup
(
Long
classifyId
,
Integer
changeNumber
,
String
altId
)
{
GroupRobotDTO
groupRobotDTO
=
wechatGroupConsr
.
getGroupRobotByWxId
(
altId
);
if
(
groupRobotDTO
==
null
)
{
return
null
;
}
ClassifyVO
classifyVO
=
bookGroupClassifyDao
.
getClassify
(
classifyId
);
if
(
classifyVO
==
null
){
return
null
;
}
BookGroupDTO
bookGroupDTO
=
bookGroupDao
.
getDTOById
(
classifyVO
.
getBookGroupId
());
if
(
bookGroupDTO
==
null
){
return
null
;
}
//先判断有没有已经存在的群
List
<
GroupQrcode
>
groupQrcodes
=
groupQrcodeDao
.
getUsingGroupQrcodeByClassifyId
(
classifyId
,
changeNumber
);
log
.
info
(
"查询到该分类下已经存在的群"
+
groupQrcodes
.
toString
());
if
(!
ListUtils
.
isEmpty
(
groupQrcodes
))
{
for
(
GroupQrcode
groupQrcode:
groupQrcodes
){
//判断这个群是否跟这个小号对应,如果对应就返回该群,如果不对应证明已经切小号了,重新分配新的群
WeixinQrcode
weixinQrcode
=
weixinQrcodeDao
.
getByGroupId
(
groupQrcode
.
getWeixinGroupId
());
if
(
weixinQrcode
!=
null
&&
groupRobotDTO
.
getVersion
()
!=
null
&&
groupRobotDTO
.
getVersion
().
equals
(
weixinQrcode
.
getGeneration
()))
{
log
.
info
(
"返回已经有的能对应上的群"
+
groupQrcode
.
getWeixinGroupId
());
return
groupQrcode
.
getWeixinGroupId
();
}
}
}
//没有找到合适的群,根据机器人id重新切一个群
WeixinQrcodeDTO
weixinQrcodeDTO
=
weixinQrcodeBiz
.
getOneQrcode
(
JoinGroupTypeEnum
.
ROBOT
.
getCode
(),
altId
);
if
(
weixinQrcodeDTO
!=
null
)
{
log
.
info
(
"没有找到合适的群,根据机器人id重新切一个群"
+
weixinQrcodeDTO
.
toString
());
groupQrcodeBiz
.
dealAfterChangeANewGroup
(
weixinQrcodeDTO
,
classifyId
);
return
weixinQrcodeDTO
.
getWeixinGroupId
();
}
log
.
info
(
"没有可用的群classifyId="
+
classifyId
+
"altId="
+
altId
+
"changeNumber="
+
changeNumber
);
return
null
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/GroupQrcodeBizImpl.java
View file @
4e569483
...
@@ -219,7 +219,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -219,7 +219,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
List
<
ClassifyQrcodeVO
>
qrcodeByClassify
=
groupQrcodeDao
.
getQrcodeByClassifyId
(
classifyId
);
List
<
ClassifyQrcodeVO
>
qrcodeByClassify
=
groupQrcodeDao
.
getQrcodeByClassifyId
(
classifyId
);
if
(
CollectionUtils
.
isEmpty
(
qrcodeByClassify
))
{
if
(
CollectionUtils
.
isEmpty
(
qrcodeByClassify
))
{
// 如果没有群则新增一个
// 如果没有群则新增一个
String
url
=
changeGroup
QrCode
(
classifyId
);
String
url
=
changeGroup
(
classifyId
);
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 分类异常没有群 重新分配群classifyId:{} url:{}"
,
classifyId
,
url
);
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 分类异常没有群 重新分配群classifyId:{} url:{}"
,
classifyId
,
url
);
return
url
;
return
url
;
}
}
...
@@ -227,7 +227,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -227,7 +227,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
List
<
ClassifyQrcodeVO
>
collect
=
qrcodeByClassify
.
stream
().
filter
(
p
->
QrcodeStatusEnum
.
ON_USE
.
value
.
equals
(
p
.
getQrcodeState
())).
collect
(
Collectors
.
toList
());
List
<
ClassifyQrcodeVO
>
collect
=
qrcodeByClassify
.
stream
().
filter
(
p
->
QrcodeStatusEnum
.
ON_USE
.
value
.
equals
(
p
.
getQrcodeState
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
collect
))
{
if
(
CollectionUtils
.
isEmpty
(
collect
))
{
// 如果没有使用中群则新增一个
// 如果没有使用中群则新增一个
String
url
=
changeGroup
QrCode
(
classifyId
);
String
url
=
changeGroup
(
classifyId
);
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 没有使用中的群 重新分配群classifyId:{} url:{}"
,
classifyId
,
url
);
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 没有使用中的群 重新分配群classifyId:{} url:{}"
,
classifyId
,
url
);
return
url
;
return
url
;
}
}
...
@@ -243,7 +243,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -243,7 +243,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
// 更新二维码状态
// 更新二维码状态
groupQrcodeDao
.
changeQrcodeState
(
qrcodeVO
.
getId
(),
QrcodeStatusEnum
.
OVER_NUMBER
.
value
);
groupQrcodeDao
.
changeQrcodeState
(
qrcodeVO
.
getId
(),
QrcodeStatusEnum
.
OVER_NUMBER
.
value
);
// 如果没有群则新增一个
// 如果没有群则新增一个
String
url
=
changeGroup
QrCode
(
classifyId
);
String
url
=
changeGroup
(
classifyId
);
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 群超出切群人数了,但是没有切群 重新分配群classifyId:{} url:{}"
,
classifyId
,
url
);
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 群超出切群人数了,但是没有切群 重新分配群classifyId:{} url:{}"
,
classifyId
,
url
);
return
url
;
return
url
;
}
}
...
@@ -271,7 +271,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -271,7 +271,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
}
}
if
(
Objects
.
isNull
(
url
))
{
if
(
Objects
.
isNull
(
url
))
{
// 如果没有群则新增一个
// 如果没有群则新增一个
String
qrcodeUrl
=
changeGroup
QrCode
(
classifyId
);
String
qrcodeUrl
=
changeGroup
(
classifyId
);
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 没有可用群 重新分配群classifyId:{} url:{}"
,
classifyId
,
url
);
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 没有可用群 重新分配群classifyId:{} url:{}"
,
classifyId
,
url
);
return
qrcodeUrl
;
return
qrcodeUrl
;
}
}
...
@@ -279,11 +279,6 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -279,11 +279,6 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
}
}
@Override
public
String
changeGroupQrCode
(
Long
classifyId
)
{
return
changeGroup
(
classifyId
);
}
private
String
changeGroup
(
Long
classifyId
)
{
private
String
changeGroup
(
Long
classifyId
)
{
final
String
key
=
CacheConstant
.
BOOK
+
"changeGroup:"
+
classifyId
;
final
String
key
=
CacheConstant
.
BOOK
+
"changeGroup:"
+
classifyId
;
final
String
qrcodeKey
=
CacheConstant
.
BOOK
+
"changeGroupQrCode:"
+
classifyId
;
final
String
qrcodeKey
=
CacheConstant
.
BOOK
+
"changeGroupQrCode:"
+
classifyId
;
...
@@ -299,7 +294,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -299,7 +294,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
return
qrcode
;
return
qrcode
;
}
}
// 如果没有群则新增一个
// 如果没有群则新增一个
url
=
addWechatGroup
(
classifyId
,
null
);
url
=
addWechatGroup
(
classifyId
,
null
,
null
);
log
.
info
(
"[直接切群] changeGroupQrCode 直接切群classifyId:{} url:{}"
,
classifyId
,
url
);
log
.
info
(
"[直接切群] changeGroupQrCode 直接切群classifyId:{} url:{}"
,
classifyId
,
url
);
// 切群之后将新切群放入缓存5分钟,5分钟内若需要切群则直接从缓存中获取,避免事务未提交,双重判断
// 切群之后将新切群放入缓存5分钟,5分钟内若需要切群则直接从缓存中获取,避免事务未提交,双重判断
JedisClusterUtils
.
set
(
qrcodeKey
,
url
,
60
*
5
);
JedisClusterUtils
.
set
(
qrcodeKey
,
url
,
60
*
5
);
...
@@ -499,7 +494,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -499,7 +494,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
//如果人数超过限制,重新分配群
//如果人数超过限制,重新分配群
if
(
memberCount
>=
groupQrcodeDTO
.
getChangeNumber
()
&&
QrcodeStatusEnum
.
ON_USE
.
value
.
equals
(
groupQrcodeDTO
.
getQrcodeState
()))
{
if
(
memberCount
>=
groupQrcodeDTO
.
getChangeNumber
()
&&
QrcodeStatusEnum
.
ON_USE
.
value
.
equals
(
groupQrcodeDTO
.
getQrcodeState
()))
{
//修改状态,重新分配一个群
//修改状态,重新分配一个群
addWechatGroup
(
groupQrcodeDTO
.
getClassifyId
(),
groupQrcodeDTO
.
getId
());
addWechatGroup
(
groupQrcodeDTO
.
getClassifyId
(),
groupQrcodeDTO
.
getId
()
,
robotId
);
}
}
if
(
memberCount
>=
100
&&
QrcodeStatusEnum
.
ON_USE
.
value
.
equals
(
groupQrcodeDTO
.
getUseState
()))
{
if
(
memberCount
>=
100
&&
QrcodeStatusEnum
.
ON_USE
.
value
.
equals
(
groupQrcodeDTO
.
getUseState
()))
{
//将二维码修改为已满群状态
//将二维码修改为已满群状态
...
@@ -650,16 +645,16 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -650,16 +645,16 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
*/
*/
@ParamLog
(
"重新分配一个群"
)
@ParamLog
(
"重新分配一个群"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
String
addWechatGroup
(
Long
classifyId
,
Long
groupQrcodeId
)
{
public
String
addWechatGroup
(
Long
classifyId
,
Long
groupQrcodeId
,
String
altId
)
{
Integer
generation
=
null
;
Integer
joinGroupType
=
null
;
ClassifyVO
classifyVOOne
=
bookGroupClassifyBiz
.
getClassify
(
classifyId
);
ClassifyVO
classifyVOOne
=
bookGroupClassifyBiz
.
getClassify
(
classifyId
);
if
(
classifyVOOne
!=
null
&&
classifyVOOne
.
getBookGroupId
()
!=
null
)
{
if
(
classifyVOOne
!=
null
&&
classifyVOOne
.
getBookGroupId
()
!=
null
)
{
QrcodeNameAndProIdDTO
qrcodeNameAndProId
=
bookGroupBiz
.
getQrcodeNameAndProId
(
classifyVOOne
.
getBookGroupId
());
QrcodeNameAndProIdDTO
qrcodeNameAndProId
=
bookGroupBiz
.
getQrcodeNameAndProId
(
classifyVOOne
.
getBookGroupId
());
if
(
qrcodeNameAndProId
!=
null
&&
new
Integer
(
2
).
equals
(
qrcodeNameAndProId
.
getJoinGroupType
()))
{
if
(
qrcodeNameAndProId
!=
null
)
{
generation
=
3
;
joinGroupType
=
qrcodeNameAndProId
.
getJoinGroupType
()
;
}
}
}
}
WeixinQrcodeDTO
oneQrcode
=
weixinQrcodeBiz
.
getOneQrcode
(
generation
);
WeixinQrcodeDTO
oneQrcode
=
weixinQrcodeBiz
.
getOneQrcode
(
joinGroupType
,
altId
);
log
.
info
(
"[重新分配一个群] : oneQrcode:{}"
,
oneQrcode
);
log
.
info
(
"[重新分配一个群] : oneQrcode:{}"
,
oneQrcode
);
if
(
oneQrcode
!=
null
)
{
if
(
oneQrcode
!=
null
)
{
//将二维码改为已满群状态
//将二维码改为已满群状态
...
@@ -670,49 +665,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -670,49 +665,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
log
.
info
(
"[重新分配一个群] : groupQrcodeDao.changeQrcodeState number:{}"
,
number
);
log
.
info
(
"[重新分配一个群] : groupQrcodeDao.changeQrcodeState number:{}"
,
number
);
// 当该分类不存在群的时候分配一个
// 当该分类不存在群的时候分配一个
if
(
number
>
0
||
null
==
groupQrcodeId
){
if
(
number
>
0
||
null
==
groupQrcodeId
){
//获取标签对应基本信息
dealAfterChangeANewGroup
(
oneQrcode
,
classifyId
);
GroupNameAndMaxSeqDTO
groupNameAndMaxSeqDTO
=
bookGroupClassifyBiz
.
getGroupNameAndMaxSeq
(
classifyId
);
log
.
info
(
"[重新分配一个群] : groupNameAndMaxSeqDTO:{}"
,
groupNameAndMaxSeqDTO
);
if
(
groupNameAndMaxSeqDTO
!=
null
)
{
Integer
maxSeq
=
groupNameAndMaxSeqDTO
.
getMaxSeq
()
+
1
;
String
groupName
=
groupNameAndMaxSeqDTO
.
getGroupQrcodeName
()
+
groupNameAndMaxSeqDTO
.
getClassify
()
+
maxSeq
+
"群"
;
// 群长度超过16部分会被截取,导致群名称重复
if
(
groupName
.
length
()
>
15
)
{
final
String
s
=
maxSeq
+
"群"
;
groupName
=
groupNameAndMaxSeqDTO
.
getClassify
()
+
s
;
if
(
groupName
.
length
()
>
15
)
{
groupName
=
groupNameAndMaxSeqDTO
.
getClassify
().
substring
(
0
,
15
-
s
.
length
())
+
s
;
}
}
GroupQrcode
groupQrcode
=
new
GroupQrcode
();
groupQrcode
.
setWeixinGroupId
(
oneQrcode
.
getWeixinGroupId
());
groupQrcode
.
setQrcodeUrl
(
oneQrcode
.
getQrcodeUrl
());
groupQrcode
.
setCreateUser
(
groupNameAndMaxSeqDTO
.
getCreateUser
());
groupQrcode
.
setWeixinQrcodeId
(
oneQrcode
.
getId
());
groupQrcode
.
setGroupSeq
(
maxSeq
);
groupQrcode
.
setQrcodeHeadUrl
(
readerConsr
.
getNineHeadUrl
());
groupQrcode
.
setUserNumber
(
oneQrcode
.
getUserNumber
());
groupQrcode
.
setGroupName
(
groupName
);
groupQrcode
.
setClassifyId
(
classifyId
);
this
.
insert
(
groupQrcode
);
ThreadPoolUtils
.
SEND_MESSAGE_THREAD_POOL
.
execute
(()->{
//获取该社群书下是否有群公告
ClassifyVO
classifyVO
=
bookGroupClassifyBiz
.
getClassify
(
classifyId
);
groupAnnouncementBiz
.
setAnForGroup
(
classifyVO
.
getBookGroupId
(),
classifyId
,
oneQrcode
.
getWeixinGroupId
());
//补充该分类下的群发关联
List
<
PushGroup
>
pushGroups
=
pushGroupDao
.
getListByClassifyId
(
classifyId
);
if
(!
ListUtils
.
isEmpty
(
pushGroups
)){
PushGroup
pushGroup
=
pushGroups
.
get
(
0
);
pushGroup
.
setBookGroupQrcodeId
(
groupQrcode
.
getId
());
pushGroupDao
.
insert
(
pushGroup
);
}
});
//String robotId = wechatGroupConsr.getRobotIdByGroupId(oneQrcode.getWeixinGroupId());
final
String
wechatGroupId
=
oneQrcode
.
getWeixinGroupId
();
Map
<
String
,
BookWxQrcodeDTO
>
groupVersion
=
weixinQrcodeBiz
.
getGroupVersion
(
Collections
.
singletonList
(
wechatGroupId
));
String
ip
=
Optional
.
ofNullable
(
groupVersion
.
get
(
wechatGroupId
)).
orElse
(
new
BookWxQrcodeDTO
()).
getWechatGroupIp
();
SendWeixinRequestTools
.
changeGroupName
(
oneQrcode
.
getRobotWxId
(),
wechatGroupId
,
groupName
,
ip
);
}
return
oneQrcode
.
getQrcodeUrl
();
return
oneQrcode
.
getQrcodeUrl
();
}
}
}
}
...
@@ -844,4 +797,51 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -844,4 +797,51 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
return
pageBeanNew
;
return
pageBeanNew
;
}
}
@ParamLog
(
"切群之后要做的事"
)
@Override
public
void
dealAfterChangeANewGroup
(
WeixinQrcodeDTO
oneQrcode
,
Long
classifyId
){
//获取标签对应基本信息
GroupNameAndMaxSeqDTO
groupNameAndMaxSeqDTO
=
bookGroupClassifyBiz
.
getGroupNameAndMaxSeq
(
classifyId
);
log
.
info
(
"[重新分配一个群] : groupNameAndMaxSeqDTO:{}"
,
groupNameAndMaxSeqDTO
);
if
(
groupNameAndMaxSeqDTO
!=
null
)
{
Integer
maxSeq
=
groupNameAndMaxSeqDTO
.
getMaxSeq
()
+
1
;
String
groupName
=
groupNameAndMaxSeqDTO
.
getGroupQrcodeName
()
+
groupNameAndMaxSeqDTO
.
getClassify
()
+
maxSeq
+
"群"
;
// 群长度超过16部分会被截取,导致群名称重复
if
(
groupName
.
length
()
>
15
)
{
final
String
s
=
maxSeq
+
"群"
;
groupName
=
groupNameAndMaxSeqDTO
.
getClassify
()
+
s
;
if
(
groupName
.
length
()
>
15
)
{
groupName
=
groupNameAndMaxSeqDTO
.
getClassify
().
substring
(
0
,
15
-
s
.
length
())
+
s
;
}
}
GroupQrcode
groupQrcode
=
new
GroupQrcode
();
groupQrcode
.
setWeixinGroupId
(
oneQrcode
.
getWeixinGroupId
());
groupQrcode
.
setQrcodeUrl
(
oneQrcode
.
getQrcodeUrl
());
groupQrcode
.
setCreateUser
(
groupNameAndMaxSeqDTO
.
getCreateUser
());
groupQrcode
.
setWeixinQrcodeId
(
oneQrcode
.
getId
());
groupQrcode
.
setGroupSeq
(
maxSeq
);
groupQrcode
.
setQrcodeHeadUrl
(
readerConsr
.
getNineHeadUrl
());
groupQrcode
.
setUserNumber
(
oneQrcode
.
getUserNumber
());
groupQrcode
.
setGroupName
(
groupName
);
groupQrcode
.
setClassifyId
(
classifyId
);
this
.
insert
(
groupQrcode
);
ThreadPoolUtils
.
SEND_MESSAGE_THREAD_POOL
.
execute
(()->{
//获取该社群书下是否有群公告
ClassifyVO
classifyVO
=
bookGroupClassifyBiz
.
getClassify
(
classifyId
);
groupAnnouncementBiz
.
setAnForGroup
(
classifyVO
.
getBookGroupId
(),
classifyId
,
oneQrcode
.
getWeixinGroupId
());
//补充该分类下的群发关联
List
<
PushGroup
>
pushGroups
=
pushGroupDao
.
getListByClassifyId
(
classifyId
);
if
(!
ListUtils
.
isEmpty
(
pushGroups
)){
PushGroup
pushGroup
=
pushGroups
.
get
(
0
);
pushGroup
.
setBookGroupQrcodeId
(
groupQrcode
.
getId
());
pushGroupDao
.
insert
(
pushGroup
);
}
});
final
String
wechatGroupId
=
oneQrcode
.
getWeixinGroupId
();
Map
<
String
,
BookWxQrcodeDTO
>
groupVersion
=
weixinQrcodeBiz
.
getGroupVersion
(
Collections
.
singletonList
(
wechatGroupId
));
String
ip
=
Optional
.
ofNullable
(
groupVersion
.
get
(
wechatGroupId
)).
orElse
(
new
BookWxQrcodeDTO
()).
getWechatGroupIp
();
SendWeixinRequestTools
.
changeGroupName
(
oneQrcode
.
getRobotWxId
(),
wechatGroupId
,
groupName
,
ip
);
}
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/WeixinQrcodeBizImpl.java
View file @
4e569483
...
@@ -14,6 +14,7 @@ import com.pcloud.book.group.dto.UpdateQrDTO;
...
@@ -14,6 +14,7 @@ import com.pcloud.book.group.dto.UpdateQrDTO;
import
com.pcloud.book.group.dto.WeixinQrcodeCountDTO
;
import
com.pcloud.book.group.dto.WeixinQrcodeCountDTO
;
import
com.pcloud.book.group.dto.WeixinQrcodeDTO
;
import
com.pcloud.book.group.dto.WeixinQrcodeDTO
;
import
com.pcloud.book.group.entity.WeixinQrcode
;
import
com.pcloud.book.group.entity.WeixinQrcode
;
import
com.pcloud.book.group.enums.JoinGroupTypeEnum
;
import
com.pcloud.book.group.enums.UpdateStatusEnum
;
import
com.pcloud.book.group.enums.UpdateStatusEnum
;
import
com.pcloud.book.group.tools.Kit
;
import
com.pcloud.book.group.tools.Kit
;
import
com.pcloud.book.group.tools.QrcodeTools
;
import
com.pcloud.book.group.tools.QrcodeTools
;
...
@@ -82,7 +83,15 @@ public class WeixinQrcodeBizImpl implements WeixinQrcodeBiz {
...
@@ -82,7 +83,15 @@ public class WeixinQrcodeBizImpl implements WeixinQrcodeBiz {
@Override
@Override
@ParamLog
(
"从二维码库获取一个二维码"
)
@ParamLog
(
"从二维码库获取一个二维码"
)
@Transactional
(
propagation
=
Propagation
.
NOT_SUPPORTED
)
@Transactional
(
propagation
=
Propagation
.
NOT_SUPPORTED
)
public
WeixinQrcodeDTO
getOneQrcode
(
Integer
generation
)
{
public
WeixinQrcodeDTO
getOneQrcode
(
Integer
joinGroupType
,
String
altId
)
{
Integer
generation
=
null
;
if
(
JoinGroupTypeEnum
.
ROBOT
.
getCode
().
equals
(
joinGroupType
)
&&
!
StringUtil
.
isEmpty
(
altId
))
{
//个人号模式获取群,根据小号是第几套获取是第几个套群
GroupRobotDTO
groupRobotDTO
=
wechatGroupConsr
.
getGroupRobotByWxId
(
altId
);
if
(
groupRobotDTO
!=
null
)
{
generation
=
groupRobotDTO
.
getVersion
();
}
}
WeixinQrcodeDTO
qrcodeVO
=
weixinQrcodeDao
.
getOneWechatGroup
(
generation
);
WeixinQrcodeDTO
qrcodeVO
=
weixinQrcodeDao
.
getOneWechatGroup
(
generation
);
if
(
qrcodeVO
==
null
)
{
if
(
qrcodeVO
==
null
)
{
return
null
;
return
null
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
View file @
4e569483
...
@@ -280,4 +280,9 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> {
...
@@ -280,4 +280,9 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> {
* @return
* @return
*/
*/
GroupQrcode
getByWxGroupId
(
String
wxGroupId
);
GroupQrcode
getByWxGroupId
(
String
wxGroupId
);
/**
* 查询正在使用的群
*/
List
<
GroupQrcode
>
getUsingGroupQrcodeByClassifyId
(
Long
classifyId
,
Integer
changeNumber
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/GroupQrcodeDaoImpl.java
View file @
4e569483
...
@@ -282,4 +282,12 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou
...
@@ -282,4 +282,12 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou
public
GroupQrcode
getByWxGroupId
(
String
wxGroupId
)
{
public
GroupQrcode
getByWxGroupId
(
String
wxGroupId
)
{
return
super
.
getSessionTemplate
().
selectOne
(
getStatement
(
"getByWxGroupId"
),
wxGroupId
);
return
super
.
getSessionTemplate
().
selectOne
(
getStatement
(
"getByWxGroupId"
),
wxGroupId
);
}
}
@Override
public
List
<
GroupQrcode
>
getUsingGroupQrcodeByClassifyId
(
Long
classifyId
,
Integer
changeNumber
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"classifyId"
,
classifyId
);
map
.
put
(
"changeNumber"
,
changeNumber
);
return
this
.
getSessionTemplate
().
selectList
(
getStatement
(
"getUsingGroupQrcodeByClassifyId"
),
map
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/GroupQrcodeFacadeImpl.java
View file @
4e569483
...
@@ -73,12 +73,6 @@ public class GroupQrcodeFacadeImpl implements GroupQrcodeFacade {
...
@@ -73,12 +73,6 @@ public class GroupQrcodeFacadeImpl implements GroupQrcodeFacade {
return
new
ResponseDto
<>(
qrCodeUrl
);
return
new
ResponseDto
<>(
qrCodeUrl
);
}
}
@GetMapping
(
"changeGroupQrCode"
)
public
ResponseDto
<
String
>
changeGroupQrCode
(
@RequestParam
(
"classifyId"
)
Long
classifyId
)
{
String
qrCodeUrl
=
groupQrcodeBiz
.
changeGroupQrCode
(
classifyId
);
return
new
ResponseDto
<>(
qrCodeUrl
);
}
@Override
@Override
@PostMapping
(
"listQrcodeByClassify"
)
@PostMapping
(
"listQrcodeByClassify"
)
public
ResponseDto
<
PageBeanNew
>
listQrcodeByClassify
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
ListQrcodeByClassifyParamVO
listQrcodeByClassifyParamVO
)
{
public
ResponseDto
<
PageBeanNew
>
listQrcodeByClassify
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
ListQrcodeByClassifyParamVO
listQrcodeByClassifyParamVO
)
{
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/service/impl/WeixinQrcodeServiceImpl.java
View file @
4e569483
...
@@ -97,7 +97,7 @@ public class WeixinQrcodeServiceImpl implements WeixinQrcodeService {
...
@@ -97,7 +97,7 @@ public class WeixinQrcodeServiceImpl implements WeixinQrcodeService {
@Override
@Override
@GetMapping
(
"getOneQrcode"
)
@GetMapping
(
"getOneQrcode"
)
public
ResponseEntity
<
ResponseDto
<
WeixinQrcodeDTO
>>
getOneQrcode
()
{
public
ResponseEntity
<
ResponseDto
<
WeixinQrcodeDTO
>>
getOneQrcode
()
{
return
ResponseHandleUtil
.
toResponse
(
weixinQrcodeBiz
.
getOneQrcode
(
null
));
return
ResponseHandleUtil
.
toResponse
(
weixinQrcodeBiz
.
getOneQrcode
(
null
,
null
));
}
}
@Override
@Override
...
...
pcloud-service-book/src/main/java/com/pcloud/book/keywords/biz/impl/BookKeywordBizImpl.java
View file @
4e569483
...
@@ -625,12 +625,12 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
...
@@ -625,12 +625,12 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
if
(
classify
==
null
)
{
if
(
classify
==
null
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"分类不存在"
);
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"分类不存在"
);
}
}
//获取
群
//获取
第三套群,先判断这个小号是不是属于这个群的,如果不是,则切下一套
GroupQrcode4ClassifyVO
groupQrcode4ClassifyVO
=
bookGroupClassifyDao
.
getClassifyQrcode
(
classifyId
,
changeNumber
);
String
weixinGroupId
=
bookGroupClassifyBiz
.
getSelfGroup
(
classifyId
,
changeNumber
,
sendTextDTO
.
getWxId
()
);
if
(
null
==
groupQrcode4ClassifyVO
)
{
if
(
StringUtil
.
isEmpty
(
weixinGroupId
)
)
{
throw
new
BookBizException
(
BookBizException
.
ID_NOT_EXIST
,
"群不存在
"
);
throw
new
BookBizException
(
BookBizException
.
ID_NOT_EXIST
,
"群不存在
classifyId="
+
classifyId
+
",changeNumber="
+
changeNumber
+
", wxId="
+
sendTextDTO
.
getWxId
()
);
}
}
sendAndCheckInviteGroup
(
sendTextDTO
,
groupQrcode4ClassifyVO
.
getWeixinGroupId
()
);
sendAndCheckInviteGroup
(
sendTextDTO
,
weixinGroupId
);
}
}
@ParamLog
(
"判断冒泡和发送冒泡和发入群链接"
)
@ParamLog
(
"判断冒泡和发送冒泡和发入群链接"
)
...
@@ -699,12 +699,12 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
...
@@ -699,12 +699,12 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
if
(!
ListUtils
.
isEmpty
(
bookGroupClassifyList
))
{
if
(!
ListUtils
.
isEmpty
(
bookGroupClassifyList
))
{
for
(
BookGroupClassify
bookGroupClassify
:
bookGroupClassifyList
)
{
for
(
BookGroupClassify
bookGroupClassify
:
bookGroupClassifyList
)
{
if
(
bookGroupClassify
.
getClassify
().
equals
(
sendTextDTO
.
getTextContent
()))
{
if
(
bookGroupClassify
.
getClassify
().
equals
(
sendTextDTO
.
getTextContent
()))
{
//获取
群
//获取
第三套群,先判断这个小号是不是属于这个群的,如果不是,则切下一套
GroupQrcode4ClassifyVO
groupQrcode4ClassifyVO
=
bookGroupClassifyDao
.
getClassifyQrcode
(
bookGroupClassify
.
getId
(),
bookGroupClassify
.
getChangeNumber
());
String
weixinGroupId
=
bookGroupClassifyBiz
.
getSelfGroup
(
bookGroupClassify
.
getId
(),
bookGroupClassify
.
getChangeNumber
(),
sendTextDTO
.
getWxId
());
if
(
null
==
groupQrcode4ClassifyVO
)
{
if
(
StringUtil
.
isEmpty
(
weixinGroupId
)
)
{
throw
new
BookBizException
(
BookBizException
.
ID_NOT_EXIST
,
"群不存在
"
);
throw
new
BookBizException
(
BookBizException
.
ID_NOT_EXIST
,
"群不存在
classifyId="
+
bookGroupClassify
.
getId
()
+
",changeNumber="
+
bookGroupClassify
.
getChangeNumber
()
+
", wxId="
+
sendTextDTO
.
getWxId
()
);
}
}
sendAndCheckInviteGroup
(
sendTextDTO
,
groupQrcode4ClassifyVO
.
getWeixinGroupId
()
);
sendAndCheckInviteGroup
(
sendTextDTO
,
weixinGroupId
);
}
}
}
}
}
}
...
...
pcloud-service-book/src/main/resources/mapper/group/BookGroupClassify.Mapper.xml
View file @
4e569483
...
@@ -231,10 +231,10 @@
...
@@ -231,10 +231,10 @@
change_number changeNumber,
change_number changeNumber,
rank,
rank,
count(1) qrcodeNumber,
count(1) qrcodeNumber,
SUM(user_number
) userNumberTotal,
IFNULL(SUM(user_number),0
) userNumberTotal,
c.create_time createdTime
c.create_time createdTime
from
from
book_group_classify c join book_group_qrcode q on c.id = q.classify_id
book_group_classify c
left
join book_group_qrcode q on c.id = q.classify_id
where
where
book_group_id = #{_parameter,jdbcType=BIGINT} and c.is_delete = 0 group by c.id order by userNumberTotal desc,c.id
book_group_id = #{_parameter,jdbcType=BIGINT} and c.is_delete = 0 group by c.id order by userNumberTotal desc,c.id
</select>
</select>
...
...
pcloud-service-book/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
View file @
4e569483
...
@@ -785,4 +785,16 @@
...
@@ -785,4 +785,16 @@
and is_delete = 0
and is_delete = 0
</select>
</select>
<!--查询正在使用的群-->
<select
id=
"getUsingGroupQrcodeByClassifyId"
parameterType=
"map"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM
book_group_qrcode
WHERE user_number
<
#{changeNumber}
AND classify_id = #{classifyId}
AND use_state = 1
AND is_delete = 0
</select>
</mapper>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/WeixinQrcode.Mapper.xml
View file @
4e569483
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, weixin_group_id, robot_id, robot_wx_id, qrcode_url, use_state, update_qr_time
id, weixin_group_id, robot_id, robot_wx_id, qrcode_url, use_state, update_qr_time
, generation
</sql>
</sql>
<!--根据Id查询详情-->
<!--根据Id查询详情-->
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment