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
3ea1b778
Commit
3ea1b778
authored
Sep 03, 2019
by
裴大威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat add interface getChangeGroupQrCode
parent
fff44a28
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
104 additions
and
3 deletions
+104
-3
GroupQrcodeBiz.java
...c/main/java/com/pcloud/book/group/biz/GroupQrcodeBiz.java
+5
-0
GroupQrcodeBizImpl.java
...va/com/pcloud/book/group/biz/impl/GroupQrcodeBizImpl.java
+68
-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
+6
-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 @
3ea1b778
...
@@ -23,6 +23,11 @@ import java.util.Map;
...
@@ -23,6 +23,11 @@ import java.util.Map;
public
interface
GroupQrcodeBiz
{
public
interface
GroupQrcodeBiz
{
/**
/**
* 查询是否需要切群,若需要则返回新群,不需要则为空前端展示客服二维码
*/
String
getChangeGroupQrCode
(
Long
classifyId
);
/**
* 测试替换群二维码,不发生产
* 测试替换群二维码,不发生产
*/
*/
void
updateGroupQrcode
(
UpdateGroupQrcodeRequestVO
vo
);
void
updateGroupQrcode
(
UpdateGroupQrcodeRequestVO
vo
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/GroupQrcodeBizImpl.java
View file @
3ea1b778
...
@@ -69,6 +69,7 @@ import java.util.Date;
...
@@ -69,6 +69,7 @@ import java.util.Date;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.Optional
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.Executors
;
...
@@ -189,6 +190,64 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -189,6 +190,64 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
}
}
@Override
@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
@ParamLog
(
"updateGroupQrcode"
)
@ParamLog
(
"updateGroupQrcode"
)
public
void
updateGroupQrcode
(
UpdateGroupQrcodeRequestVO
vo
)
{
public
void
updateGroupQrcode
(
UpdateGroupQrcodeRequestVO
vo
)
{
this
.
groupQrcodeDao
.
updateGroupQrcode
(
vo
.
getGroupQrcodeId
(),
vo
.
getQrcodeUrl
(),
vo
.
getUserId
());
this
.
groupQrcodeDao
.
updateGroupQrcode
(
vo
.
getGroupQrcodeId
(),
vo
.
getQrcodeUrl
(),
vo
.
getUserId
());
...
@@ -513,7 +572,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -513,7 +572,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
*/
*/
@ParamLog
(
"重新分配一个群"
)
@ParamLog
(
"重新分配一个群"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
addWechatGroup
(
Long
classifyId
,
Long
groupQrcodeId
)
{
public
String
addWechatGroup
(
Long
classifyId
,
Long
groupQrcodeId
)
{
Integer
generation
=
null
;
Integer
generation
=
null
;
ClassifyVO
classifyVOOne
=
bookGroupClassifyBiz
.
getClassify
(
classifyId
);
ClassifyVO
classifyVOOne
=
bookGroupClassifyBiz
.
getClassify
(
classifyId
);
if
(
classifyVOOne
!=
null
&&
classifyVOOne
.
getBookGroupId
()
!=
null
)
{
if
(
classifyVOOne
!=
null
&&
classifyVOOne
.
getBookGroupId
()
!=
null
)
{
...
@@ -526,9 +585,13 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -526,9 +585,13 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
log
.
info
(
"[重新分配一个群] : oneQrcode:{}"
,
oneQrcode
);
log
.
info
(
"[重新分配一个群] : oneQrcode:{}"
,
oneQrcode
);
if
(
oneQrcode
!=
null
)
{
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
);
log
.
info
(
"[重新分配一个群] : groupQrcodeDao.changeQrcodeState number:{}"
,
number
);
if
(
number
>
0
){
// 当该分类不存在群的时候分配一个
if
(
number
>
0
||
null
==
groupQrcodeId
){
//获取标签对应基本信息
//获取标签对应基本信息
GroupNameAndMaxSeqDTO
groupNameAndMaxSeqDTO
=
bookGroupClassifyBiz
.
getGroupNameAndMaxSeq
(
classifyId
);
GroupNameAndMaxSeqDTO
groupNameAndMaxSeqDTO
=
bookGroupClassifyBiz
.
getGroupNameAndMaxSeq
(
classifyId
);
log
.
info
(
"[重新分配一个群] : groupNameAndMaxSeqDTO:{}"
,
groupNameAndMaxSeqDTO
);
log
.
info
(
"[重新分配一个群] : groupNameAndMaxSeqDTO:{}"
,
groupNameAndMaxSeqDTO
);
...
@@ -572,8 +635,10 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -572,8 +635,10 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
String
ip
=
Optional
.
ofNullable
(
groupVersion
.
get
(
wechatGroupId
)).
orElse
(
new
BookWxQrcodeDTO
()).
getWechatGroupIp
();
String
ip
=
Optional
.
ofNullable
(
groupVersion
.
get
(
wechatGroupId
)).
orElse
(
new
BookWxQrcodeDTO
()).
getWechatGroupIp
();
SendWeixinRequestTools
.
changeGroupName
(
oneQrcode
.
getRobotWxId
(),
wechatGroupId
,
groupName
,
ip
);
SendWeixinRequestTools
.
changeGroupName
(
oneQrcode
.
getRobotWxId
(),
wechatGroupId
,
groupName
,
ip
);
}
}
return
oneQrcode
.
getQrcodeUrl
();
}
}
}
}
return
StringUtil
.
EMPTY
;
}
}
@ParamLog
(
"将二维码改为已满群"
)
@ParamLog
(
"将二维码改为已满群"
)
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
View file @
3ea1b778
...
@@ -241,4 +241,6 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> {
...
@@ -241,4 +241,6 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> {
List
<
ClassifyQrcodeVO
>
getQrcodeByClassify
(
Long
classifyId
);
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 @
3ea1b778
...
@@ -204,6 +204,10 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou
...
@@ -204,6 +204,10 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getQrcodeByClassify"
),
classifyId
);
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getQrcodeByClassify"
),
classifyId
);
}
}
public
List
<
ClassifyQrcodeVO
>
getQrcodeByClassifyId
(
Long
classifyId
)
{
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getQrcodeByClassifyId"
),
classifyId
);
}
@Override
@Override
public
List
<
Long
>
getIdsByBookId
(
Long
bookId
)
{
public
List
<
Long
>
getIdsByBookId
(
Long
bookId
)
{
return
getSessionTemplate
().
selectList
(
getStatement
(
"getIdsByBookId"
),
bookId
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getIdsByBookId"
),
bookId
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/GroupQrcodeFacadeImpl.java
View file @
3ea1b778
...
@@ -67,6 +67,12 @@ public class GroupQrcodeFacadeImpl implements GroupQrcodeFacade {
...
@@ -67,6 +67,12 @@ public class GroupQrcodeFacadeImpl implements GroupQrcodeFacade {
return
new
ResponseDto
<>();
return
new
ResponseDto
<>();
}
}
@GetMapping
(
"getChangeGroupQrCode"
)
public
ResponseDto
<
String
>
getChangeGroupQrCode
(
@RequestParam
(
"classifyId"
)
Long
classifyId
)
{
String
qrCodeUrl
=
groupQrcodeBiz
.
getChangeGroupQrCode
(
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/vo/ClassifyQrcodeVO.java
View file @
3ea1b778
...
@@ -46,6 +46,9 @@ public class ClassifyQrcodeVO implements Serializable {
...
@@ -46,6 +46,9 @@ public class ClassifyQrcodeVO implements Serializable {
@ApiModelProperty
(
"关键词识别次数"
)
@ApiModelProperty
(
"关键词识别次数"
)
private
Integer
keywordCount
;
private
Integer
keywordCount
;
@ApiModelProperty
(
value
=
"二维码状态"
,
hidden
=
true
)
private
Integer
qrcodeState
;
@JsonFormat
(
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
timezone
=
"GMT+8"
...
@@ -145,6 +148,14 @@ public class ClassifyQrcodeVO implements Serializable {
...
@@ -145,6 +148,14 @@ public class ClassifyQrcodeVO implements Serializable {
this
.
createdTime
=
createdTime
;
this
.
createdTime
=
createdTime
;
}
}
public
Integer
getQrcodeState
()
{
return
qrcodeState
;
}
public
void
setQrcodeState
(
Integer
qrcodeState
)
{
this
.
qrcodeState
=
qrcodeState
;
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
"ClassifyQrcodeVO{"
+
return
"ClassifyQrcodeVO{"
+
...
@@ -158,6 +169,7 @@ public class ClassifyQrcodeVO implements Serializable {
...
@@ -158,6 +169,7 @@ public class ClassifyQrcodeVO implements Serializable {
", weixinQrcodeId="
+
weixinQrcodeId
+
", weixinQrcodeId="
+
weixinQrcodeId
+
", weixinGroupId='"
+
weixinGroupId
+
'\''
+
", weixinGroupId='"
+
weixinGroupId
+
'\''
+
", keywordCount="
+
keywordCount
+
", keywordCount="
+
keywordCount
+
", qrcodeState="
+
qrcodeState
+
", createdTime="
+
createdTime
+
", createdTime="
+
createdTime
+
'}'
;
'}'
;
}
}
...
...
pcloud-service-book/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
View file @
3ea1b778
...
@@ -642,4 +642,10 @@
...
@@ -642,4 +642,10 @@
from book_group_qrcode where classify_id = #{classifyId}
from book_group_qrcode where classify_id = #{classifyId}
</select>
</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>
</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