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
0bc44012
Commit
0bc44012
authored
Sep 03, 2019
by
裴大威
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'hotfix-changegroup' into 'master'
Hotfix changegroup See merge request rays/pcloud-book!127
parents
fff44a28
5da5d009
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
120 additions
and
3 deletions
+120
-3
GroupQrcodeBiz.java
...c/main/java/com/pcloud/book/group/biz/GroupQrcodeBiz.java
+7
-0
GroupQrcodeBizImpl.java
...va/com/pcloud/book/group/biz/impl/GroupQrcodeBizImpl.java
+76
-3
GroupQrcodeDao.java
...c/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
+2
-0
GroupQrcodeDaoImpl.java
...va/com/pcloud/book/group/dao/impl/GroupQrcodeDaoImpl.java
+4
-0
GroupQrcodeFacadeImpl.java
.../pcloud/book/group/facade/impl/GroupQrcodeFacadeImpl.java
+12
-0
ClassifyQrcodeVO.java
.../main/java/com/pcloud/book/group/vo/ClassifyQrcodeVO.java
+12
-0
GroupQrcode.Mapper.xml
...ok/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
+7
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/GroupQrcodeBiz.java
View file @
0bc44012
...
...
@@ -23,6 +23,13 @@ import java.util.Map;
public
interface
GroupQrcodeBiz
{
/**
* 查询是否需要切群,若需要则返回新群,不需要则为空前端展示客服二维码
*/
String
getChangeGroupQrCode
(
Long
classifyId
);
String
changeGroupQrCode
(
Long
classifyId
);
/**
* 测试替换群二维码,不发生产
*/
void
updateGroupQrcode
(
UpdateGroupQrcodeRequestVO
vo
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/GroupQrcodeBizImpl.java
View file @
0bc44012
...
...
@@ -69,6 +69,7 @@ import java.util.Date;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
...
...
@@ -189,6 +190,72 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
}
@Override
public
String
getChangeGroupQrCode
(
Long
classifyId
)
{
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode classifyId:{}"
,
classifyId
);
if
(
Objects
.
isNull
(
classifyId
))
{
return
StringUtil
.
EMPTY
;
}
ClassifyVO
classify
=
bookGroupClassifyBiz
.
getClassify
(
classifyId
);
if
(
Objects
.
isNull
(
classify
))
{
throw
new
BookBizException
(
BookBizException
.
ID_NOT_EXIST
,
"分类不存在"
);
}
List
<
ClassifyQrcodeVO
>
qrcodeByClassify
=
groupQrcodeDao
.
getQrcodeByClassifyId
(
classifyId
);
if
(
CollectionUtils
.
isEmpty
(
qrcodeByClassify
))
{
// 如果没有群则新增一个
String
url
=
addWechatGroup
(
classifyId
,
null
);
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 分类异常没有群 重新分配群classifyId:{} url:{}"
,
classifyId
,
url
);
return
url
;
}
// 获取使用中的群
List
<
ClassifyQrcodeVO
>
collect
=
qrcodeByClassify
.
stream
().
filter
(
p
->
QrcodeStatusEnum
.
ON_USE
.
value
.
equals
(
p
.
getQrcodeState
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
collect
))
{
// 如果没有使用中群则新增一个
String
url
=
addWechatGroup
(
classifyId
,
null
);
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 没有使用中的群 重新分配群classifyId:{} url:{}"
,
classifyId
,
url
);
return
url
;
}
if
(
collect
.
size
()
==
1
)
{
ClassifyQrcodeVO
qrcodeVO
=
collect
.
get
(
0
);
if
(
qrcodeVO
.
getUserNumber
()
<
classify
.
getChangeNumber
())
{
return
qrcodeVO
.
getQrcodeUrl
();
}
else
{
//将二维码修改为已满群状态
changeToOverNumber
(
qrcodeVO
.
getWeixinQrcodeId
(),
qrcodeVO
.
getId
());
// 如果没有群则新增一个
String
url
=
addWechatGroup
(
classifyId
,
null
);
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 群超出切群人数了,但是没有切群 重新分配群classifyId:{} url:{}"
,
classifyId
,
url
);
return
url
;
}
}
String
url
=
null
;
for
(
ClassifyQrcodeVO
vo
:
collect
)
{
if
(
vo
.
getUserNumber
()
>=
classify
.
getChangeNumber
())
{
//将二维码修改为已满群状态
changeToOverNumber
(
vo
.
getWeixinQrcodeId
(),
vo
.
getId
());
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 处理超出了但是没有更新状态的群 vo:{}"
,
vo
);
}
if
(
vo
.
getUserNumber
()
<
classify
.
getChangeNumber
())
{
url
=
vo
.
getQrcodeUrl
();
}
}
if
(
Objects
.
isNull
(
url
))
{
// 如果没有群则新增一个
String
qrcodeUrl
=
addWechatGroup
(
classifyId
,
null
);
log
.
info
(
"[前端调用切群接口] getChangeGroupQrCode 没有可用群 重新分配群classifyId:{} url:{}"
,
classifyId
,
url
);
return
qrcodeUrl
;
}
return
url
;
}
@Override
public
String
changeGroupQrCode
(
Long
classifyId
)
{
// 如果没有群则新增一个
String
url
=
addWechatGroup
(
classifyId
,
null
);
log
.
info
(
"[直接切群] changeGroupQrCode 直接切群classifyId:{} url:{}"
,
classifyId
,
url
);
return
url
;
}
@Override
@ParamLog
(
"updateGroupQrcode"
)
public
void
updateGroupQrcode
(
UpdateGroupQrcodeRequestVO
vo
)
{
this
.
groupQrcodeDao
.
updateGroupQrcode
(
vo
.
getGroupQrcodeId
(),
vo
.
getQrcodeUrl
(),
vo
.
getUserId
());
...
...
@@ -513,7 +580,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
*/
@ParamLog
(
"重新分配一个群"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
addWechatGroup
(
Long
classifyId
,
Long
groupQrcodeId
)
{
public
String
addWechatGroup
(
Long
classifyId
,
Long
groupQrcodeId
)
{
Integer
generation
=
null
;
ClassifyVO
classifyVOOne
=
bookGroupClassifyBiz
.
getClassify
(
classifyId
);
if
(
classifyVOOne
!=
null
&&
classifyVOOne
.
getBookGroupId
()
!=
null
)
{
...
...
@@ -526,9 +593,13 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
log
.
info
(
"[重新分配一个群] : oneQrcode:{}"
,
oneQrcode
);
if
(
oneQrcode
!=
null
)
{
//将二维码改为已满群状态
Integer
number
=
groupQrcodeDao
.
changeQrcodeState
(
groupQrcodeId
,
QrcodeStatusEnum
.
OVER_NUMBER
.
value
);
Integer
number
=
0
;
if
(!
Objects
.
isNull
(
groupQrcodeId
))
{
number
=
groupQrcodeDao
.
changeQrcodeState
(
groupQrcodeId
,
QrcodeStatusEnum
.
OVER_NUMBER
.
value
);
}
log
.
info
(
"[重新分配一个群] : groupQrcodeDao.changeQrcodeState number:{}"
,
number
);
if
(
number
>
0
){
// 当该分类不存在群的时候分配一个
if
(
number
>
0
||
null
==
groupQrcodeId
){
//获取标签对应基本信息
GroupNameAndMaxSeqDTO
groupNameAndMaxSeqDTO
=
bookGroupClassifyBiz
.
getGroupNameAndMaxSeq
(
classifyId
);
log
.
info
(
"[重新分配一个群] : groupNameAndMaxSeqDTO:{}"
,
groupNameAndMaxSeqDTO
);
...
...
@@ -572,8 +643,10 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
String
ip
=
Optional
.
ofNullable
(
groupVersion
.
get
(
wechatGroupId
)).
orElse
(
new
BookWxQrcodeDTO
()).
getWechatGroupIp
();
SendWeixinRequestTools
.
changeGroupName
(
oneQrcode
.
getRobotWxId
(),
wechatGroupId
,
groupName
,
ip
);
}
return
oneQrcode
.
getQrcodeUrl
();
}
}
return
StringUtil
.
EMPTY
;
}
@ParamLog
(
"将二维码改为已满群"
)
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
View file @
0bc44012
...
...
@@ -241,4 +241,6 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> {
List
<
ClassifyQrcodeVO
>
getQrcodeByClassify
(
Long
classifyId
);
List
<
ClassifyQrcodeVO
>
getQrcodeByClassifyId
(
Long
classifyId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/GroupQrcodeDaoImpl.java
View file @
0bc44012
...
...
@@ -204,6 +204,10 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getQrcodeByClassify"
),
classifyId
);
}
public
List
<
ClassifyQrcodeVO
>
getQrcodeByClassifyId
(
Long
classifyId
)
{
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getQrcodeByClassifyId"
),
classifyId
);
}
@Override
public
List
<
Long
>
getIdsByBookId
(
Long
bookId
)
{
return
getSessionTemplate
().
selectList
(
getStatement
(
"getIdsByBookId"
),
bookId
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/GroupQrcodeFacadeImpl.java
View file @
0bc44012
...
...
@@ -67,6 +67,18 @@ public class GroupQrcodeFacadeImpl implements GroupQrcodeFacade {
return
new
ResponseDto
<>();
}
@GetMapping
(
"getChangeGroupQrCode"
)
public
ResponseDto
<
String
>
getChangeGroupQrCode
(
@RequestParam
(
"classifyId"
)
Long
classifyId
)
{
String
qrCodeUrl
=
groupQrcodeBiz
.
getChangeGroupQrCode
(
classifyId
);
return
new
ResponseDto
<>(
qrCodeUrl
);
}
@GetMapping
(
"changeGroupQrCode"
)
public
ResponseDto
<
String
>
changeGroupQrCode
(
@RequestParam
(
"classifyId"
)
Long
classifyId
)
{
String
qrCodeUrl
=
groupQrcodeBiz
.
changeGroupQrCode
(
classifyId
);
return
new
ResponseDto
<>(
qrCodeUrl
);
}
@Override
@PostMapping
(
"listQrcodeByClassify"
)
public
ResponseDto
<
PageBeanNew
>
listQrcodeByClassify
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
ListQrcodeByClassifyParamVO
listQrcodeByClassifyParamVO
)
{
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/ClassifyQrcodeVO.java
View file @
0bc44012
...
...
@@ -46,6 +46,9 @@ public class ClassifyQrcodeVO implements Serializable {
@ApiModelProperty
(
"关键词识别次数"
)
private
Integer
keywordCount
;
@ApiModelProperty
(
value
=
"二维码状态"
,
hidden
=
true
)
private
Integer
qrcodeState
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
...
...
@@ -145,6 +148,14 @@ public class ClassifyQrcodeVO implements Serializable {
this
.
createdTime
=
createdTime
;
}
public
Integer
getQrcodeState
()
{
return
qrcodeState
;
}
public
void
setQrcodeState
(
Integer
qrcodeState
)
{
this
.
qrcodeState
=
qrcodeState
;
}
@Override
public
String
toString
()
{
return
"ClassifyQrcodeVO{"
+
...
...
@@ -158,6 +169,7 @@ public class ClassifyQrcodeVO implements Serializable {
", weixinQrcodeId="
+
weixinQrcodeId
+
", weixinGroupId='"
+
weixinGroupId
+
'\''
+
", keywordCount="
+
keywordCount
+
", qrcodeState="
+
qrcodeState
+
", createdTime="
+
createdTime
+
'}'
;
}
...
...
pcloud-service-book/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
View file @
0bc44012
...
...
@@ -642,4 +642,10 @@
from book_group_qrcode where classify_id = #{classifyId}
</select>
<select
id=
"getQrcodeByClassifyId"
parameterType=
"long"
resultType=
"com.pcloud.book.group.vo.ClassifyQrcodeVO"
>
select id, classify_id as classifyId, group_name as groupName, user_number as userNumber, weixin_qrcode_id as weixinQrcodeId,
weixin_group_id weixinGroupId, create_time as createdTime, qrcode_state as qrcodeState, qrcode_url as qrcodeUrl
from book_group_qrcode where classify_id = #{classifyId} and is_delete = 0
</select>
</mapper>
\ No newline at end of file
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