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
54f52a71
Commit
54f52a71
authored
Mar 02, 2020
by
吴博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
阶段顺序发送
parent
ed5ff7c7
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
83 additions
and
12 deletions
+83
-12
PersonalStageBiz.java
...a/com/pcloud/book/personalstage/biz/PersonalStageBiz.java
+1
-1
PersonalStageBizImpl.java
...oud/book/personalstage/biz/impl/PersonalStageBizImpl.java
+26
-7
PersonalStageReplyDao.java
.../pcloud/book/personalstage/dao/PersonalStageReplyDao.java
+3
-0
PersonalStageReplyDaoImpl.java
...ook/personalstage/dao/impl/PersonalStageReplyDaoImpl.java
+9
-0
PersonalStage.java
...a/com/pcloud/book/personalstage/entity/PersonalStage.java
+4
-0
SendModeEnum.java
...ava/com/pcloud/book/personalstage/enums/SendModeEnum.java
+19
-0
PersonalStage.xml
...src/main/resources/mapper/personalstage/PersonalStage.xml
+9
-3
PersonalStageReply.xml
...ain/resources/mapper/personalstage/PersonalStageReply.xml
+11
-0
PersonalStageUser.xml
...main/resources/mapper/personalstage/PersonalStageUser.xml
+1
-1
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/biz/PersonalStageBiz.java
View file @
54f52a71
...
...
@@ -50,7 +50,7 @@ public interface PersonalStageBiz {
PersonalStageUser
nextStageAddStageUserAndWakeupDelay
(
String
robotId
,
String
userWxId
,
String
ip
,
Long
personalStageId
);
void
sendNotKeywordReply
(
String
robotId
,
String
userWxId
,
String
ip
,
Long
personalStageId
,
Long
personalStageUserId
,
String
userSendContent
);
void
sendNotKeywordReply
(
String
robotId
,
String
userWxId
,
String
ip
,
Long
personalStageId
,
Long
personalStageUserId
,
String
userSendContent
,
Integer
sendMode
,
Integer
notKeywordSendCount
);
void
sendNotKeywordFusingReply
(
String
robotId
,
String
userWxId
,
String
ip
,
Long
personalStageId
,
Long
personalStageUserId
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/biz/impl/PersonalStageBizImpl.java
View file @
54f52a71
...
...
@@ -27,6 +27,7 @@ import com.pcloud.book.personalstage.entity.PersonalStageUser;
import
com.pcloud.book.personalstage.entity.PersonalStageWakeup
;
import
com.pcloud.book.personalstage.enums.JumpTypeEnum
;
import
com.pcloud.book.personalstage.enums.PersonalStageUserStateEnum
;
import
com.pcloud.book.personalstage.enums.SendModeEnum
;
import
com.pcloud.book.personalstage.enums.StageReplyRelevEnum
;
import
com.pcloud.book.personalstage.utils.CacheUtils
;
import
com.pcloud.common.core.aspect.ParamLog
;
...
...
@@ -64,6 +65,8 @@ import java.util.Map;
import
java.util.Random
;
import
java.util.stream.Collectors
;
import
io.swagger.models.auth.In
;
@Component
(
"personalStageBiz"
)
public
class
PersonalStageBizImpl
implements
PersonalStageBiz
{
...
...
@@ -368,12 +371,12 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
//走正常逻辑非关键词回复并且更新记录
if
(
PersonalStageUserStateEnum
.
NORMAL
.
value
.
equals
(
last
.
getState
())
||
PersonalStageUserStateEnum
.
WAKEUP
.
value
.
equals
(
last
.
getState
())){
LOGGER
.
info
(
"走正常逻辑非关键词回复并且更新记录
"
);
LOGGER
.
info
(
"走正常逻辑非关键词回复并且更新记录
notKeywordSendCount:{}"
,
notKeywordSendCount
);
//如果是正常状态或者唤醒状态才回复,并且更新状态为正常状态
last
.
setNotKeywordSendCount
(
notKeywordSendCount
+
1
);
last
.
setState
(
PersonalStageUserStateEnum
.
NORMAL
.
value
);
personalStageUserDao
.
update
(
last
);
sendNotKeywordReply
(
robotId
,
userWxId
,
ip
,
personalStage
.
getId
(),
last
.
getId
(),
content
);
sendNotKeywordReply
(
robotId
,
userWxId
,
ip
,
personalStage
.
getId
(),
last
.
getId
(),
content
,
personalStage
.
getSendMode
(),
notKeywordSendCount
);
}
}
}
...
...
@@ -382,10 +385,10 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
if
(!
iskeyword
&&!
hasRecord
){
//走正常非关键词回复并且新增记录
LOGGER
.
info
(
"走正常非关键词回复并且新增记录"
);
sendNotKeywordReply
(
robotId
,
userWxId
,
ip
,
personalStage
.
getId
(),
last
.
getId
(),
content
);
PcloudRobot
pcloudRobot
=
pcloudRobotDao
.
getByWxId
(
robotId
);
Long
robotClassifyId
=
pcloudRobot
.
getRobotType
().
longValue
();
PersonalStage
firstStage
=
personalStageDao
.
getFirstStage
(
robotClassifyId
);
sendNotKeywordReply
(
robotId
,
userWxId
,
ip
,
personalStage
.
getId
(),
last
.
getId
(),
content
,
firstStage
.
getSendMode
(),
0
);
PersonalStageUser
personalStageUser
=
new
PersonalStageUser
();
personalStageUser
.
setRobotId
(
robotId
);
personalStageUser
.
setWxId
(
userWxId
);
...
...
@@ -569,17 +572,33 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
@ParamLog
(
"非关键词回复"
)
@Override
public
void
sendNotKeywordReply
(
String
robotId
,
String
userWxId
,
String
ip
,
Long
personalStageId
,
Long
personalStageUserId
,
String
userSendContent
)
{
public
void
sendNotKeywordReply
(
String
robotId
,
String
userWxId
,
String
ip
,
Long
personalStageId
,
Long
personalStageUserId
,
String
userSendContent
,
Integer
sendMode
,
Integer
count
)
{
if
(
"重置体验"
.
equals
(
userSendContent
)){
return
;
}
PersonalStageReply
personalStageReply
=
null
;
List
<
Long
>
ids
=
personalStageReplyDao
.
getIdsByRelevance
(
StageReplyRelevEnum
.
STAGE_NOT_KEYWORD
.
value
,
personalStageId
);
Long
replyId
=
null
;
if
(
ListUtils
.
isEmpty
(
ids
)){
return
;
}
Random
random
=
new
Random
();
Long
replyId
=
ids
.
get
(
random
.
nextInt
(
ids
.
size
()));
PersonalStageReply
personalStageReply
=
personalStageReplyDao
.
getById
(
replyId
);
if
(
SendModeEnum
.
RADOM
.
value
.
equals
(
sendMode
)){
Random
random
=
new
Random
();
replyId
=
ids
.
get
(
random
.
nextInt
(
ids
.
size
()));
personalStageReply
=
personalStageReplyDao
.
getById
(
replyId
);
}
else
{
if
(
null
!=
count
){
if
((
count
).
intValue
()
>=
ids
.
size
()){
count
=
ids
.
size
()
-
1
;
}
LOGGER
.
info
(
StageReplyRelevEnum
.
STAGE_NOT_KEYWORD
.
value
+
":"
+
personalStageId
+
":"
+
count
);
personalStageReply
=
personalStageReplyDao
.
personalStageReply4Order
(
StageReplyRelevEnum
.
STAGE_NOT_KEYWORD
.
value
,
personalStageId
,
count
);
replyId
=
personalStageReply
.
getId
();
}
else
{
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"查询到用户发送的非关键词数量为0"
);
}
}
List
<
PersonalStageReplyItem
>
items
=
personalStageReplyItemDao
.
getListByReplyIds
(
Arrays
.
asList
(
replyId
));
if
(
ListUtils
.
isEmpty
(
items
)){
return
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/dao/PersonalStageReplyDao.java
View file @
54f52a71
...
...
@@ -16,4 +16,6 @@ public interface PersonalStageReplyDao extends BaseDao<PersonalStageReply> {
List
<
PersonalStageReply
>
getListByPersonalStageId
(
Long
personalStageId
);
List
<
Long
>
getIdsByRelevance
(
Integer
relevanceType
,
Long
relevanceId
);
PersonalStageReply
personalStageReply4Order
(
Integer
value
,
Long
personalStageId
,
Integer
count
);
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/dao/impl/PersonalStageReplyDaoImpl.java
View file @
54f52a71
...
...
@@ -39,4 +39,13 @@ public class PersonalStageReplyDaoImpl extends BaseDaoImpl<PersonalStageReply> i
map
.
put
(
"relevanceId"
,
relevanceId
);
return
super
.
getSessionTemplate
().
selectList
(
getStatement
(
"getIdsByRelevance"
),
map
);
}
@Override
public
PersonalStageReply
personalStageReply4Order
(
Integer
relevanceType
,
Long
personalStageId
,
Integer
count
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"relevanceType"
,
relevanceType
);
map
.
put
(
"relevanceId"
,
personalStageId
);
map
.
put
(
"count"
,
count
);
return
super
.
getSessionTemplate
().
selectOne
(
getStatement
(
"personalStageReply4Order"
),
map
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/entity/PersonalStage.java
View file @
54f52a71
...
...
@@ -42,4 +42,7 @@ public class PersonalStage extends BaseEntity {
@ApiModelProperty
(
"唤醒设置集合"
)
private
List
<
PersonalStageWakeup
>
personalStageWakeups
;
@ApiModelProperty
(
"回复方式 1 随机,2顺序"
)
private
Integer
sendMode
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/enums/SendModeEnum.java
0 → 100644
View file @
54f52a71
package
com
.
pcloud
.
book
.
personalstage
.
enums
;
public
enum
SendModeEnum
{
/**
* 随机发送
*/
RADOM
(
1
),
/**
* 顺序发送
*/
ORDER
(
2
);
public
final
Integer
value
;
SendModeEnum
(
Integer
value
)
{
this
.
value
=
value
;
}
}
pcloud-service-book/src/main/resources/mapper/personalstage/PersonalStage.xml
View file @
54f52a71
...
...
@@ -12,10 +12,11 @@
<result
property=
"seqNum"
column=
"seq_num"
jdbcType=
"INTEGER"
/>
<result
property=
"showProgress"
column=
"show_progress"
jdbcType=
"INTEGER"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"sendMode"
column=
"send_mode"
jdbcType=
"INTEGER"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, name, not_keyword_fusing_count, not_keyword_fusing_time, robot_classify_id, paper_id, seq_num, show_progress, create_time
id, name, not_keyword_fusing_count, not_keyword_fusing_time, robot_classify_id, paper_id, seq_num, show_progress, create_time
,send_mode
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.Long"
>
...
...
@@ -40,7 +41,8 @@
paper_id,
seq_num,
show_progress,
create_time
create_time,
send_mode
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
#{name,jdbcType=VARCHAR},
...
...
@@ -50,7 +52,8 @@
#{paperId},
#{seqNum,jdbcType=INTEGER},
#{showProgress,jdbcType=INTEGER},
NOW()
NOW(),
#{sendMode}
</trim>
</insert>
...
...
@@ -76,6 +79,9 @@
<if
test=
"showProgress != null"
>
show_progress = #{showProgress,jdbcType=INTEGER},
</if>
<if
test=
"sendMode != null"
>
send_mode = #{sendMode,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
...
...
pcloud-service-book/src/main/resources/mapper/personalstage/PersonalStageReply.xml
View file @
54f52a71
...
...
@@ -98,4 +98,14 @@
where relevance_id=#{relevanceId}
and relevance_type=#{relevanceType}
</select>
<select
id=
"personalStageReply4Order"
parameterType=
"map"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from personal_stage_reply
where relevance_id=#{relevanceId}
and relevance_type=#{relevanceType}
order by create_time asc
limit #{count},1
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/personalstage/PersonalStageUser.xml
View file @
54f52a71
...
...
@@ -117,7 +117,7 @@
<if
test=
"personalStageId!=null"
>
and personal_stage_id=#{personalStageId}
</if>
order by
create_time
desc
order by
id
desc
LIMIT 0,1
</select>
...
...
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