Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
poc-api
Project
Project
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
poc
poc-api
Commits
9da0d28a
Commit
9da0d28a
authored
Nov 07, 2024
by
Roger Wu
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'release' of
ssh://gitlab.gsstcloud.com:10022/poc/poc-api
into release
parents
af30a519
b24e3e65
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
537 additions
and
179 deletions
+537
-179
AgentApplicationMallService.java
...nt_application/aggregate/AgentApplicationMallService.java
+8
-2
AgentApplicationMallServiceImpl.java
...ation/aggregate/impl/AgentApplicationMallServiceImpl.java
+10
-2
BizAgentApplicationMallConvert.java
...t_application/convert/BizAgentApplicationMallConvert.java
+10
-18
MemberCollectQuery.sql
...cn/com/poc/agent_application/query/MemberCollectQuery.sql
+5
-3
AgentApplicationInfoRestImpl.java
...t_application/rest/impl/AgentApplicationInfoRestImpl.java
+5
-0
BizAgentApplicationMallRestImpl.java
...pplication/rest/impl/BizAgentApplicationMallRestImpl.java
+13
-9
BizAgentApplicationMallServiceImpl.java
...tion/service/impl/BizAgentApplicationMallServiceImpl.java
+3
-0
CurrentUserRolePermission.java
.../com/poc/common/annotation/CurrentUserRolePermission.java
+24
-0
RedisLimit.java
src/main/java/cn/com/poc/common/annotation/RedisLimit.java
+83
-0
RedisLimitAspect.java
src/main/java/cn/com/poc/common/aspect/RedisLimitAspect.java
+91
-0
AgentApplicationServiceImpl.java
...oc/expose/aggregate/impl/AgentApplicationServiceImpl.java
+1
-1
AgentApplicationRest.java
...ain/java/cn/com/poc/expose/rest/AgentApplicationRest.java
+1
-1
AgentApplicationRestImpl.java
...cn/com/poc/expose/rest/impl/AgentApplicationRestImpl.java
+15
-1
AgentApplicationClickEventMessage.java
...poc/message/entity/AgentApplicationClickEventMessage.java
+16
-0
AgentApplicationConsumerService.java
.../poc/message/service/AgentApplicationConsumerService.java
+9
-0
AgentApplicationProducerService.java
.../poc/message/service/AgentApplicationProducerService.java
+10
-0
AgentApplicationConsumerServiceImpl.java
...age/service/impl/AgentApplicationConsumerServiceImpl.java
+36
-0
AgentApplicationProducerServiceImpl.java
...age/service/impl/AgentApplicationProducerServiceImpl.java
+18
-0
AgentApplicationTopic.java
.../java/cn/com/poc/message/topic/AgentApplicationTopic.java
+11
-0
MemberInfoDto.java
src/main/java/cn/com/poc/user/dto/MemberInfoDto.java
+2
-0
BizMemberInfoRest.java
src/main/java/cn/com/poc/user/rest/BizMemberInfoRest.java
+8
-0
BizMemberInfoRestImpl.java
...java/cn/com/poc/user/rest/impl/BizMemberInfoRestImpl.java
+13
-0
exception.properties
...in/resources/framemax-config/i18n/en/exception.properties
+3
-2
exception.properties
...resources/framemax-config/i18n/zh_cn/exception.properties
+71
-70
exception.properties
...resources/framemax-config/i18n/zh_tw/exception.properties
+71
-70
No files found.
src/main/java/cn/com/poc/agent_application/aggregate/AgentApplicationMallService.java
View file @
9da0d28a
...
@@ -4,8 +4,14 @@ package cn.com.poc.agent_application.aggregate;
...
@@ -4,8 +4,14 @@ package cn.com.poc.agent_application.aggregate;
public
interface
AgentApplicationMallService
{
public
interface
AgentApplicationMallService
{
/**
/**
* 收藏/取消收藏应用广场中的应用
* 收藏/取消收藏应用广场中的应用
*
*/
* */
void
collectOrCancelAgentInMall
(
Integer
id
)
throws
Exception
;
void
collectOrCancelAgentInMall
(
Integer
id
)
throws
Exception
;
/**
* 添加浏览量
*
* @param agentPublishId 应用广场发布id
*/
void
addClickNumber
(
Integer
agentPublishId
)
throws
Exception
;
}
}
src/main/java/cn/com/poc/agent_application/aggregate/impl/AgentApplicationMallServiceImpl.java
View file @
9da0d28a
package
cn
.
com
.
poc
.
agent_application
.
aggregate
.
impl
;
package
cn
.
com
.
poc
.
agent_application
.
aggregate
.
impl
;
import
cn.com.poc.agent_application.aggregate.AgentApplicationMallService
;
import
cn.com.poc.agent_application.aggregate.AgentApplicationMallService
;
import
cn.com.poc.agent_application.convert.BizAgentApplicationMallConvert
;
import
cn.com.poc.agent_application.dto.BizAgentApplicationMallDto
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationMallEntity
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationMallEntity
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationPublishEntity
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationPublishEntity
;
import
cn.com.poc.agent_application.entity.BizMemberAgentApplicationCollectEntity
;
import
cn.com.poc.agent_application.entity.BizMemberAgentApplicationCollectEntity
;
...
@@ -85,4 +83,14 @@ public class AgentApplicationMallServiceImpl implements AgentApplicationMallServ
...
@@ -85,4 +83,14 @@ public class AgentApplicationMallServiceImpl implements AgentApplicationMallServ
}
}
bizAgentApplicationMallService
.
update
(
mallEntity
);
bizAgentApplicationMallService
.
update
(
mallEntity
);
}
}
@Override
public
void
addClickNumber
(
Integer
agentPublishId
)
throws
Exception
{
BizAgentApplicationMallEntity
mallEntity
=
bizAgentApplicationMallService
.
getByAgentPublishId
(
agentPublishId
);
if
(
mallEntity
==
null
)
{
return
;
}
mallEntity
.
setClickNumber
(
mallEntity
.
getClickNumber
()
+
1
);
bizAgentApplicationMallService
.
update
(
mallEntity
);
}
}
}
src/main/java/cn/com/poc/agent_application/convert/BizAgentApplicationMallConvert.java
View file @
9da0d28a
...
@@ -119,8 +119,8 @@ public class BizAgentApplicationMallConvert {
...
@@ -119,8 +119,8 @@ public class BizAgentApplicationMallConvert {
BizAgentApplicationPublishService
agentApplicationPublishService
=
SpringUtils
.
getBean
(
BizAgentApplicationPublishServiceImpl
.
class
);
BizAgentApplicationPublishService
agentApplicationPublishService
=
SpringUtils
.
getBean
(
BizAgentApplicationPublishServiceImpl
.
class
);
BizAgentApplicationPublishEntity
publishEntity
=
agentApplicationPublishService
.
get
(
item
.
getAgentPublishId
());
BizAgentApplicationPublishEntity
publishEntity
=
agentApplicationPublishService
.
get
(
item
.
getAgentPublishId
());
AgentApplicationBaseInfo
baseInfo
=
new
AgentApplicationBaseInfo
();
if
(
publishEntity
!=
null
)
{
if
(
publishEntity
!=
null
)
{
AgentApplicationBaseInfo
baseInfo
=
new
AgentApplicationBaseInfo
();
baseInfo
.
setMemberId
(
publishEntity
.
getMemberId
());
baseInfo
.
setMemberId
(
publishEntity
.
getMemberId
());
baseInfo
.
setAgentId
(
publishEntity
.
getAgentId
());
baseInfo
.
setAgentId
(
publishEntity
.
getAgentId
());
baseInfo
.
setAgentTitle
(
publishEntity
.
getAgentTitle
());
baseInfo
.
setAgentTitle
(
publishEntity
.
getAgentTitle
());
...
@@ -129,10 +129,8 @@ public class BizAgentApplicationMallConvert {
...
@@ -129,10 +129,8 @@ public class BizAgentApplicationMallConvert {
baseInfo
.
setAgentSystem
(
publishEntity
.
getAgentSystem
());
baseInfo
.
setAgentSystem
(
publishEntity
.
getAgentSystem
());
baseInfo
.
setAgentPublishStatus
(
publishEntity
.
getAgentPublishStatus
());
baseInfo
.
setAgentPublishStatus
(
publishEntity
.
getAgentPublishStatus
());
baseInfo
.
setPublishTime
(
publishEntity
.
getPublishTime
());
baseInfo
.
setPublishTime
(
publishEntity
.
getPublishTime
());
}
AgentApplicationCommConfig
commConfig
=
new
AgentApplicationCommConfig
();
AgentApplicationCommConfig
commConfig
=
new
AgentApplicationCommConfig
();
if
(
publishEntity
!=
null
)
{
commConfig
.
setPreamble
(
publishEntity
.
getPreamble
());
commConfig
.
setPreamble
(
publishEntity
.
getPreamble
());
commConfig
.
setFeaturedQuestions
(
publishEntity
.
getFeaturedQuestions
());
commConfig
.
setFeaturedQuestions
(
publishEntity
.
getFeaturedQuestions
());
commConfig
.
setContinuousQuestionStatus
(
publishEntity
.
getContinuousQuestionStatus
());
commConfig
.
setContinuousQuestionStatus
(
publishEntity
.
getContinuousQuestionStatus
());
...
@@ -140,32 +138,26 @@ public class BizAgentApplicationMallConvert {
...
@@ -140,32 +138,26 @@ public class BizAgentApplicationMallConvert {
commConfig
.
setContinuousQuestionTurn
(
publishEntity
.
getContinuousQuestionTurn
());
commConfig
.
setContinuousQuestionTurn
(
publishEntity
.
getContinuousQuestionTurn
());
commConfig
.
setVariableStructure
(
publishEntity
.
getVariableStructure
());
commConfig
.
setVariableStructure
(
publishEntity
.
getVariableStructure
());
commConfig
.
setIsLongMemory
(
publishEntity
.
getIsLongMemory
());
commConfig
.
setIsLongMemory
(
publishEntity
.
getIsLongMemory
());
}
AgentApplicationKnowledgeConfig
knowledgeConfig
=
new
AgentApplicationKnowledgeConfig
();
AgentApplicationKnowledgeConfig
knowledgeConfig
=
new
AgentApplicationKnowledgeConfig
();
if
(
publishEntity
!=
null
)
{
knowledgeConfig
.
setKnowledgeIds
(
publishEntity
.
getKnowledgeIds
());
knowledgeConfig
.
setKnowledgeIds
(
publishEntity
.
getKnowledgeIds
());
}
AgentApplicationCommModelConfig
commModelConfig
=
new
AgentApplicationCommModelConfig
();
AgentApplicationCommModelConfig
commModelConfig
=
new
AgentApplicationCommModelConfig
();
if
(
publishEntity
!=
null
)
{
commModelConfig
.
setLargeModel
(
publishEntity
.
getLargeModel
());
commModelConfig
.
setLargeModel
(
publishEntity
.
getLargeModel
());
commModelConfig
.
setTopP
(
publishEntity
.
getTopP
());
commModelConfig
.
setTopP
(
publishEntity
.
getTopP
());
commModelConfig
.
setCommunicationTurn
(
publishEntity
.
getCommunicationTurn
());
commModelConfig
.
setCommunicationTurn
(
publishEntity
.
getCommunicationTurn
());
dto
.
setUnitIds
(
publishEntity
.
getUnitIds
());
dto
.
setBaseInfo
(
baseInfo
);
dto
.
setCommConfig
(
commConfig
);
dto
.
setKnowledgeConfig
(
knowledgeConfig
);
dto
.
setCommModelConfig
(
commModelConfig
);
}
}
dto
.
setId
(
item
.
getId
());
dto
.
setId
(
item
.
getId
());
dto
.
setAgentType
(
item
.
getAgentType
());
dto
.
setAgentType
(
item
.
getAgentType
());
dto
.
setCollectNumber
(
item
.
getCollectNumber
());
dto
.
setCollectNumber
(
item
.
getCollectNumber
());
dto
.
setClickNumber
(
item
.
getClickNumber
());
dto
.
setClickNumber
(
item
.
getClickNumber
());
dto
.
setBaseInfo
(
baseInfo
);
dto
.
setCommConfig
(
commConfig
);
dto
.
setKnowledgeConfig
(
knowledgeConfig
);
dto
.
setCommModelConfig
(
commModelConfig
);
if
(
publishEntity
!=
null
)
{
dto
.
setUnitIds
(
publishEntity
.
getUnitIds
());
}
dto
.
setIsCopy
(
item
.
getIsCopy
());
dto
.
setIsCopy
(
item
.
getIsCopy
());
dto
.
setIsSale
(
item
.
getIsSale
());
dto
.
setIsSale
(
item
.
getIsSale
());
dto
.
setPopularity
(
item
.
getPopularity
());
dto
.
setPopularity
(
item
.
getPopularity
());
...
...
src/main/java/cn/com/poc/agent_application/query/MemberCollectQuery.sql
View file @
9da0d28a
select
baap
.
member_id
as
member_id
,
select
distinct
baap
.
member_id
as
member_id
,
baap
.
agent_id
as
agent_id
,
baap
.
agent_id
as
agent_id
,
baap
.
agent_title
as
agent_title
,
baap
.
agent_title
as
agent_title
,
baap
.
agent_desc
as
agent_desc
,
baap
.
agent_desc
as
agent_desc
,
baap
.
agent_avatar
as
agent_avatar
baap
.
agent_avatar
as
agent_avatar
from
biz_member_agent_application_collect
bmaac
from
biz_member_agent_application_collect
bmaac
left
join
biz_agent_application_publish
baap
on
baap
.
agent_id
=
bmaac
.
agent_id
and
baap
.
is_deleted
=
'N'
left
join
biz_agent_application_publish
baap
on
baap
.
agent_id
=
bmaac
.
agent_id
where
bmaac
.
is_deleted
=
'N'
<<
and
bmaac
.
is_collect
=
:
isCollect
>>
where
baap
.
is_deleted
=
'N'
and
bmaac
.
is_deleted
=
'N'
<<
and
bmaac
.
is_collect
=
:
isCollect
>>
<<
and
bmaac
.
member_id
=
:
memberId
>>
<<
and
bmaac
.
member_id
=
:
memberId
>>
order
by
baap
.
created_time
desc
order
by
baap
.
created_time
desc
\ No newline at end of file
src/main/java/cn/com/poc/agent_application/rest/impl/AgentApplicationInfoRestImpl.java
View file @
9da0d28a
...
@@ -7,6 +7,7 @@ import cn.com.poc.agent_application.entity.*;
...
@@ -7,6 +7,7 @@ import cn.com.poc.agent_application.entity.*;
import
cn.com.poc.agent_application.query.AgentApplicationInfoQueryCondition
;
import
cn.com.poc.agent_application.query.AgentApplicationInfoQueryCondition
;
import
cn.com.poc.agent_application.rest.AgentApplicationInfoRest
;
import
cn.com.poc.agent_application.rest.AgentApplicationInfoRest
;
import
cn.com.poc.agent_application.service.*
;
import
cn.com.poc.agent_application.service.*
;
import
cn.com.poc.common.annotation.RedisLimit
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.BlContext
;
...
@@ -347,6 +348,7 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
...
@@ -347,6 +348,7 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
}
}
@Override
@Override
@RedisLimit
(
key
=
"collect:agent_person"
,
currentUser
=
true
,
count
=
1
,
timeout
=
1
,
exceptionInfo
=
"exception/too.many.requests"
)
public
void
collectOrCancelAgentInPerson
(
String
agentId
)
throws
Exception
{
public
void
collectOrCancelAgentInPerson
(
String
agentId
)
throws
Exception
{
Assert
.
notNull
(
agentId
);
Assert
.
notNull
(
agentId
);
agentApplicationInfoService
.
collectOrCancelAgentInPerson
(
agentId
);
agentApplicationInfoService
.
collectOrCancelAgentInPerson
(
agentId
);
...
@@ -359,6 +361,9 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
...
@@ -359,6 +361,9 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
if
(
MapUtils
.
isEmpty
(
map
))
{
if
(
MapUtils
.
isEmpty
(
map
))
{
BizAgentApplicationInfoEntity
infoEntity
=
bizAgentApplicationInfoService
.
getByAgentId
(
agentId
);
BizAgentApplicationInfoEntity
infoEntity
=
bizAgentApplicationInfoService
.
getByAgentId
(
agentId
);
List
<
Variable
>
variableStructure
=
infoEntity
.
getVariableStructure
();
List
<
Variable
>
variableStructure
=
infoEntity
.
getVariableStructure
();
if
(
CollectionUtils
.
isEmpty
(
variableStructure
))
{
return
result
;
}
for
(
Variable
variable
:
variableStructure
)
{
for
(
Variable
variable
:
variableStructure
)
{
AgentApplicationValueMemoryDto
valueMemoryDto
=
new
AgentApplicationValueMemoryDto
();
AgentApplicationValueMemoryDto
valueMemoryDto
=
new
AgentApplicationValueMemoryDto
();
valueMemoryDto
.
setKey
(
variable
.
getKey
());
valueMemoryDto
.
setKey
(
variable
.
getKey
());
...
...
src/main/java/cn/com/poc/agent_application/rest/impl/BizAgentApplicationMallRestImpl.java
View file @
9da0d28a
...
@@ -11,13 +11,17 @@ import cn.com.poc.agent_application.entity.BizAgentApplicationPublishEntity;
...
@@ -11,13 +11,17 @@ import cn.com.poc.agent_application.entity.BizAgentApplicationPublishEntity;
import
cn.com.poc.agent_application.entity.BizMemberAgentApplicationCollectEntity
;
import
cn.com.poc.agent_application.entity.BizMemberAgentApplicationCollectEntity
;
import
cn.com.poc.agent_application.query.MallAgentApplicationQueryCondition
;
import
cn.com.poc.agent_application.query.MallAgentApplicationQueryCondition
;
import
cn.com.poc.agent_application.query.MallAgentApplicationQueryItem
;
import
cn.com.poc.agent_application.query.MallAgentApplicationQueryItem
;
import
cn.com.poc.agent_application.query.MemberCollectQueryCondition
;
import
cn.com.poc.agent_application.query.MemberCollectQueryItem
;
import
cn.com.poc.agent_application.rest.BizAgentApplicationMallRest
;
import
cn.com.poc.agent_application.rest.BizAgentApplicationMallRest
;
import
cn.com.poc.agent_application.service.BizAgentApplicationCategoryService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationCategoryService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationMallService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationMallService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationPublishService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationPublishService
;
import
cn.com.poc.agent_application.service.BizMemberAgentApplicationCollectService
;
import
cn.com.poc.agent_application.service.BizMemberAgentApplicationCollectService
;
import
cn.com.poc.common.annotation.RedisLimit
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.constant.XLangConstant
;
import
cn.com.poc.common.constant.XLangConstant
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.StringUtils
;
import
cn.com.poc.common.utils.StringUtils
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
...
@@ -28,6 +32,7 @@ import javax.annotation.Resource;
...
@@ -28,6 +32,7 @@ import javax.annotation.Resource;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
@Component
@Component
public
class
BizAgentApplicationMallRestImpl
implements
BizAgentApplicationMallRest
{
public
class
BizAgentApplicationMallRestImpl
implements
BizAgentApplicationMallRest
{
...
@@ -111,20 +116,18 @@ public class BizAgentApplicationMallRestImpl implements BizAgentApplicationMallR
...
@@ -111,20 +116,18 @@ public class BizAgentApplicationMallRestImpl implements BizAgentApplicationMallR
}
}
}
}
List
<
MallAgentApplicationQueryItem
>
items
=
bizAgentApplicationMallService
.
mallAgentApplicationQuery
(
mallAgentApplicationQueryCondition
,
pagingInfo
);
List
<
MallAgentApplicationQueryItem
>
items
=
bizAgentApplicationMallService
.
mallAgentApplicationQuery
(
mallAgentApplicationQueryCondition
,
pagingInfo
);
MemberCollectQueryCondition
collectQueryCondition
=
new
MemberCollectQueryCondition
();
collectQueryCondition
.
setMemberId
(
BlContext
.
getCurrentUserNotException
().
getUserId
());
collectQueryCondition
.
setIsCollect
(
CommonConstant
.
YOrN
.
Y
);
List
<
MemberCollectQueryItem
>
memberCollectQueryItems
=
bizMemberAgentApplicationCollectService
.
queryMemberCollect
(
collectQueryCondition
,
null
);
for
(
MallAgentApplicationQueryItem
item
:
items
)
{
for
(
MallAgentApplicationQueryItem
item
:
items
)
{
BizAgentApplicationMallDto
mallDto
=
BizAgentApplicationMallConvert
.
itemToDto
(
item
);
BizAgentApplicationMallDto
mallDto
=
BizAgentApplicationMallConvert
.
itemToDto
(
item
);
// 如果应用上架了
// 如果应用上架了
if
(
CommonConstant
.
IsDeleted
.
Y
.
equals
(
mallDto
.
getIsSale
()))
{
if
(
mallDto
.
getBaseInfo
()
!=
null
&&
CommonConstant
.
YOrN
.
Y
.
equals
(
mallDto
.
getIsSale
()))
{
// 设置当前用户是否收藏了
// 设置当前用户是否收藏了
if
(
mallDto
.
getBaseInfo
()
!=
null
)
{
String
agentId
=
mallDto
.
getBaseInfo
().
getAgentId
();
BizMemberAgentApplicationCollectEntity
collect
=
bizMemberAgentApplicationCollectService
.
getByAgentId
(
mallDto
.
getBaseInfo
().
getAgentId
());
mallDto
.
setIsCollect
(
memberCollectQueryItems
.
stream
().
anyMatch
(
v
->
agentId
.
equals
(
v
.
getAgentId
()))
?
CommonConstant
.
YOrN
.
Y
:
CommonConstant
.
YOrN
.
N
);
if
(
collect
!=
null
)
{
mallDto
.
setIsCollect
(
collect
.
getIsCollect
());
}
else
{
mallDto
.
setIsCollect
(
CommonConstant
.
IsDeleted
.
N
);
}
}
resultList
.
add
(
mallDto
);
resultList
.
add
(
mallDto
);
}
}
}
}
...
@@ -143,6 +146,7 @@ public class BizAgentApplicationMallRestImpl implements BizAgentApplicationMallR
...
@@ -143,6 +146,7 @@ public class BizAgentApplicationMallRestImpl implements BizAgentApplicationMallR
}
}
@Override
@Override
@RedisLimit
(
currentUser
=
true
,
key
=
"collect:agent"
,
count
=
1
,
timeout
=
1
,
exceptionInfo
=
"exception/collect.limit.message"
)
public
void
collectOrCancelAgentInMall
(
Integer
id
)
throws
Exception
{
public
void
collectOrCancelAgentInMall
(
Integer
id
)
throws
Exception
{
Assert
.
notNull
(
id
);
Assert
.
notNull
(
id
);
agentApplicationMallService
.
collectOrCancelAgentInMall
(
id
);
agentApplicationMallService
.
collectOrCancelAgentInMall
(
id
);
...
...
src/main/java/cn/com/poc/agent_application/service/impl/BizAgentApplicationMallServiceImpl.java
View file @
9da0d28a
...
@@ -109,6 +109,9 @@ public class BizAgentApplicationMallServiceImpl extends BaseServiceImpl
...
@@ -109,6 +109,9 @@ public class BizAgentApplicationMallServiceImpl extends BaseServiceImpl
if
(
entity
.
getIsSale
()
!=
null
)
{
if
(
entity
.
getIsSale
()
!=
null
)
{
model
.
setIsSale
(
entity
.
getIsSale
());
model
.
setIsSale
(
entity
.
getIsSale
());
}
}
if
(
entity
.
getCategoryId
()
!=
null
)
{
model
.
setCategoryId
(
entity
.
getCategoryId
());
}
if
(
entity
.
getPopularity
()
!=
null
)
{
if
(
entity
.
getPopularity
()
!=
null
)
{
model
.
setPopularity
(
entity
.
getPopularity
());
model
.
setPopularity
(
entity
.
getPopularity
());
}
}
...
...
src/main/java/cn/com/poc/common/annotation/CurrentUserRolePermission.java
0 → 100644
View file @
9da0d28a
package
cn
.
com
.
poc
.
common
.
annotation
;
import
org.springframework.stereotype.Component
;
import
java.lang.annotation.*
;
/**
* @author Ken
*/
@Target
({
ElementType
.
METHOD
})
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Documented
@Component
public
@interface
CurrentUserRolePermission
{
String
[]
permissionCodeArr
();
String
prompt
()
default
"无权限,请联系管理员"
;
}
src/main/java/cn/com/poc/common/annotation/RedisLimit.java
0 → 100644
View file @
9da0d28a
package
cn
.
com
.
poc
.
common
.
annotation
;
import
org.springframework.stereotype.Component
;
import
java.lang.annotation.*
;
/**
* 限流
*/
@Target
(
ElementType
.
METHOD
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Component
@Documented
public
@interface
RedisLimit
{
/**
* 限流key
*/
String
key
();
/**
* 限流数量 [单位时间内次数]
*/
int
count
();
/**
* 限流时间 默认60秒
*/
long
timeout
()
default
60
;
/**
* 限流时间单位 [默认秒]
*/
LimitTimeUnit
timeUnit
()
default
LimitTimeUnit
.
SECONDS
;
/**
* 是否针对当前用户
*
* @return
*/
boolean
currentUser
()
default
false
;
/**
* 异常信息
*/
String
exceptionInfo
()
default
""
;
enum
LimitTimeUnit
{
/**
* 秒
*/
SECONDS
,
/**
* 分钟
*/
MINUTES
,
/**
* 小时
*/
HOURS
,
/**
* 天
*/
DAYS
,
/**
* 当日
*/
DAY_OF_MONTH
,
/**
* 当月
*/
MONTH_OF_YEAR
;
LimitTimeUnit
(){}
}
}
src/main/java/cn/com/poc/common/aspect/RedisLimitAspect.java
0 → 100644
View file @
9da0d28a
package
cn
.
com
.
poc
.
common
.
aspect
;
import
cn.com.poc.common.annotation.RedisLimit
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.DateUtils
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
cn.com.yict.framemax.core.exception.BusinessException
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.annotation.Around
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.annotation.Pointcut
;
import
org.aspectj.lang.reflect.MethodSignature
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.lang.reflect.Method
;
import
java.util.Date
;
import
java.util.concurrent.TimeUnit
;
/**
* 限流切面
*/
@Aspect
@Component
public
class
RedisLimitAspect
{
private
final
Logger
logger
=
LoggerFactory
.
getLogger
(
RedisLimitAspect
.
class
);
@Resource
private
RedisTemplate
<
String
,
Integer
>
redisTemplate
;
@Pointcut
(
"@annotation( cn.com.poc.common.annotation.RedisLimit)"
)
public
void
redisLimitAnnotation
()
{
}
@Around
(
value
=
"redisLimitAnnotation()"
)
public
Object
around
(
ProceedingJoinPoint
joinPoint
)
throws
Throwable
{
Method
method
=
((
MethodSignature
)
joinPoint
.
getSignature
()).
getMethod
();
RedisLimit
annotation
=
method
.
getAnnotation
(
RedisLimit
.
class
);
StringBuilder
redisKey
=
new
StringBuilder
();
String
key
=
annotation
.
key
();
redisKey
.
append
(
"Limit_"
);
redisKey
.
append
(
key
);
redisKey
.
append
(
":"
);
if
(
annotation
.
currentUser
())
{
UserBaseEntity
currentUser
=
BlContext
.
getCurrentUserNotException
();
redisKey
.
append
(
currentUser
.
getUserId
());
}
if
(
Boolean
.
FALSE
.
equals
(
redisTemplate
.
hasKey
(
redisKey
.
toString
())))
{
redisTemplate
.
opsForValue
().
increment
(
redisKey
.
toString
(),
1
);
redisTemplate
.
expire
(
redisKey
.
toString
(),
expireTime
(
annotation
.
timeout
(),
annotation
.
timeUnit
()),
TimeUnit
.
MILLISECONDS
);
}
else
if
(
redisTemplate
.
opsForValue
().
get
(
redisKey
.
toString
()).
intValue
()
>=
annotation
.
count
())
{
throw
new
I18nMessageException
(
annotation
.
exceptionInfo
());
}
else
{
redisTemplate
.
opsForValue
().
increment
(
redisKey
.
toString
(),
1
);
}
return
joinPoint
.
proceed
();
}
private
Long
expireTime
(
Long
timeout
,
RedisLimit
.
LimitTimeUnit
limitTimeUnit
)
{
switch
(
limitTimeUnit
)
{
case
SECONDS:
return
timeout
*
1000
;
case
MINUTES:
return
timeout
*
60
*
1000
;
case
HOURS:
return
timeout
*
60
*
60
*
1000
;
case
DAYS:
Date
date
=
new
Date
();
return
DateUtils
.
diffTwoDate
(
DateUtils
.
addDays
(
date
,
timeout
.
intValue
()),
date
);
case
DAY_OF_MONTH:
Date
dayBegin
=
DateUtils
.
getDayBegin
(
DateUtils
.
addDays
(
DateUtils
.
getToday
(),
timeout
.
intValue
()));
return
DateUtils
.
diffTwoDate
(
dayBegin
,
DateUtils
.
getToday
());
case
MONTH_OF_YEAR:
Date
monthBegin
=
DateUtils
.
getMonthBegin
(
DateUtils
.
getMonthAfter
(
DateUtils
.
getToday
(),
timeout
.
intValue
()));
return
DateUtils
.
diffTwoDate
(
monthBegin
,
DateUtils
.
getToday
());
default
:
throw
new
BusinessException
(
"不支持的单位"
);
}
}
}
src/main/java/cn/com/poc/expose/aggregate/impl/AgentApplicationServiceImpl.java
View file @
9da0d28a
...
@@ -130,7 +130,7 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
...
@@ -130,7 +130,7 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
outputRecord
.
setTimestamp
(
System
.
currentTimeMillis
());
outputRecord
.
setTimestamp
(
System
.
currentTimeMillis
());
//对话
//对话
String
output
=
agentApplicationInfoService
.
callAgentApplication
(
dialogsId
,
infoEntity
.
getLargeModel
(),
String
output
=
agentApplicationInfoService
.
callAgentApplication
(
dialogsId
,
infoEntity
.
getLargeModel
(),
infoEntity
.
getUnitIds
(),
infoEntity
.
getAgentSystem
(),
kdIdList
.
toArray
(
new
Integer
[
0
]),
infoEntity
.
getCommunicationTurn
(),
infoEntity
.
getUnitIds
(),
infoEntity
.
getAgentSystem
(),
kdIdList
.
toArray
(
new
Integer
[
0
]),
infoEntity
.
getCommunicationTurn
(),
infoEntity
.
getTopP
(),
infoEntity
.
getTemperature
(),
messages
,
tools
,
httpServletResponse
);
infoEntity
.
getTopP
(),
infoEntity
.
getTemperature
(),
messages
,
tools
,
httpServletResponse
);
...
...
src/main/java/cn/com/poc/expose/rest/AgentApplicationRest.java
View file @
9da0d28a
...
@@ -31,7 +31,7 @@ public interface AgentApplicationRest extends BaseRest {
...
@@ -31,7 +31,7 @@ public interface AgentApplicationRest extends BaseRest {
/**
/**
* 创建对话
* 创建对话
*/
*/
String
createDialogues
()
throws
Exception
;
String
createDialogues
(
@RequestParam
(
required
=
false
)
String
agentId
)
throws
Exception
;
/**
/**
* 调用 已发布Agent应用
* 调用 已发布Agent应用
...
...
src/main/java/cn/com/poc/expose/rest/impl/AgentApplicationRestImpl.java
View file @
9da0d28a
package
cn
.
com
.
poc
.
expose
.
rest
.
impl
;
package
cn
.
com
.
poc
.
expose
.
rest
.
impl
;
import
cn.com.poc.agent_application.aggregate.AgentApplicationInfoService
;
import
cn.com.poc.agent_application.aggregate.AgentApplicationInfoService
;
import
cn.com.poc.agent_application.aggregate.AgentApplicationMallService
;
import
cn.com.poc.agent_application.convert.AgentApplicationInfoConvert
;
import
cn.com.poc.agent_application.convert.AgentApplicationInfoConvert
;
import
cn.com.poc.agent_application.convert.BizAgentApplicationPublishConvert
;
import
cn.com.poc.agent_application.convert.BizAgentApplicationPublishConvert
;
import
cn.com.poc.agent_application.dto.AgentApplicationCreateContinueQuesDto
;
import
cn.com.poc.agent_application.dto.AgentApplicationCreateContinueQuesDto
;
...
@@ -19,10 +20,14 @@ import cn.com.poc.common.utils.UUIDTool;
...
@@ -19,10 +20,14 @@ import cn.com.poc.common.utils.UUIDTool;
import
cn.com.poc.expose.aggregate.AgentApplicationService
;
import
cn.com.poc.expose.aggregate.AgentApplicationService
;
import
cn.com.poc.expose.dto.*
;
import
cn.com.poc.expose.dto.*
;
import
cn.com.poc.expose.rest.AgentApplicationRest
;
import
cn.com.poc.expose.rest.AgentApplicationRest
;
import
cn.com.poc.message.entity.AgentApplicationClickEventMessage
;
import
cn.com.poc.message.service.AgentApplicationProducerService
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
...
@@ -37,6 +42,7 @@ import java.util.stream.Collectors;
...
@@ -37,6 +42,7 @@ import java.util.stream.Collectors;
@Component
@Component
public
class
AgentApplicationRestImpl
implements
AgentApplicationRest
{
public
class
AgentApplicationRestImpl
implements
AgentApplicationRest
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
AgentApplicationRest
.
class
);
@Resource
@Resource
private
AgentApplicationService
agentApplicationService
;
private
AgentApplicationService
agentApplicationService
;
...
@@ -50,6 +56,9 @@ public class AgentApplicationRestImpl implements AgentApplicationRest {
...
@@ -50,6 +56,9 @@ public class AgentApplicationRestImpl implements AgentApplicationRest {
@Resource
@Resource
private
BizAgentApplicationDialoguesRecordService
bizAgentApplicationDialoguesRecordService
;
private
BizAgentApplicationDialoguesRecordService
bizAgentApplicationDialoguesRecordService
;
@Resource
private
AgentApplicationProducerService
agentApplicationProducerService
;
@Override
@Override
public
List
<
String
>
getRecommendQuestions
(
HttpServletRequest
httpServletRequest
)
throws
Exception
{
public
List
<
String
>
getRecommendQuestions
(
HttpServletRequest
httpServletRequest
)
throws
Exception
{
return
agentApplicationService
.
getRecommendQuestions
(
httpServletRequest
.
getHeader
(
"x-lang"
));
return
agentApplicationService
.
getRecommendQuestions
(
httpServletRequest
.
getHeader
(
"x-lang"
));
...
@@ -78,7 +87,12 @@ public class AgentApplicationRestImpl implements AgentApplicationRest {
...
@@ -78,7 +87,12 @@ public class AgentApplicationRestImpl implements AgentApplicationRest {
}
}
@Override
@Override
public
String
createDialogues
()
{
public
String
createDialogues
(
String
agentId
)
{
if
(
StringUtils
.
isNotBlank
(
agentId
))
{
AgentApplicationClickEventMessage
agentApplicationClickEventMessage
=
new
AgentApplicationClickEventMessage
();
agentApplicationClickEventMessage
.
setAgentId
(
agentId
);
agentApplicationProducerService
.
clickEvent
(
agentApplicationClickEventMessage
);
}
return
"DIA_"
+
UUIDTool
.
getUUID
();
return
"DIA_"
+
UUIDTool
.
getUUID
();
}
}
...
...
src/main/java/cn/com/poc/message/entity/AgentApplicationClickEventMessage.java
0 → 100644
View file @
9da0d28a
package
cn
.
com
.
poc
.
message
.
entity
;
import
java.io.Serializable
;
public
class
AgentApplicationClickEventMessage
implements
Serializable
{
private
String
agentId
;
public
String
getAgentId
()
{
return
agentId
;
}
public
void
setAgentId
(
String
agentId
)
{
this
.
agentId
=
agentId
;
}
}
src/main/java/cn/com/poc/message/service/AgentApplicationConsumerService.java
0 → 100644
View file @
9da0d28a
package
cn
.
com
.
poc
.
message
.
service
;
import
cn.com.poc.message.entity.AgentApplicationClickEventMessage
;
import
cn.com.yict.framemax.core.service.BaseService
;
public
interface
AgentApplicationConsumerService
extends
BaseService
{
void
clickEvent
(
AgentApplicationClickEventMessage
message
)
throws
Exception
;
}
src/main/java/cn/com/poc/message/service/AgentApplicationProducerService.java
0 → 100644
View file @
9da0d28a
package
cn
.
com
.
poc
.
message
.
service
;
import
cn.com.poc.message.entity.AgentApplicationClickEventMessage
;
import
cn.com.yict.framemax.core.service.BaseService
;
public
interface
AgentApplicationProducerService
extends
BaseService
{
AgentApplicationClickEventMessage
clickEvent
(
AgentApplicationClickEventMessage
message
);
}
src/main/java/cn/com/poc/message/service/impl/AgentApplicationConsumerServiceImpl.java
0 → 100644
View file @
9da0d28a
package
cn
.
com
.
poc
.
message
.
service
.
impl
;
import
cn.com.poc.agent_application.aggregate.AgentApplicationMallService
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationPublishEntity
;
import
cn.com.poc.agent_application.service.BizAgentApplicationDialoguesRecordService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationPublishService
;
import
cn.com.poc.message.entity.AgentApplicationClickEventMessage
;
import
cn.com.poc.message.service.AgentApplicationConsumerService
;
import
cn.com.poc.message.topic.AgentApplicationTopic
;
import
cn.com.yict.framemax.core.service.BaseService
;
import
cn.com.yict.framemax.tumbleweed.client.annotation.Consumer
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
@Service
public
class
AgentApplicationConsumerServiceImpl
implements
AgentApplicationConsumerService
{
@Resource
private
BizAgentApplicationPublishService
bizAgentApplicationPublishService
;
@Resource
private
AgentApplicationMallService
agentApplicationMallService
;
@Override
@Consumer
(
topic
=
AgentApplicationTopic
.
AGENT_APPLICATION_CLICK_EVENT
,
retry
=
true
)
public
void
clickEvent
(
AgentApplicationClickEventMessage
message
)
throws
Exception
{
BizAgentApplicationPublishEntity
agentApplicationPublishEntity
=
bizAgentApplicationPublishService
.
getByAgentId
(
message
.
getAgentId
());
if
(
agentApplicationPublishEntity
!=
null
)
{
Integer
publishId
=
agentApplicationPublishEntity
.
getId
();
agentApplicationMallService
.
addClickNumber
(
publishId
);
}
}
}
src/main/java/cn/com/poc/message/service/impl/AgentApplicationProducerServiceImpl.java
0 → 100644
View file @
9da0d28a
package
cn
.
com
.
poc
.
message
.
service
.
impl
;
import
cn.com.poc.message.entity.AgentApplicationClickEventMessage
;
import
cn.com.poc.message.service.AgentApplicationProducerService
;
import
cn.com.poc.message.topic.AgentApplicationTopic
;
import
cn.com.yict.framemax.core.service.BaseService
;
import
cn.com.yict.framemax.tumbleweed.client.annotation.Producer
;
import
org.springframework.stereotype.Service
;
@Service
public
class
AgentApplicationProducerServiceImpl
implements
AgentApplicationProducerService
{
@Override
@Producer
(
topic
=
AgentApplicationTopic
.
AGENT_APPLICATION_CLICK_EVENT
)
public
AgentApplicationClickEventMessage
clickEvent
(
AgentApplicationClickEventMessage
message
)
{
return
message
;
}
}
src/main/java/cn/com/poc/message/topic/AgentApplicationTopic.java
0 → 100644
View file @
9da0d28a
package
cn
.
com
.
poc
.
message
.
topic
;
public
interface
AgentApplicationTopic
{
/**
* Agent application click event.
*/
String
AGENT_APPLICATION_CLICK_EVENT
=
"agent_application_click_event"
;
}
src/main/java/cn/com/poc/user/dto/MemberInfoDto.java
View file @
9da0d28a
...
@@ -2,6 +2,8 @@ package cn.com.poc.user.dto;
...
@@ -2,6 +2,8 @@ package cn.com.poc.user.dto;
import
cn.com.yict.framemax.data.model.BaseModelClass
;
import
cn.com.yict.framemax.data.model.BaseModelClass
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
java.util.Date
;
import
java.util.Date
;
...
...
src/main/java/cn/com/poc/user/rest/BizMemberInfoRest.java
View file @
9da0d28a
...
@@ -8,7 +8,9 @@ import cn.com.poc.user.dto.MemberPasswordRequestDto;
...
@@ -8,7 +8,9 @@ import cn.com.poc.user.dto.MemberPasswordRequestDto;
import
cn.com.yict.framemax.core.rest.BaseRest
;
import
cn.com.yict.framemax.core.rest.BaseRest
;
import
cn.com.yict.framemax.web.permission.Access
;
import
cn.com.yict.framemax.web.permission.Access
;
import
cn.com.yict.framemax.web.permission.Permission
;
import
cn.com.yict.framemax.web.permission.Permission
;
import
org.springframework.security.core.parameters.P
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
@Permission
(
Access
.
Safety
)
@Permission
(
Access
.
Safety
)
public
interface
BizMemberInfoRest
extends
BaseRest
{
public
interface
BizMemberInfoRest
extends
BaseRest
{
...
@@ -41,4 +43,10 @@ public interface BizMemberInfoRest extends BaseRest {
...
@@ -41,4 +43,10 @@ public interface BizMemberInfoRest extends BaseRest {
* @return
* @return
*/
*/
MemberInfoDto
getCurrentMemberInfo
()
throws
Exception
;
MemberInfoDto
getCurrentMemberInfo
()
throws
Exception
;
/**
* 获取用户昵称
*/
@Permission
(
Access
.
Anonymous
)
MemberInfoDto
getMemberNickName
(
@RequestParam
Long
memberId
)
throws
Exception
;
}
}
\ No newline at end of file
src/main/java/cn/com/poc/user/rest/impl/BizMemberInfoRestImpl.java
View file @
9da0d28a
...
@@ -14,6 +14,7 @@ import cn.com.poc.user.aggregation.MemberInfoService;
...
@@ -14,6 +14,7 @@ import cn.com.poc.user.aggregation.MemberInfoService;
import
cn.com.poc.user.builder.LoginChannelBuilder
;
import
cn.com.poc.user.builder.LoginChannelBuilder
;
import
cn.com.poc.user.entity.MemberInfoEntity
;
import
cn.com.poc.user.entity.MemberInfoEntity
;
import
cn.com.poc.user.service.BizMemberInfoService
;
import
cn.com.poc.user.service.BizMemberInfoService
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.security.oauth.OauthAccesstokenManager
;
import
cn.com.yict.framemax.security.oauth.OauthAccesstokenManager
;
import
cn.com.yict.framemax.security.oauth.entity.OauthResultEntity
;
import
cn.com.yict.framemax.security.oauth.entity.OauthResultEntity
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -111,4 +112,16 @@ public class BizMemberInfoRestImpl implements BizMemberInfoRest {
...
@@ -111,4 +112,16 @@ public class BizMemberInfoRestImpl implements BizMemberInfoRest {
return
MemberInfoConvert
.
converEntity2Dto
(
memberInfoEntity
);
return
MemberInfoConvert
.
converEntity2Dto
(
memberInfoEntity
);
}
}
@Override
public
MemberInfoDto
getMemberNickName
(
Long
memberId
)
throws
Exception
{
MemberInfoEntity
memberInfoEntity
=
bizMemberInfoService
.
getById
(
memberId
.
intValue
());
if
(
memberInfoEntity
==
null
)
{
throw
new
I18nMessageException
(
"exception/user.does.not.exist"
);
}
MemberInfoDto
memberInfoDto
=
new
MemberInfoDto
();
memberInfoDto
.
setNickName
(
memberInfoEntity
.
getNickName
());
memberInfoDto
.
setAvatarUrl
(
memberInfoEntity
.
getAvatarUrl
());
return
memberInfoDto
;
}
}
}
\ No newline at end of file
src/main/resources/framemax-config/i18n/en/exception.properties
View file @
9da0d28a
...
@@ -58,7 +58,7 @@ failed.to.obtain.token=Failed to obtain token
...
@@ -58,7 +58,7 @@ failed.to.obtain.token=Failed to obtain token
re-verify.the.user.identity
=
Please re verify the user's identity
re-verify.the.user.identity
=
Please re verify the user's identity
user.cannot.be.found
=
The user cannot be found
user.cannot.be.found
=
The user cannot be found
verification.code.is.incorrect.please.re-enter
=
The verification code is incorrect, please re-enter
verification.code.is.incorrect.please.re-enter
=
The verification code is incorrect, please re-enter
user.does.not.exist
=
The login u
ser does not exist
user.does.not.exist
=
U
ser does not exist
password.error.please.re-enter
=
Password error, please re-enter
password.error.please.re-enter
=
Password error, please re-enter
unable.find.user.association.relationship
=
Unable to find user's association relationship
unable.find.user.association.relationship
=
Unable to find user's association relationship
account.has.already
=
This account has already been registered, please replace it
account.has.already
=
This account has already been registered, please replace it
...
@@ -67,4 +67,5 @@ call.failure=Call failure
...
@@ -67,4 +67,5 @@ call.failure=Call failure
model.not.exist
=
Model not exist
model.not.exist
=
Model not exist
upload.more.than.10m
=
The uploaded file cannot exceed 10M file name
upload.more.than.10m
=
The uploaded file cannot exceed 10M file name
error.file.content.is.null
=
Incorrect file, file contents cannot be empty, file name
error.file.content.is.null
=
Incorrect file, file contents cannot be empty, file name
file.content.more.than.100w
=
The number of characters in a file cannot exceed 100w
file.content.more.than.100w
=
The number of characters in a file cannot exceed 100w
\ No newline at end of file
collect.limit.message
=
Click too fast, do not repeat the operation
\ No newline at end of file
src/main/resources/framemax-config/i18n/zh_cn/exception.properties
View file @
9da0d28a
publication.failed
=
发布失败
publication.failed
=
\u
53D1
\u
5E03
\u5931\u
8D25
create.[role.instruction]
.configuration.does.not.exist
=
创建[角色指令]配置不存在
create.[role.instruction]
.configuration.does.not.exist
=
\u
521B
\u
5EFA[
\u
89D2
\u8272\u6307\u
4EE4]
\u
914D
\u
7F6E
\u
4E0D
\u
5B58
\u5728
create.[opening.statement]
.configuration.does.not.exist
=
创建[开场白]配置不存在
create.[opening.statement]
.configuration.does.not.exist
=
\u
521B
\u
5EFA[
\u
5F00
\u
573A
\u
767D]
\u
914D
\u
7F6E
\u
4E0D
\u
5B58
\u5728
failed.to.create.[opening.statement]=创建[开场白]失败
failed.to.create.[opening.statement]=\u521B\u5EFA[\u5F00\u573A\u767D]\u5931\u8D25
the.configuration.for.creating.[avatar.prompt]
.does.not.exist.please.contact.the.administrator
=
创建[头像提示语]配置不存在,请联系管理员
the.configuration.for.creating.[avatar.prompt]
.does.not.exist.please.contact.the.administrator
=
\u
521B
\u
5EFA[
\u5934\u
50CF
\u
63D0
\u
793A
\u
8BED]
\u
914D
\u
7F6E
\u
4E0D
\u
5B58
\u5728\u
FF0C
\u
8BF7
\u8054\u
7CFB
\u
7BA1
\u7406\u5458
failed.to.create.[avatar]
.please.try.again.later
=
创建[头像]失败,请稍后再试
failed.to.create.[avatar]
.please.try.again.later
=
\u
521B
\u
5EFA[
\u5934\u
50CF]
\u5931\u
8D25,
\u
8BF7
\u
7A0D
\u
540E
\u
518D
\u
8BD5
create.[application.information]
.configuration.does.not.exist.please.contact.the.administrator
=
创建[应用信息]配置不存在,请联系管理员
create.[application.information]
.configuration.does.not.exist.please.contact.the.administrator
=
\u
521B
\u
5EFA[
\u
5E94
\u7528\u
4FE1
\u
606F]
\u
914D
\u
7F6E
\u
4E0D
\u
5B58
\u5728\u
FF0C
\u
8BF7
\u8054\u
7CFB
\u
7BA1
\u7406\u5458
failed.to.create.[application.information]
.please.try.again.later
=
创建[应用信息]失败,请稍后再试
failed.to.create.[application.information]
.please.try.again.later
=
\u
521B
\u
5EFA[
\u
5E94
\u7528\u
4FE1
\u
606F]
\u5931\u
8D25,
\u
8BF7
\u
7A0D
\u
540E
\u
518D
\u
8BD5
user.not.login
=
用户未登录
user.not.login
=
\u7528\u6237\u
672A
\u
767B
\u
5F55
application.does.not.exist
=
应用不存在
application.does.not.exist
=
\u
5E94
\u7528\u
4E0D
\u
5B58
\u5728
application.not.released
=
应用未发布
application.not.released
=
\u
5E94
\u7528\u
672A
\u
53D1
\u
5E03
generation.failed.please.try.again.later
=
生成失败,请稍后重试
generation.failed.please.try.again.later
=
\u
751F
\u6210\u5931\u
8D25,
\u
8BF7
\u
7A0D
\u
540E
\u
91CD
\u
8BD5
data.does.not.exist
=
数据不存在
data.does.not.exist
=
\u6570\u
636E
\u
4E0D
\u
5B58
\u5728
there.are.too.many.tasks.currently.please.try.again.later
=
当前任务过多,请稍后重试
there.are.too.many.tasks.currently.please.try.again.later
=
\u
5F53
\u
524D
\u
4EFB
\u
52A1
\u
8FC7
\u
591A
\u
FF0C
\u
8BF7
\u
7A0D
\u
540E
\u
91CD
\u
8BD5
verification.code.has.expired.please.obtain.it.again
=
验证码已过期,请重新获取
verification.code.has.expired.please.obtain.it.again
=
\u
9A8C
\u
8BC1
\u7801\u
5DF2
\u
8FC7
\u
671F
\u
FF0C
\u
8BF7
\u
91CD
\u
65B0
\u
83B7
\u
53D6
maximum.number.of.verifications.has.been.reached
=
验证次数已达上限
maximum.number.of.verifications.has.been.reached
=
\u
9A8C
\u
8BC1
\u
6B21
\u6570\u
5DF2
\u
8FBE
\u
4E0A
\u9650
verification.code.sending.failed.please.try.again
=
验证码发送失败!请重试
verification.code.sending.failed.please.try.again
=
\u
9A8C
\u
8BC1
\u7801\u
53D1
\u9001\u5931\u
8D25
\u
FF01
\u
8BF7
\u
91CD
\u
8BD5
upload.exception.please.check.the.file.before.uploading.again
=
上传异常,请检查文件后再上传
upload.exception.please.check.the.file.before.uploading.again
=
\u
4E0A
\u
4F20
\u
5F02
\u
5E38,
\u
8BF7
\u
68C0
\u
67E5
\u6587\u
4EF6
\u
540E
\u
518D
\u
4E0A
\u
4F20
abnormal.call.to.upload.alibaba.cloud.images
=
调用上传阿里云图片异常!
abnormal.call.to.upload.alibaba.cloud.images
=
\u
8C03
\u7528\u
4E0A
\u
4F20
\u
963F
\u
91CC
\u
4E91
\u
56FE
\u7247\u
5F02
\u
5E38
\u
FF01
cannot.read.data.from.this.url
=
不能从该url中读取到数据
cannot.read.data.from.this.url
=
\u
4E0D
\u
80FD
\u
4ECE
\u
8BE5url
\u
4E2D
\u
8BFB
\u
53D6
\u5230\u6570\u
636E
error.signature
=
错误的签名
error.signature
=
\u9519\u
8BEF
\u7684\u
7B7E
\u
540D
signature.validity.time.exception
=
签名有效时间异常
signature.validity.time.exception
=
\u
7B7E
\u
540D
\u6709\u6548\u
65F6
\u
95F4
\u
5F02
\u
5E38
signature.has.expired
=
签名已过期
signature.has.expired
=
\u
7B7E
\u
540D
\u
5DF2
\u
8FC7
\u
671F
app.not.found
=
未找到应用
app.not.found
=
\u
672A
\u
627E
\u5230\u
5E94
\u7528
failed.to.generate.recommendation.question
=
生成推荐问题失败
failed.to.generate.recommendation.question
=
\u
751F
\u6210\u
63A8
\u8350\u
95EE
\u9898\u5931\u
8D25
document.does.not.exist
=
文档不存在
document.does.not.exist
=
\u6587\u6863\u
4E0D
\u
5B58
\u5728
knowledge.base.information.does.not.exist
=
知识库信息不存在
knowledge.base.information.does.not.exist
=
\u
77E5
\u
8BC6
\u
5E93
\u
4FE1
\u
606F
\u
4E0D
\u
5B58
\u5728
repetitive.training.in.the.knowledge.base
=
知识库重复训练
repetitive.training.in.the.knowledge.base
=
\u
77E5
\u
8BC6
\u
5E93
\u
91CD
\u
590D
\u
8BAD
\u
7EC3
knowledge.base.does.not.exist
=
知识库不存在
knowledge.base.does.not.exist
=
\u
77E5
\u
8BC6
\u
5E93
\u
4E0D
\u
5B58
\u5728
private.key.of.the.marketing.platform.configuration.project.is.empty
=
营销中台配置项目私钥为空
private.key.of.the.marketing.platform.configuration.project.is.empty
=
\u8425\u9500\u
4E2D
\u
53F0
\u
914D
\u
7F6E
\u9879\u
76EE
\u
79C1
\u
94A5
\u
4E3A
\u
7A7A
decryption.offset.of.the.marketing.platform.configuration.is.empty
=
营销中台配置解密偏移量为空
decryption.offset.of.the.marketing.platform.configuration.is.empty
=
\u8425\u9500\u
4E2D
\u
53F0
\u
914D
\u
7F6E
\u
89E3
\u
5BC6
\u
504F
\u
79FB
\u
91CF
\u
4E3A
\u
7A7A
middle.server.is.unresponsive.or.has.timed.out
=
中台服务器无响应或响应超时!
middle.server.is.unresponsive.or.has.timed.out
=
\u
4E2D
\u
53F0
\u
670D
\u
52A1
\u5668\u
65E0
\u
54CD
\u
5E94
\u6216\u
54CD
\u
5E94
\u
8D85
\u
65F6
\u
FF01
key.for.the.marketing.platform.configuration.project.is.empty
=
营销中台配置项目key为空
key.for.the.marketing.platform.configuration.project.is.empty
=
\u8425\u9500\u
4E2D
\u
53F0
\u
914D
\u
7F6E
\u9879\u
76EEkey
\u
4E3A
\u
7A7A
secret.for.the.marketing.platform.configuration.project.is.empty
=
营销中台配置项目密钥为空
secret.for.the.marketing.platform.configuration.project.is.empty
=
\u8425\u9500\u
4E2D
\u
53F0
\u
914D
\u
7F6E
\u9879\u
76EE
\u
5BC6
\u
94A5
\u
4E3A
\u
7A7A
failed.to.obtain.xinghai.apptoken
=
获取兴海apptoken失败
failed.to.obtain.xinghai.apptoken
=
\u
83B7
\u
53D6
\u5174\u
6D77apptoken
\u5931\u
8D25
default.login.channel.login.is.currently.not.supported
=
暂不支持默认登录渠道登录!
default.login.channel.login.is.currently.not.supported
=
\u6682\u
4E0D
\u
652F
\u6301\u
9ED8
\u
8BA4
\u
767B
\u
5F55
\u
6E20
\u9053\u
767B
\u
5F55
\u
FF01
third.party.authorization.channel.abnormal
=
第三方授权渠道异常!
third.party.authorization.channel.abnormal
=
\u
7B2C
\u
4E09
\u
65B9
\u6388\u6743\u
6E20
\u9053\u
5F02
\u
5E38!
third.party.login.channel.abnormality
=
第三方登录渠道异常
third.party.login.channel.abnormality
=
\u
7B2C
\u
4E09
\u
65B9
\u
767B
\u
5F55
\u
6E20
\u9053\u
5F02
\u
5E38
abnormal.configuration.of.bai.liantong.open.platform
=
百联通开放平台配置异常!
abnormal.configuration.of.bai.liantong.open.platform
=
\u
767E
\u8054\u
901A
\u
5F00
\u
653E
\u
5E73
\u
53F0
\u
914D
\u
7F6E
\u
5F02
\u
5E38
\u
FF01
abnormal.acquisition.of.mini.program.information.please.check.if.the.configuration.is.correct
=
获取小程序信息异常!请检查配置是否正确!
abnormal.acquisition.of.mini.program.information.please.check.if.the.configuration.is.correct
=
\u
83B7
\u
53D6
\u
5C0F
\u
7A0B
\u
5E8F
\u
4FE1
\u
606F
\u
5F02
\u
5E38
\u
FF01
\u
8BF7
\u
68C0
\u
67E5
\u
914D
\u
7F6E
\u
662F
\u5426\u
6B63
\u
786E
\u
FF01
currently.no.default.registration.channel.for.login
=
暂无默认注册渠道登录!
currently.no.default.registration.channel.for.login
=
\u6682\u
65E0
\u
9ED8
\u
8BA4
\u
6CE8
\u
518C
\u
6E20
\u9053\u
767B
\u
5F55
\u
FF01
abnormal.registration.channel
=
注册渠道异常
abnormal.registration.channel
=
\u
6CE8
\u
518C
\u
6E20
\u9053\u
5F02
\u
5E38
login.expiration.time.configured.as.empty
=
登录过期时间配置为空!
login.expiration.time.configured.as.empty
=
\u
767B
\u
5F55
\u
8FC7
\u
671F
\u
65F6
\u
95F4
\u
914D
\u
7F6E
\u
4E3A
\u
7A7A!
there.is.currently.no.default.verification.code.channel.login
=
暂无默认验证码渠道登录!
there.is.currently.no.default.verification.code.channel.login
=
\u6682\u
65E0
\u
9ED8
\u
8BA4
\u
9A8C
\u
8BC1
\u7801\u
6E20
\u9053\u
767B
\u
5F55
\u
FF01
verification.code.channel.abnormality
=
验证码渠道异常
verification.code.channel.abnormality
=
\u
9A8C
\u
8BC1
\u7801\u
6E20
\u9053\u
5F02
\u
5E38
failed.to.obtain.baidu.token
=
获取百度token失败
failed.to.obtain.baidu.token
=
\u
83B7
\u
53D6
\u
767E
\u
5EA6token
\u5931\u
8D25
training.exception.please.contact.the.administrator
=
翻译异常,请联系管理员
training.exception.please.contact.the.administrator
=
\u
7FFB
\u
8BD1
\u
5F02
\u
5E38,
\u
8BF7
\u8054\u
7CFB
\u
7BA1
\u7406\u5458
image.generation.failed
=
生成图片失败
image.generation.failed
=
\u
751F
\u6210\u
56FE
\u7247\u5931\u
8D25
middle.platform.is.unresponsive
=
中台无响应,请联系开发人员
middle.platform.is.unresponsive
=
\u
4E2D
\u
53F0
\u
65E0
\u
54CD
\u
5E94
\u
FF0C
\u
8BF7
\u8054\u
7CFB
\u
5F00
\u
53D1
\u
4EBA
\u5458
no.response.please.contact.the.developer
=
无响应,请联系开发人员
no.response.please.contact.the.developer
=
\u
65E0
\u
54CD
\u
5E94
\u
FF0C
\u
8BF7
\u8054\u
7CFB
\u
5F00
\u
53D1
\u
4EBA
\u5458
abnormal.knowledge.base.training
=
知识库训练异常
abnormal.knowledge.base.training
=
\u
77E5
\u
8BC6
\u
5E93
\u
8BAD
\u
7EC3
\u
5F02
\u
5E38
abnormal.training.status.of.knowledge.base.acquisition
=
获取知识库训练状态异常
abnormal.training.status.of.knowledge.base.acquisition
=
\u
83B7
\u
53D6
\u
77E5
\u
8BC6
\u
5E93
\u
8BAD
\u
7EC3
\u
72B6
\u6001\u
5F02
\u
5E38
delete.knowledge.base.exception
=
删除知识库异常
delete.knowledge.base.exception
=
\u5220\u9664\u
77E5
\u
8BC6
\u
5E93
\u
5F02
\u
5E38
query.knowledge.base.exception
=
查询知识库异常
query.knowledge.base.exception
=
\u
67E5
\u
8BE2
\u
77E5
\u
8BC6
\u
5E93
\u
5F02
\u
5E38
variable.structure.configuration.is.not.currently.supported
=
暂不支持变量结构配置
variable.structure.configuration.is.not.currently.supported
=
\u6682\u
4E0D
\u
652F
\u6301\u
53D8
\u
91CF
\u
7ED3
\u6784\u
914D
\u
7F6E
this.method.is.not.supported
=
不支持此方法
this.method.is.not.supported
=
\u
4E0D
\u
652F
\u6301\u
6B64
\u
65B9
\u
6CD5
failed.to.obtain.token
=
获取token失败
failed.to.obtain.token
=
\u
83B7
\u
53D6token
\u5931\u
8D25
re-verify.the.user.identity
=
请重新验证用户身份
re-verify.the.user.identity
=
\u
8BF7
\u
91CD
\u
65B0
\u
9A8C
\u
8BC1
\u7528\u6237\u
8EAB
\u
4EFD
user.cannot.be.found
=
找不到该用户
user.cannot.be.found
=
\u
627E
\u
4E0D
\u5230\u
8BE5
\u7528\u6237
verification.code.is.incorrect.please.re-enter
=
验证码有误,请重新输入
verification.code.is.incorrect.please.re-enter
=
\u
9A8C
\u
8BC1
\u7801\u6709\u
8BEF
\u
FF0C
\u
8BF7
\u
91CD
\u
65B0
\u
8F93
\u5165
user.does.not.exist
=
登录的用户不存在
user.does.not.exist
=
\u7528\u6237\u
4E0D
\u
5B58
\u5728
password.error.please.re-enter
=
密码错误,请重新输入
password.error.please.re-enter
=
\u
5BC6
\u7801\u9519\u
8BEF,
\u
8BF7
\u
91CD
\u
65B0
\u
8F93
\u5165
unable.find.user.association.relationship
=
找不到用户的关联关系
unable.find.user.association.relationship
=
\u
627E
\u
4E0D
\u5230\u7528\u6237\u7684\u5173\u8054\u5173\u
7CFB
account.has.already
=
该账号已经被注册,请更换一个
account.has.already
=
\u
8BE5
\u
8D26
\u
53F7
\u
5DF2
\u
7ECF
\u
88AB
\u
6CE8
\u
518C
\u
FF0C
\u
8BF7
\u
66F4
\u6362\u
4E00
\u
4E2A
not.support.lang
=
不支持该语音
not.support.lang
=
\u
4E0D
\u
652F
\u6301\u
8BE5
\u
8BED
\u
97F3
call.failure
=
调用失败
call.failure
=
\u
8C03
\u7528\u5931\u
8D25
model.not.exist
=
模型不存在
model.not.exist
=
\u
6A21
\u
578B
\u
4E0D
\u
5B58
\u5728
upload.more.than.10m
=
上传的文件不能超过10M,文件名
upload.more.than.10m
=
\u
4E0A
\u
4F20
\u7684\u6587\u
4EF6
\u
4E0D
\u
80FD
\u
8D85
\u
8FC710M,
\u6587\u
4EF6
\u
540D
error.file.content.is.null
=
错误的文件,文件内容不能为空,文件名
error.file.content.is.null
=
\u9519\u
8BEF
\u7684\u6587\u
4EF6
\u
FF0C
\u6587\u
4EF6
\u5185\u
5BB9
\u
4E0D
\u
80FD
\u
4E3A
\u
7A7A,
\u6587\u
4EF6
\u
540D
file.content.more.than.100w
=
文件内容字符数不能超过100w,文件名
file.content.more.than.100w
=
\u6587\u
4EF6
\u5185\u
5BB9
\u
5B57
\u
7B26
\u6570\u
4E0D
\u
80FD
\u
8D85
\u
8FC7100w,
\u6587\u
4EF6
\u
540D
\ No newline at end of file
collect.limit.message
=
\u
70B9
\u
51FB
\u
8FC7
\u
5FEB,
\u
8BF7
\u
52FF
\u
91CD
\u
590D
\u
64CD
\u
4F5C
\ No newline at end of file
src/main/resources/framemax-config/i18n/zh_tw/exception.properties
View file @
9da0d28a
publication.failed
=
發佈失敗
publication.failed
=
\u
767C
\u
4F48
\u5931\u6557
create.[role.instruction]
.configuration.does.not.exist
=
創建[角色指令]配置不存在
create.[role.instruction]
.configuration.does.not.exist
=
\u5275\u
5EFA[
\u
89D2
\u8272\u6307\u
4EE4]
\u
914D
\u
7F6E
\u
4E0D
\u
5B58
\u5728
create.[opening.statement]
.configuration.does.not.exist
=
創建[開場白]配置不存在
create.[opening.statement]
.configuration.does.not.exist
=
\u5275\u
5EFA[
\u
958B
\u5834\u
767D]
\u
914D
\u
7F6E
\u
4E0D
\u
5B58
\u5728
failed.to.create.[opening.statement]=創建[開場白]失敗
failed.to.create.[opening.statement]=\u5275\u5EFA[\u958B\u5834\u767D]\u5931\u6557
the.configuration.for.creating.[avatar.prompt]
.does.not.exist.please.contact.the.administrator
=
創建[頭像提示語]配置不存在,請聯繫管理員
the.configuration.for.creating.[avatar.prompt]
.does.not.exist.please.contact.the.administrator
=
\u5275\u
5EFA[
\u
982D
\u
50CF
\u
63D0
\u
793A
\u
8A9E]
\u
914D
\u
7F6E
\u
4E0D
\u
5B58
\u5728\u
FF0C
\u
8ACB
\u
806F
\u
7E6B
\u
7BA1
\u7406\u
54E1
failed.to.create.[avatar]
.please.try.again.later
=
創建[頭像]失敗,請稍後再試
failed.to.create.[avatar]
.please.try.again.later
=
\u5275\u
5EFA[
\u
982D
\u
50CF]
\u5931\u6557
,
\u
8ACB
\u
7A0D
\u
5F8C
\u
518D
\u
8A66
create.[application.information]
.configuration.does.not.exist.please.contact.the.administrator
=
創建[應用信息]配置不存在,請聯繫管理員
create.[application.information]
.configuration.does.not.exist.please.contact.the.administrator
=
\u5275\u
5EFA[
\u
61C9
\u7528\u
4FE1
\u
606F]
\u
914D
\u
7F6E
\u
4E0D
\u
5B58
\u5728\u
FF0C
\u
8ACB
\u
806F
\u
7E6B
\u
7BA1
\u7406\u
54E1
failed.to.create.[application.information]
.please.try.again.later
=
創建[應用信息]失敗,請稍後再試
failed.to.create.[application.information]
.please.try.again.later
=
\u5275\u
5EFA[
\u
61C9
\u7528\u
4FE1
\u
606F]
\u5931\u6557
,
\u
8ACB
\u
7A0D
\u
5F8C
\u
518D
\u
8A66
user.not.login
=
用戶未登錄
user.not.login
=
\u7528\u6236\u
672A
\u
767B
\u9304
application.does.not.exist
=
應用不存在
application.does.not.exist
=
\u
61C9
\u7528\u
4E0D
\u
5B58
\u5728
application.not.released
=
應用未發佈
application.not.released
=
\u
61C9
\u7528\u
672A
\u
767C
\u
4F48
generation.failed.please.try.again.later
=
生成失敗,請稍後重試
generation.failed.please.try.again.later
=
\u
751F
\u6210\u5931\u6557
,
\u
8ACB
\u
7A0D
\u
5F8C
\u
91CD
\u
8A66
data.does.not.exist
=
數據不存在
data.does.not.exist
=
\u6578\u
64DA
\u
4E0D
\u
5B58
\u5728
there.are.too.many.tasks.currently.please.try.again.later
=
當前任務過多,請稍後重試
there.are.too.many.tasks.currently.please.try.again.later
=
\u7576\u
524D
\u
4EFB
\u
52D9
\u
904E
\u
591A
\u
FF0C
\u
8ACB
\u
7A0D
\u
5F8C
\u
91CD
\u
8A66
verification.code.has.expired.please.obtain.it.again
=
驗證碼已過期,請重新獲取
verification.code.has.expired.please.obtain.it.again
=
\u
9A57
\u
8B49
\u
78BC
\u
5DF2
\u
904E
\u
671F
\u
FF0C
\u
8ACB
\u
91CD
\u
65B0
\u7372\u
53D6
maximum.number.of.verifications.has.been.reached
=
驗證次數已達上限
maximum.number.of.verifications.has.been.reached
=
\u
9A57
\u
8B49
\u
6B21
\u6578\u
5DF2
\u9054\u
4E0A
\u9650
verification.code.sending.failed.please.try.again
=
驗證碼發送失敗!請重試
verification.code.sending.failed.please.try.again
=
\u
9A57
\u
8B49
\u
78BC
\u
767C
\u9001\u5931\u6557\u
FF01
\u
8ACB
\u
91CD
\u
8A66
upload.exception.please.check.the.file.before.uploading.again
=
上傳異常,請檢查文件後再上傳
upload.exception.please.check.the.file.before.uploading.again
=
\u
4E0A
\u
50B3
\u7570\u
5E38,
\u
8ACB
\u
6AA2
\u
67E5
\u6587\u
4EF6
\u
5F8C
\u
518D
\u
4E0A
\u
50B3
abnormal.call.to.upload.alibaba.cloud.images
=
調用上傳阿里雲圖片異常!
abnormal.call.to.upload.alibaba.cloud.images
=
\u
8ABF
\u7528\u
4E0A
\u
50B3
\u
963F
\u
91CC
\u
96F2
\u5716\u7247\u7570\u
5E38
\u
FF01
cannot.read.data.from.this.url
=
不能從該url中讀取到數據
cannot.read.data.from.this.url
=
\u
4E0D
\u
80FD
\u
5F9E
\u
8A72url
\u
4E2D
\u
8B80
\u
53D6
\u5230\u6578\u
64DA
error.signature
=
錯誤的簽名
error.signature
=
\u
932F
\u
8AA4
\u7684\u
7C3D
\u
540D
signature.validity.time.exception
=
簽名有效時間異常
signature.validity.time.exception
=
\u
7C3D
\u
540D
\u6709\u6548\u6642\u9593\u7570\u
5E38
signature.has.expired
=
簽名已過期
signature.has.expired
=
\u
7C3D
\u
540D
\u
5DF2
\u
904E
\u
671F
app.not.found
=
未找到應用
app.not.found
=
\u
672A
\u
627E
\u5230\u
61C9
\u7528
failed.to.generate.recommendation.question
=
生成推薦問題失敗
failed.to.generate.recommendation.question
=
\u
751F
\u6210\u
63A8
\u
85A6
\u
554F
\u
984C
\u5931\u6557
document.does.not.exist
=
文檔不存在
document.does.not.exist
=
\u6587\u
6A94
\u
4E0D
\u
5B58
\u5728
knowledge.base.information.does.not.exist
=
知識庫信息不存在
knowledge.base.information.does.not.exist
=
\u
77E5
\u
8B58
\u
5EAB
\u
4FE1
\u
606F
\u
4E0D
\u
5B58
\u5728
repetitive.training.in.the.knowledge.base
=
知識庫重複訓練
repetitive.training.in.the.knowledge.base
=
\u
77E5
\u
8B58
\u
5EAB
\u
91CD
\u8907\u
8A13
\u
7DF4
knowledge.base.does.not.exist
=
知識庫不存在
knowledge.base.does.not.exist
=
\u
77E5
\u
8B58
\u
5EAB
\u
4E0D
\u
5B58
\u5728
private.key.of.the.marketing.platform.configuration.project.is.empty
=
營銷中臺配置項目私鑰爲空
private.key.of.the.marketing.platform.configuration.project.is.empty
=
\u
71DF
\u
92B7
\u
4E2D
\u
81FA
\u
914D
\u
7F6E
\u9805\u
76EE
\u
79C1
\u9470\u7232\u
7A7A
decryption.offset.of.the.marketing.platform.configuration.is.empty
=
營銷中臺配置解密偏移量爲空
decryption.offset.of.the.marketing.platform.configuration.is.empty
=
\u
71DF
\u
92B7
\u
4E2D
\u
81FA
\u
914D
\u
7F6E
\u
89E3
\u
5BC6
\u
504F
\u
79FB
\u
91CF
\u7232\u
7A7A
middle.server.is.unresponsive.or.has.timed.out
=
中臺服務器無響應或響應超時!
middle.server.is.unresponsive.or.has.timed.out
=
\u
4E2D
\u
81FA
\u
670D
\u
52D9
\u5668\u7121\u
97FF
\u
61C9
\u6216\u
97FF
\u
61C9
\u
8D85
\u6642\u
FF01
key.for.the.marketing.platform.configuration.project.is.empty
=
營銷中臺配置項目key爲空
key.for.the.marketing.platform.configuration.project.is.empty
=
\u
71DF
\u
92B7
\u
4E2D
\u
81FA
\u
914D
\u
7F6E
\u9805\u
76EEkey
\u7232\u
7A7A
secret.for.the.marketing.platform.configuration.project.is.empty
=
營銷中臺配置項目密鑰爲空
secret.for.the.marketing.platform.configuration.project.is.empty
=
\u
71DF
\u
92B7
\u
4E2D
\u
81FA
\u
914D
\u
7F6E
\u9805\u
76EE
\u
5BC6
\u9470\u7232\u
7A7A
failed.to.obtain.xinghai.apptoken
=
獲取興海apptoken失敗
failed.to.obtain.xinghai.apptoken
=
\u7372\u
53D6
\u8208\u
6D77apptoken
\u5931\u6557
default.login.channel.login.is.currently.not.supported
=
暫不支持默認登錄渠道登錄!
default.login.channel.login.is.currently.not.supported
=
\u
66AB
\u
4E0D
\u
652F
\u6301\u
9ED8
\u
8A8D
\u
767B
\u9304\u
6E20
\u9053\u
767B
\u9304\u
FF01
third.party.authorization.channel.abnormal
=
第三方授權渠道異常!
third.party.authorization.channel.abnormal
=
\u
7B2C
\u
4E09
\u
65B9
\u6388\u
6B0A
\u
6E20
\u9053\u7570\u
5E38!
third.party.login.channel.abnormality
=
第三方登錄渠道異常
third.party.login.channel.abnormality
=
\u
7B2C
\u
4E09
\u
65B9
\u
767B
\u9304\u
6E20
\u9053\u7570\u
5E38
abnormal.configuration.of.bai.liantong.open.platform
=
百聯通開放平臺配置異常!
abnormal.configuration.of.bai.liantong.open.platform
=
\u
767E
\u
806F
\u
901A
\u
958B
\u
653E
\u
5E73
\u
81FA
\u
914D
\u
7F6E
\u7570\u
5E38
\u
FF01
abnormal.acquisition.of.mini.program.information.please.check.if.the.configuration.is.correct
=
獲取小程序信息異常!請檢查配置是否正確!
abnormal.acquisition.of.mini.program.information.please.check.if.the.configuration.is.correct
=
\u7372\u
53D6
\u
5C0F
\u
7A0B
\u
5E8F
\u
4FE1
\u
606F
\u7570\u
5E38
\u
FF01
\u
8ACB
\u
6AA2
\u
67E5
\u
914D
\u
7F6E
\u
662F
\u5426\u
6B63
\u
78BA
\u
FF01
currently.no.default.registration.channel.for.login
=
暫無默認註冊渠道登錄!
currently.no.default.registration.channel.for.login
=
\u
66AB
\u7121\u
9ED8
\u
8A8D
\u
8A3B
\u
518A
\u
6E20
\u9053\u
767B
\u9304\u
FF01
abnormal.registration.channel
=
註冊渠道異常
abnormal.registration.channel
=
\u
8A3B
\u
518A
\u
6E20
\u9053\u7570\u
5E38
login.expiration.time.configured.as.empty
=
登錄過期時間配置爲空!
login.expiration.time.configured.as.empty
=
\u
767B
\u9304\u
904E
\u
671F
\u6642\u9593\u
914D
\u
7F6E
\u7232\u
7A7A!
there.is.currently.no.default.verification.code.channel.login
=
暫無默認驗證碼渠道登錄!
there.is.currently.no.default.verification.code.channel.login
=
\u
66AB
\u7121\u
9ED8
\u
8A8D
\u
9A57
\u
8B49
\u
78BC
\u
6E20
\u9053\u
767B
\u9304\u
FF01
verification.code.channel.abnormality
=
驗證碼渠道異常
verification.code.channel.abnormality
=
\u
9A57
\u
8B49
\u
78BC
\u
6E20
\u9053\u7570\u
5E38
failed.to.obtain.baidu.token
=
獲取百度token失敗
failed.to.obtain.baidu.token
=
\u7372\u
53D6
\u
767E
\u
5EA6token
\u5931\u6557
training.exception.please.contact.the.administrator
=
翻译異常,請聯繫管理員
training.exception.please.contact.the.administrator
=
\u
7FFB
\u
8BD1
\u7570\u
5E38,
\u
8ACB
\u
806F
\u
7E6B
\u
7BA1
\u7406\u
54E1
image.generation.failed
=
生成圖片失敗
image.generation.failed
=
\u
751F
\u6210\u5716\u7247\u5931\u6557
middle.platform.is.unresponsive
=
中臺無響應,請聯繫開發人員
middle.platform.is.unresponsive
=
\u
4E2D
\u
81FA
\u7121\u
97FF
\u
61C9
\u
FF0C
\u
8ACB
\u
806F
\u
7E6B
\u
958B
\u
767C
\u
4EBA
\u
54E1
no.response.please.contact.the.developer
=
無響應,請聯繫開發人員
no.response.please.contact.the.developer
=
\u7121\u
97FF
\u
61C9
\u
FF0C
\u
8ACB
\u
806F
\u
7E6B
\u
958B
\u
767C
\u
4EBA
\u
54E1
abnormal.knowledge.base.training
=
知識庫訓練異常
abnormal.knowledge.base.training
=
\u
77E5
\u
8B58
\u
5EAB
\u
8A13
\u
7DF4
\u7570\u
5E38
abnormal.training.status.of.knowledge.base.acquisition
=
獲取知識庫訓練狀態異常
abnormal.training.status.of.knowledge.base.acquisition
=
\u7372\u
53D6
\u
77E5
\u
8B58
\u
5EAB
\u
8A13
\u
7DF4
\u
72C0
\u
614B
\u7570\u
5E38
delete.knowledge.base.exception
=
刪除知識庫異常
delete.knowledge.base.exception
=
\u
522A
\u9664\u
77E5
\u
8B58
\u
5EAB
\u7570\u
5E38
query.knowledge.base.exception
=
查詢知識庫異常
query.knowledge.base.exception
=
\u
67E5
\u
8A62
\u
77E5
\u
8B58
\u
5EAB
\u7570\u
5E38
variable.structure.configuration.is.not.currently.supported
=
暫不支持變量結構配置
variable.structure.configuration.is.not.currently.supported
=
\u
66AB
\u
4E0D
\u
652F
\u6301\u
8B8A
\u
91CF
\u
7D50
\u
69CB
\u
914D
\u
7F6E
this.method.is.not.supported
=
不支持此方法
this.method.is.not.supported
=
\u
4E0D
\u
652F
\u6301\u
6B64
\u
65B9
\u
6CD5
failed.to.obtain.token
=
獲取token失敗
failed.to.obtain.token
=
\u7372\u
53D6token
\u5931\u6557
re-verify.the.user.identity
=
請重新驗證用戶身份
re-verify.the.user.identity
=
\u
8ACB
\u
91CD
\u
65B0
\u
9A57
\u
8B49
\u7528\u6236\u
8EAB
\u
4EFD
user.cannot.be.found
=
找不到該用戶
user.cannot.be.found
=
\u
627E
\u
4E0D
\u5230\u
8A72
\u7528\u6236
verification.code.is.incorrect.please.re-enter
=
驗證碼有誤,請重新輸入
verification.code.is.incorrect.please.re-enter
=
\u
9A57
\u
8B49
\u
78BC
\u6709\u
8AA4
\u
FF0C
\u
8ACB
\u
91CD
\u
65B0
\u
8F38
\u5165
user.does.not.exist
=
登錄的用戶不存在
user.does.not.exist
=
\u7528\u6236\u
4E0D
\u
5B58
\u5728
password.error.please.re-enter
=
密碼錯誤,請重新輸入
password.error.please.re-enter
=
\u
5BC6
\u
78BC
\u
932F
\u
8AA4,
\u
8ACB
\u
91CD
\u
65B0
\u
8F38
\u5165
unable.find.user.association.relationship
=
找不到用戶的關聯關係
unable.find.user.association.relationship
=
\u
627E
\u
4E0D
\u5230\u7528\u6236\u7684\u
95DC
\u
806F
\u
95DC
\u
4FC2
account.has.already
=
該賬號已經被註冊,請更換一個
account.has.already
=
\u
8A72
\u
8CEC
\u
865F
\u
5DF2
\u
7D93
\u
88AB
\u
8A3B
\u
518A
\u
FF0C
\u
8ACB
\u
66F4
\u
63DB
\u
4E00
\u
500B
not.support.lang
=
不支持該語言
not.support.lang
=
\u
4E0D
\u
652F
\u6301\u
8A72
\u
8A9E
\u
8A00
call.failure
=
調用失敗
call.failure
=
\u
8ABF
\u7528\u5931\u6557
model.not.exist
=
模型不存在
model.not.exist
=
\u
6A21
\u
578B
\u
4E0D
\u
5B58
\u5728
upload.more.than.10m
=
上傳文件不可超過10M
upload.more.than.10m
=
\u
4E0A
\u
50B3
\u6587\u
4EF6
\u
4E0D
\u
53EF
\u
8D85
\u
904E10M
error.file.content.is.null
=
錯誤的文件,内容不能爲空
error.file.content.is.null
=
\u
932F
\u
8AA4
\u7684\u6587\u
4EF6,
\u5185\u
5BB9
\u
4E0D
\u
80FD
\u7232\u
7A7A
file.content.more.than.100w
=
文件内容不可超100w字符
file.content.more.than.100w
=
\u6587\u
4EF6
\u5185\u
5BB9
\u
4E0D
\u
53EF
\u
8D85100w
\u
5B57
\u
7B26
\ No newline at end of file
collect.limit.message
=
\u
9EDE
\u
64CA
\u
904E
\u
5FEB
\u
FF0C
\u
8ACB
\u
52FF
\u
91CD
\u8907\u
64CD
\u
4F5C
\ 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