Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
elleai
Project
Project
Details
Activity
Releases
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
ai-tech
E
ellehuis-group
backend
elleai
Commits
bd2da345
Commit
bd2da345
authored
Oct 21, 2024
by
陈立彬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
字典配置、任务调度
parent
df093341
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
195 additions
and
28 deletions
+195
-28
AppCommonService.java
...n/breeze/elleai/application/service/AppCommonService.java
+14
-15
AppExamineService.java
.../breeze/elleai/application/service/AppExamineService.java
+2
-3
ExamineEvaluateJobSaveModel.java
...n/sparring/model/request/ExamineEvaluateJobSaveModel.java
+5
-0
DataDicResponseModel.java
.../domain/sparring/model/response/DataDicResponseModel.java
+20
-0
CommonService.java
.../breeze/elleai/domain/sparring/service/CommonService.java
+3
-0
CommonServiceImpl.java
...eze/elleai/domain/sparring/service/CommonServiceImpl.java
+12
-0
ExamineService.java
...breeze/elleai/domain/sparring/service/ExamineService.java
+2
-0
ExamineServiceImpl.java
...ze/elleai/domain/sparring/service/ExamineServiceImpl.java
+8
-0
DataDicEntity.java
...ain/java/cn/breeze/elleai/infra/entity/DataDicEntity.java
+41
-0
DataDicTableDef.java
.../cn/breeze/elleai/infra/entity/table/DataDicTableDef.java
+59
-0
DataDicMapper.java
...ain/java/cn/breeze/elleai/infra/mapper/DataDicMapper.java
+17
-0
SingleJob.java
src/main/java/cn/breeze/elleai/job/SingleJob.java
+8
-10
Codes.java
src/main/java/cn/breeze/elleai/util/Codes.java
+4
-0
No files found.
src/main/java/cn/breeze/elleai/application/service/AppCommonService.java
View file @
bd2da345
...
...
@@ -8,8 +8,10 @@ import cn.breeze.elleai.application.dto.response.KnowledgeDataBaseCategoryDto;
import
cn.breeze.elleai.application.dto.response.ProperNounDto
;
import
cn.breeze.elleai.domain.sparring.model.request.ProperNounRequestModel
;
import
cn.breeze.elleai.domain.sparring.model.request.ProperNounSaveModel
;
import
cn.breeze.elleai.domain.sparring.model.response.DataDicResponseModel
;
import
cn.breeze.elleai.domain.sparring.model.response.ProperNounResponseModel
;
import
cn.breeze.elleai.domain.sparring.service.CommonService
;
import
cn.breeze.elleai.util.Codes
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.StrUtil
;
...
...
@@ -17,10 +19,12 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONObject
;
import
com.mybatisflex.core.paginate.Page
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -112,12 +116,11 @@ public class AppCommonService {
*/
public
List
<
KnowledgeDataBaseCategoryDto
>
KnowledgeDataBaseCategoryList
()
{
List
<
KnowledgeDataBaseCategoryDto
>
result
=
new
ArrayList
<>();
KnowledgeDataBaseCategoryDto
dto
=
new
KnowledgeDataBaseCategoryDto
();
dto
.
setId
(
1
);
dto
.
setName
(
"品项"
);
result
.
add
(
dto
);
return
result
;
DataDicResponseModel
dataDicByCode
=
commonService
.
getDataDicByCode
(
Codes
.
DATA_DIC_KDB_CATEGORY_LIST
);
if
(
Objects
.
nonNull
(
dataDicByCode
)
&&
StrUtil
.
isNotEmpty
(
dataDicByCode
.
getDataValue
()))
{
return
JSONObject
.
parseArray
(
dataDicByCode
.
getDataValue
(),
KnowledgeDataBaseCategoryDto
.
class
);
}
return
null
;
}
/**
...
...
@@ -126,14 +129,10 @@ public class AppCommonService {
*/
public
List
<
AppRoleDto
>
appRoleList
()
{
List
<
AppRoleDto
>
result
=
new
ArrayList
<>();
AppRoleDto
dto
=
new
AppRoleDto
();
dto
.
setName
(
"顾问"
);
result
.
add
(
dto
);
AppRoleDto
dto2
=
new
AppRoleDto
();
dto2
.
setName
(
"美容师"
);
result
.
add
(
dto2
);
return
result
;
DataDicResponseModel
dataDicByCode
=
commonService
.
getDataDicByCode
(
Codes
.
DATA_DIC_APP_ROLE_LIST
);
if
(
Objects
.
nonNull
(
dataDicByCode
)
&&
StrUtil
.
isNotEmpty
(
dataDicByCode
.
getDataValue
()))
{
return
JSONObject
.
parseArray
(
dataDicByCode
.
getDataValue
(),
AppRoleDto
.
class
);
}
return
null
;
}
}
src/main/java/cn/breeze/elleai/application/service/AppExamineService.java
View file @
bd2da345
...
...
@@ -1184,11 +1184,9 @@ public class AppExamineService {
model
.
setBusinessNo
(
businessNo
);
model
.
setType
(
0
);
model
.
setStatus
(
0
);
model
.
setUserId
(
userId
);
model
.
setCreateTime
(
new
Date
());
commonService
.
saveEvaluateJob
(
model
);
String
redisKey
=
String
.
format
(
Codes
.
SINGLE_AI_EVALUATE_JOB_STATUS
,
businessNo
);
redisTemplate
.
opsForValue
().
set
(
redisKey
,
"0"
,
7
,
TimeUnit
.
DAYS
);
}
// 更新缓存
...
...
@@ -1226,6 +1224,7 @@ public class AppExamineService {
model
.
setBusinessNo
(
businessNo
);
model
.
setType
(
1
);
model
.
setStatus
(
0
);
model
.
setUserId
(
userId
);
model
.
setCreateTime
(
new
Date
());
commonService
.
saveEvaluateJob
(
model
);
}
...
...
src/main/java/cn/breeze/elleai/domain/sparring/model/request/ExamineEvaluateJobSaveModel.java
View file @
bd2da345
...
...
@@ -20,6 +20,11 @@ public class ExamineEvaluateJobSaveModel implements Serializable {
*/
private
String
businessNo
;
/**
* 用户ID
*/
private
String
userId
;
/**
* 类型(0单题点评 1总点评)
*/
...
...
src/main/java/cn/breeze/elleai/domain/sparring/model/response/DataDicResponseModel.java
0 → 100644
View file @
bd2da345
package
cn
.
breeze
.
elleai
.
domain
.
sparring
.
model
.
response
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
@Data
public
class
DataDicResponseModel
implements
Serializable
{
private
Integer
id
;
private
String
dataCode
;
private
String
dataValue
;
private
String
description
;
private
Date
createTime
;
}
src/main/java/cn/breeze/elleai/domain/sparring/service/CommonService.java
View file @
bd2da345
package
cn
.
breeze
.
elleai
.
domain
.
sparring
.
service
;
import
cn.breeze.elleai.domain.sparring.model.request.*
;
import
cn.breeze.elleai.domain.sparring.model.response.DataDicResponseModel
;
import
cn.breeze.elleai.domain.sparring.model.response.ExamineEvaluateJobResponseModel
;
import
cn.breeze.elleai.domain.sparring.model.response.ProperNounResponseModel
;
import
com.mybatisflex.core.paginate.Page
;
...
...
@@ -28,4 +29,6 @@ public interface CommonService {
ExamineEvaluateJobResponseModel
getEvaluateJob
(
Integer
type
,
Integer
businessId
);
List
<
ExamineEvaluateJobResponseModel
>
pendingEvaluateJobList
();
DataDicResponseModel
getDataDicByCode
(
String
dataCode
);
}
src/main/java/cn/breeze/elleai/domain/sparring/service/CommonServiceImpl.java
View file @
bd2da345
...
...
@@ -3,10 +3,12 @@ package cn.breeze.elleai.domain.sparring.service;
import
cn.breeze.elleai.domain.sparring.model.request.ExamineEvaluateJobSaveModel
;
import
cn.breeze.elleai.domain.sparring.model.request.ProperNounRequestModel
;
import
cn.breeze.elleai.domain.sparring.model.request.ProperNounSaveModel
;
import
cn.breeze.elleai.domain.sparring.model.response.DataDicResponseModel
;
import
cn.breeze.elleai.domain.sparring.model.response.ExamineEvaluateJobResponseModel
;
import
cn.breeze.elleai.domain.sparring.model.response.ProperNounResponseModel
;
import
cn.breeze.elleai.infra.entity.ExamineEvaluateJobEntity
;
import
cn.breeze.elleai.infra.entity.ProperNounEntity
;
import
cn.breeze.elleai.infra.mapper.DataDicMapper
;
import
cn.breeze.elleai.infra.mapper.ExamineEvaluateJobMapper
;
import
cn.breeze.elleai.infra.mapper.ProperNounMapper
;
import
cn.hutool.core.bean.BeanUtil
;
...
...
@@ -24,6 +26,7 @@ import java.util.Objects;
import
static
cn
.
breeze
.
elleai
.
infra
.
entity
.
table
.
ProperNounTableDef
.
PROPER_NOUN_ENTITY
;
import
static
cn
.
breeze
.
elleai
.
infra
.
entity
.
table
.
ExamineEvaluateJobTableDef
.
EXAMINE_EVALUATE_JOB_ENTITY
;
import
static
cn
.
breeze
.
elleai
.
infra
.
entity
.
table
.
DataDicTableDef
.
DATA_DIC_ENTITY
;
@Service
...
...
@@ -34,6 +37,8 @@ public class CommonServiceImpl implements CommonService{
private
final
ExamineEvaluateJobMapper
evaluateJobMapper
;
private
final
DataDicMapper
dataDicMapper
;
@Override
public
Page
<
ProperNounResponseModel
>
properNounPaginQuery
(
ProperNounRequestModel
request
)
{
Integer
pageNo
=
ObjectUtil
.
defaultIfNull
(
request
.
getPageNo
(),
1
);
...
...
@@ -126,4 +131,11 @@ public class CommonServiceImpl implements CommonService{
return
evaluateJobMapper
.
selectListByQueryAs
(
queryWrapper
,
ExamineEvaluateJobResponseModel
.
class
);
}
@Override
public
DataDicResponseModel
getDataDicByCode
(
String
dataCode
)
{
QueryWrapper
queryWrapper
=
QueryWrapper
.
create
()
.
where
(
DATA_DIC_ENTITY
.
DATA_CODE
.
eq
(
dataCode
));
return
dataDicMapper
.
selectOneByQueryAs
(
queryWrapper
,
DataDicResponseModel
.
class
);
}
}
src/main/java/cn/breeze/elleai/domain/sparring/service/ExamineService.java
View file @
bd2da345
...
...
@@ -102,6 +102,8 @@ public interface ExamineService {
ExamineRecordDetailResponseModel
singleExamineQaDetail
(
Integer
id
);
long
countUnfinishedExamineRecord
(
Integer
examineId
);
/***************************************** 资料库分类 *****************************************/
Page
<
WikiCategoryResponseModel
>
wikiCategoryPaginQuery
(
WikiCategoryRequestModel
request
);
...
...
src/main/java/cn/breeze/elleai/domain/sparring/service/ExamineServiceImpl.java
View file @
bd2da345
...
...
@@ -496,6 +496,14 @@ public class ExamineServiceImpl implements ExamineService {
return
userExamineDetailRecordMapper
.
selectOneByQueryAs
(
queryWrapper
,
ExamineRecordDetailResponseModel
.
class
);
}
@Override
public
long
countUnfinishedExamineRecord
(
Integer
examineId
)
{
QueryWrapper
queryWrapper
=
QueryWrapper
.
create
()
.
where
(
USER_EXAMINE_DETAIL_RECORD_ENTITY
.
RECORD_ID
.
eq
(
examineId
))
.
and
(
USER_EXAMINE_DETAIL_RECORD_ENTITY
.
EVALUATION
.
isNull
().
or
(
USER_EXAMINE_DETAIL_RECORD_ENTITY
.
SCORE
.
isNull
()));
return
userExamineDetailRecordMapper
.
selectCountByQuery
(
queryWrapper
);
}
@Override
public
Page
<
WikiCategoryResponseModel
>
wikiCategoryPaginQuery
(
WikiCategoryRequestModel
request
)
{
Integer
pageNo
=
ObjectUtil
.
defaultIfNull
(
request
.
getPageNo
(),
1
);
...
...
src/main/java/cn/breeze/elleai/infra/entity/DataDicEntity.java
0 → 100644
View file @
bd2da345
package
cn
.
breeze
.
elleai
.
infra
.
entity
;
import
com.mybatisflex.annotation.Id
;
import
com.mybatisflex.annotation.KeyType
;
import
com.mybatisflex.annotation.Table
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 实体类。
*
* @author breeze
* @since 2024-09-18
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table
(
"ai_data_dic"
)
public
class
DataDicEntity
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
@Id
(
keyType
=
KeyType
.
Auto
)
private
Integer
id
;
private
String
dataCode
;
private
String
dataValue
;
private
String
description
;
private
Date
createTime
;
}
src/main/java/cn/breeze/elleai/infra/entity/table/DataDicTableDef.java
0 → 100644
View file @
bd2da345
package
cn
.
breeze
.
elleai
.
infra
.
entity
.
table
;
import
com.mybatisflex.core.query.QueryColumn
;
import
com.mybatisflex.core.table.TableDef
;
import
java.io.Serial
;
/**
* 表定义层。
*
* @author breeze
* @since 2024-09-18
*/
public
class
DataDicTableDef
extends
TableDef
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
public
static
final
DataDicTableDef
DATA_DIC_ENTITY
=
new
DataDicTableDef
();
public
final
QueryColumn
ID
=
new
QueryColumn
(
this
,
"id"
);
public
final
QueryColumn
DATA_CODE
=
new
QueryColumn
(
this
,
"data_code"
);
public
final
QueryColumn
DATA_VALUE
=
new
QueryColumn
(
this
,
"data_value"
);
public
final
QueryColumn
DESCRIPTION
=
new
QueryColumn
(
this
,
"description"
);
public
final
QueryColumn
CREATE_TIME
=
new
QueryColumn
(
this
,
"create_time"
);
/**
* 所有字段。
*/
public
final
QueryColumn
ALL_COLUMNS
=
new
QueryColumn
(
this
,
"*"
);
/**
* 默认字段,不包含逻辑删除或者 large 等字段。
*/
public
final
QueryColumn
[]
DEFAULT_COLUMNS
=
new
QueryColumn
[]{
ID
,
DATA_CODE
,
DATA_VALUE
,
DESCRIPTION
,
CREATE_TIME
};
public
DataDicTableDef
()
{
super
(
""
,
"ai_data_dic"
);
}
private
DataDicTableDef
(
String
schema
,
String
name
,
String
alisa
)
{
super
(
schema
,
name
,
alisa
);
}
public
DataDicTableDef
as
(
String
alias
)
{
String
key
=
getNameWithSchema
()
+
"."
+
alias
;
return
getCache
(
key
,
k
->
new
DataDicTableDef
(
""
,
"ai_data_dic"
,
alias
));
}
}
src/main/java/cn/breeze/elleai/infra/mapper/DataDicMapper.java
0 → 100644
View file @
bd2da345
package
cn
.
breeze
.
elleai
.
infra
.
mapper
;
import
cn.breeze.elleai.infra.entity.DataDicEntity
;
import
cn.breeze.elleai.infra.entity.WikiCategoryEntity
;
import
com.mybatisflex.core.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* 映射层。
*
* @author breeze
* @since 2024-09-18
*/
@Mapper
public
interface
DataDicMapper
extends
BaseMapper
<
DataDicEntity
>
{
}
src/main/java/cn/breeze/elleai/job/SingleJob.java
View file @
bd2da345
...
...
@@ -59,7 +59,11 @@ public class SingleJob extends QuartzJobBean {
log
.
info
(
"定时轮询AI点评异常任务,jobList size = {}"
,
jobList
.
size
());
if
(
CollectionUtil
.
isNotEmpty
(
jobList
))
{
jobList
.
forEach
(
v
->
{
executeEvaluateJob
(
v
);
try
{
executeEvaluateJob
(
v
);
}
catch
(
Exception
ex
)
{
ex
.
printStackTrace
();
}
});
}
...
...
@@ -68,7 +72,6 @@ public class SingleJob extends QuartzJobBean {
@Async
public
void
executeEvaluateJob
(
ExamineEvaluateJobResponseModel
job
)
{
Integer
id
=
job
.
getId
();
Integer
type
=
job
.
getType
();
Integer
businessId
=
job
.
getBusinessId
();
String
businessNo
=
job
.
getBusinessNo
();
...
...
@@ -95,16 +98,11 @@ public class SingleJob extends QuartzJobBean {
update
.
setId
(
job
.
getId
());
update
.
setStatus
(
1
);
commonService
.
saveEvaluateJob
(
update
);
// 更新任务缓存信息
String
redisKey
=
String
.
format
(
Codes
.
SINGLE_AI_EVALUATE_JOB_STATUS
,
businessNo
);
redisTemplate
.
opsForValue
().
set
(
redisKey
,
"1"
,
7
,
TimeUnit
.
DAYS
);
}
}
else
{
//TODO 判断所有题目是否已经单题点评完毕
String
redisKey
=
String
.
format
(
Codes
.
SINGLE_AI_EVALUATE_JOB_STATUS
,
businessNo
);
String
jobStatus
=
redisTemplate
.
opsForValue
().
get
(
redisKey
);
if
(
Objects
.
equals
(
jobStatus
,
"1"
))
{
// 判断所有题目是否已经单题点评完毕
long
count
=
examineService
.
countUnfinishedExamineRecord
(
businessId
);
if
(
Objects
.
equals
(
count
,
0L
))
{
// 获取答题结果
ExamineDetailRecordRequestModel
requestModel
=
new
ExamineDetailRecordRequestModel
();
requestModel
.
setRecordId
(
businessId
);
...
...
src/main/java/cn/breeze/elleai/util/Codes.java
View file @
bd2da345
...
...
@@ -64,4 +64,8 @@ public abstract class Codes {
public
static
final
String
SINGLE_AI_EVALUATE_JOB_STATUS
=
"ai:single_evaluate_job:%s"
;
public
static
final
String
TOTAL_AI_EVALUATE_JOB_STATUS
=
"ai:total_evaluate_job:%s"
;
public
static
final
String
DATA_DIC_APP_ROLE_LIST
=
"app_role_list"
;
public
static
final
String
DATA_DIC_KDB_CATEGORY_LIST
=
"kdb_category_list"
;
}
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