Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
legobackend
/
lego-manage
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
b929f46f
authored
2025-07-05 13:53:23 +0800
by
chentao
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
调整层级关系
1 parent
691236a0
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
203 additions
and
150 deletions
lego-core/src/main/java/com/lego/core/domin/BuildingBlock.java
lego-core/src/main/java/com/lego/core/domin/Course.java
lego-core/src/main/java/com/lego/core/domin/Entirety.java
lego-core/src/main/java/com/lego/core/domin/Question.java
lego-core/src/main/java/com/lego/core/domin/bo/BuildingBlockBo.java
lego-core/src/main/java/com/lego/core/domin/bo/CourseBo.java
lego-core/src/main/java/com/lego/core/domin/bo/EntiretyBo.java
lego-core/src/main/java/com/lego/core/domin/bo/QuestionBo.java
lego-core/src/main/java/com/lego/core/domin/vo/BuildingBlockVo.java
lego-core/src/main/java/com/lego/core/domin/vo/CourseVo.java
lego-core/src/main/java/com/lego/core/domin/vo/EntiretyVo.java
lego-core/src/main/java/com/lego/core/domin/vo/QuestionVo.java
lego-core/src/main/java/com/lego/core/service/IBuildingBlockService.java
lego-core/src/main/java/com/lego/core/service/ICourseService.java
lego-core/src/main/java/com/lego/core/service/IEntiretyService.java
lego-core/src/main/java/com/lego/core/service/impl/BuildingBlockServiceImpl.java
lego-core/src/main/java/com/lego/core/service/impl/CourseServiceImpl.java
lego-core/src/main/java/com/lego/core/service/impl/EntiretyServiceImpl.java
lego-core/src/main/java/com/lego/core/service/impl/QuestionServiceImpl.java
lego-core/src/main/java/com/lego/core/domin/BuildingBlock.java
View file @
b929f46
...
...
@@ -28,11 +28,6 @@ public class BuildingBlock extends BaseEntity {
private
String
id
;
/**
* 套件ID
*/
private
String
entiretyId
;
/**
* 广告名称
*/
private
String
name
;
...
...
lego-core/src/main/java/com/lego/core/domin/Course.java
View file @
b929f46
...
...
@@ -29,9 +29,9 @@ public class Course extends BaseEntity {
/**
*
系列
ID
*
套件
ID
*/
private
String
buildingBlock
Id
;
private
String
entirety
Id
;
/**
* 课程名称
*/
...
...
lego-core/src/main/java/com/lego/core/domin/Entirety.java
View file @
b929f46
...
...
@@ -28,19 +28,19 @@ public class Entirety extends BaseEntity {
private
String
id
;
/**
*
广告名称
*
系列ID
*/
private
String
name
;
private
String
buildingBlockId
;
/**
*
排序
*
套件名称
*/
private
Long
sort
;
private
String
name
;
/**
*
类型(0词语 1图标 )
*
排序
*/
private
String
type
;
private
Long
sort
;
/**
* 文件ID
...
...
lego-core/src/main/java/com/lego/core/domin/Question.java
View file @
b929f46
...
...
@@ -78,4 +78,9 @@ public class Question extends BaseEntity {
@TableLogic
private
String
delFlag
;
/**
* 系列ID
*/
private
String
buildingBlockId
;
}
\ No newline at end of file
...
...
lego-core/src/main/java/com/lego/core/domin/bo/BuildingBlockBo.java
View file @
b929f46
...
...
@@ -23,12 +23,6 @@ public class BuildingBlockBo extends BaseBO {
private
String
id
;
/**
* 套件ID
*/
@NotBlank
(
message
=
"套件不能为空"
)
private
String
entiretyId
;
/**
* 系列名称
*/
@NotBlank
(
message
=
"系列名称不能为空"
)
...
...
lego-core/src/main/java/com/lego/core/domin/bo/CourseBo.java
View file @
b929f46
...
...
@@ -25,8 +25,8 @@ public class CourseBo extends BaseBO {
/**
* 系列ID
*/
@NotBlank
(
message
=
"
系列
不能为空"
)
private
String
buildingBlock
Id
;
@NotBlank
(
message
=
"
套件
不能为空"
)
private
String
entirety
Id
;
/**
* 课程名称
...
...
lego-core/src/main/java/com/lego/core/domin/bo/EntiretyBo.java
View file @
b929f46
...
...
@@ -23,6 +23,12 @@ public class EntiretyBo extends BaseBO {
private
String
id
;
/**
* 系列ID
*/
@NotBlank
(
message
=
"系列不能为空"
)
private
String
buildingBlockId
;
/**
* 套件名称
*/
@NotBlank
(
message
=
"套件名称不能为空"
)
...
...
@@ -36,12 +42,6 @@ public class EntiretyBo extends BaseBO {
private
Long
sort
;
/**
* 类型(0词语 1图标 )
*/
@NotBlank
(
message
=
"类别不能为空"
)
private
String
type
;
/**
* 文件ID
*/
private
String
ossId
;
...
...
lego-core/src/main/java/com/lego/core/domin/bo/QuestionBo.java
View file @
b929f46
...
...
@@ -63,4 +63,9 @@ public class QuestionBo extends BaseBO {
* 排序
*/
private
Long
sort
;
/**
* 系列ID
*/
private
String
buildingBlockId
;
}
\ No newline at end of file
...
...
lego-core/src/main/java/com/lego/core/domin/vo/BuildingBlockVo.java
View file @
b929f46
...
...
@@ -2,6 +2,8 @@ package com.lego.core.domin.vo;
import
lombok.Data
;
import
java.util.List
;
/**
* 系列视图对象 core_building_block
*
...
...
@@ -20,17 +22,7 @@ public class BuildingBlockVo {
private
String
id
;
/**
* 套件ID
*/
private
String
entiretyId
;
/**
* 套件名称
*/
private
String
entiretyName
;
/**
* 广告名称
* 系列名称
*/
private
String
name
;
...
...
@@ -53,4 +45,10 @@ public class BuildingBlockVo {
* 排序
*/
private
Long
sort
;
/**
* 套件信息
*/
List
<
EntiretyVo
>
entiretyList
;
}
...
...
lego-core/src/main/java/com/lego/core/domin/vo/CourseVo.java
View file @
b929f46
...
...
@@ -22,14 +22,14 @@ public class CourseVo {
private
String
id
;
/**
*
系列
ID
*
套件
ID
*/
private
String
buildingBlock
Id
;
private
String
entirety
Id
;
/**
*
系列
名称
*
套件
名称
*/
private
String
buildingBlock
Name
;
private
String
entirety
Name
;
/**
* 课程名称
...
...
lego-core/src/main/java/com/lego/core/domin/vo/EntiretyVo.java
View file @
b929f46
...
...
@@ -22,7 +22,17 @@ public class EntiretyVo {
private
String
id
;
/**
* 广告名称
* 系列ID
*/
private
String
buildingBlockId
;
/**
* 系列名称
*/
private
String
buildingBlockName
;
/**
* 套件名称
*/
private
String
name
;
...
...
@@ -31,10 +41,6 @@ public class EntiretyVo {
*/
private
Long
sort
;
/**
* 类型(0词语 1图标 )
*/
private
String
type
;
/**
* 文件ID
...
...
@@ -50,9 +56,4 @@ public class EntiretyVo {
* 前端APP数据国际化(zh_CN、en_US、ru_RU)
*/
private
String
language
;
/**
* 系列信息
*/
List
<
BuildingBlockVo
>
BuildingblockList
;
}
...
...
lego-core/src/main/java/com/lego/core/domin/vo/QuestionVo.java
View file @
b929f46
...
...
@@ -78,4 +78,13 @@ public class QuestionVo {
* 前端APP数据国际化(zh_CN、en_US、ru_RU)
*/
private
String
language
;
/**
* 系列ID
*/
private
String
buildingBlockId
;
/**
* 系列名称
*/
private
String
buildingBlockName
;
}
\ No newline at end of file
...
...
lego-core/src/main/java/com/lego/core/service/IBuildingBlockService.java
View file @
b929f46
...
...
@@ -40,13 +40,6 @@ public interface IBuildingBlockService {
List
<
BuildingBlockVo
>
list
();
/**
* (根据套件ID)不带分页查询
*
* @return
*/
List
<
BuildingBlockVo
>
list
(
String
language
,
Collection
<
String
>
entiretyIds
);
/**
* 新增
*
* @param blockBo
...
...
lego-core/src/main/java/com/lego/core/service/ICourseService.java
View file @
b929f46
...
...
@@ -26,10 +26,10 @@ public interface ICourseService {
/**
* 根据系列id查找的课程列表
*
* @param
buildingBlock
Id
* @param
entirety
Id
* @return
*/
List
<
CourseVo
>
list
(
String
buildingBlock
Id
);
List
<
CourseVo
>
list
(
String
entirety
Id
);
/**
* 获取所有课程
...
...
lego-core/src/main/java/com/lego/core/service/IEntiretyService.java
View file @
b929f46
...
...
@@ -6,6 +6,7 @@ import com.lego.common.core.page.TableDataInfo;
import
com.lego.core.domin.bo.AdvertBo
;
import
com.lego.core.domin.bo.EntiretyBo
;
import
com.lego.core.domin.vo.AdvertVo
;
import
com.lego.core.domin.vo.BuildingBlockVo
;
import
com.lego.core.domin.vo.EntiretyVo
;
import
java.rmi.ServerException
;
...
...
@@ -74,4 +75,11 @@ public interface IEntiretyService {
* @throws ServerException
*/
List
<
EntiretyVo
>
getListByIds
(
Collection
<
String
>
ids
);
/**
* (根据系列ID)不带分页查询
*
* @return
*/
List
<
EntiretyVo
>
list
(
String
language
,
Collection
<
String
>
buildingBlockIds
);
}
...
...
lego-core/src/main/java/com/lego/core/service/impl/BuildingBlockServiceImpl.java
View file @
b929f46
...
...
@@ -9,15 +9,18 @@ import com.lego.common.core.page.TableDataInfo;
import
com.lego.common.core.service.OssService
;
import
com.lego.common.utils.MessageUtils
;
import
com.lego.common.utils.StreamUtils
;
import
com.lego.common.utils.spring.SpringUtils
;
import
com.lego.core.annotation.LanguageAnnotation
;
import
com.lego.core.domin.BuildingBlock
;
import
com.lego.core.domin.Course
;
import
com.lego.core.domin.Entirety
;
import
com.lego.core.domin.bo.BuildingBlockBo
;
import
com.lego.core.domin.bo.BuildingBlockQueryBo
;
import
com.lego.core.domin.vo.BuildingBlockVo
;
import
com.lego.core.domin.vo.EntiretyVo
;
import
com.lego.core.mapper.BuildingBlockMapper
;
import
com.lego.core.mapper.CourseMapper
;
import
com.lego.core.mapper.EntiretyMapper
;
import
com.lego.core.service.IBuildingBlockService
;
import
com.lego.core.service.IEntiretyService
;
import
com.lego.system.domain.vo.SysOssVo
;
...
...
@@ -28,10 +31,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.util.CollectionUtils
;
import
java.rmi.ServerException
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.*
;
/**
* 系列Service业务层处理
...
...
@@ -43,10 +43,13 @@ import java.util.Set;
@Service
public
class
BuildingBlockServiceImpl
implements
IBuildingBlockService
{
private
final
BuildingBlockMapper
baseMapper
;
private
final
IEntiretyService
entiretyService
;
private
final
CourseMapper
courseMapper
;
private
final
ISysOssService
iSysOssService
;
private
final
EntiretyMapper
entiretyMapper
;
private
final
OssService
ossUrlService
;
private
final
ISysOssService
iSysOssService
;
public
IEntiretyService
getEntiretyService
()
{
return
SpringUtils
.
getBean
(
IEntiretyService
.
class
);
}
/**
* 查询所有列表(带分页)
...
...
@@ -58,26 +61,34 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
public
TableDataInfo
<
BuildingBlockVo
>
listPage
(
BuildingBlockQueryBo
queryBo
,
String
language
)
{
Page
<
BuildingBlockVo
>
page
=
baseMapper
.
selectVoPage
(
queryBo
.
build
(),
Wrappers
.<
BuildingBlock
>
lambdaQuery
()
.
like
(
StrUtil
.
isNotBlank
(
queryBo
.
getSearchKey
()),
BuildingBlock:
:
getName
,
queryBo
.
getSearchKey
())
.
eq
(
BuildingBlock:
:
getLanguage
,
language
).
orderByAsc
(
BuildingBlock:
:
getId
));
setInfo
(
page
.
getRecords
());
return
TableDataInfo
.
build
(
page
);
}
private
void
setInfo
(
List
<
BuildingBlockVo
>
list
)
{
if
(
ObjectUtil
.
isNotEmpty
(
list
))
{
Set
<
String
>
ids
=
StreamUtils
.
toSet
(
list
,
BuildingBlockVo:
:
getEntiretyId
);
List
<
EntiretyVo
>
entiretyList
=
entiretyService
.
getListByIds
(
ids
);
Map
<
String
,
EntiretyVo
>
entiretyMap
=
StreamUtils
.
toMap
(
entiretyList
,
EntiretyVo:
:
getId
,
v
->
v
);
for
(
BuildingBlockVo
vo
:
list
)
{
vo
.
setEntiretyName
(
entiretyMap
.
getOrDefault
(
vo
.
getEntiretyId
(),
new
EntiretyVo
()).
getName
());
.
eq
(
BuildingBlock:
:
getLanguage
,
language
).
orderByAsc
(
BuildingBlock:
:
getSort
));
/**
* 处理二级数据
*/
List
<
BuildingBlockVo
>
list
=
page
.
getRecords
();
Set
<
String
>
entiretyIdList
=
StreamUtils
.
toSet
(
list
,
BuildingBlockVo:
:
getId
);
List
<
EntiretyVo
>
entiretyList
=
getEntiretyService
().
list
(
language
,
entiretyIdList
);
for
(
EntiretyVo
vo
:
entiretyList
){
if
(
Objects
.
nonNull
(
vo
))
{
if
(
StrUtil
.
isNotBlank
(
vo
.
getOssId
()))
{
vo
.
setOssUrl
(
ossUrlService
.
selectUrlByIds
(
vo
.
getOssId
()));
}
}
}
Map
<
String
,
List
<
EntiretyVo
>>
entiretyMap
=
StreamUtils
.
groupByKey
(
entiretyList
,
EntiretyVo:
:
getBuildingBlockId
);
for
(
BuildingBlockVo
vo:
list
){
if
(
StrUtil
.
isNotBlank
(
vo
.
getOssId
()))
{
vo
.
setOssUrl
(
ossUrlService
.
selectUrlByIds
(
vo
.
getOssId
()));
}
vo
.
setEntiretyList
(
entiretyMap
.
get
(
vo
.
getId
()));
}
return
TableDataInfo
.
build
(
page
);
}
/**
* 不带分页查询
*
...
...
@@ -85,7 +96,7 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
*/
@Override
public
List
<
BuildingBlockVo
>
list
(
String
language
)
{
List
<
BuildingBlockVo
>
list
=
baseMapper
.
selectVoList
(
Wrappers
.<
BuildingBlock
>
lambdaQuery
().
eq
(
BuildingBlock:
:
getLanguage
,
language
));
List
<
BuildingBlockVo
>
list
=
baseMapper
.
selectVoList
(
Wrappers
.<
BuildingBlock
>
lambdaQuery
().
eq
(
BuildingBlock:
:
getLanguage
,
language
)
.
orderByAsc
(
BuildingBlock:
:
getSort
)
);
setInfo
(
list
);
return
list
;
}
...
...
@@ -102,31 +113,18 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
if
(
StrUtil
.
isNotBlank
(
vo
.
getOssId
()))
{
vo
.
setOssUrl
(
ossUrlService
.
selectUrlByIds
(
vo
.
getOssId
()));
}
List
<
EntiretyVo
>
entiretyVoList
=
entiretyMapper
.
selectVoList
(
Wrappers
.<
Entirety
>
lambdaQuery
().
eq
(
Entirety:
:
getBuildingBlockId
,
vo
.
getId
()));
for
(
EntiretyVo
entiretyVo:
entiretyVoList
){
if
(
StrUtil
.
isNotBlank
(
entiretyVo
.
getOssId
())){
entiretyVo
.
setOssUrl
(
ossUrlService
.
selectUrlByIds
(
entiretyVo
.
getOssId
()));
}
}
vo
.
setEntiretyList
(
entiretyVoList
);
}
return
list
;
}
/**
* (根据套件ID)不带分页查询
*
* @param language
* @param entiretyIds
* @return
*/
@Override
public
List
<
BuildingBlockVo
>
list
(
String
language
,
Collection
<
String
>
entiretyIds
)
{
List
<
BuildingBlockVo
>
list
=
Lists
.
newArrayList
();
if
(!
CollectionUtils
.
isEmpty
(
entiretyIds
))
{
list
=
baseMapper
.
selectVoList
(
Wrappers
.<
BuildingBlock
>
lambdaQuery
().
eq
(
BuildingBlock:
:
getLanguage
,
language
).
in
(
BuildingBlock:
:
getEntiretyId
,
entiretyIds
));
}
else
{
list
=
baseMapper
.
selectVoList
(
Wrappers
.<
BuildingBlock
>
lambdaQuery
().
eq
(
BuildingBlock:
:
getLanguage
,
language
));
}
setInfo
(
list
);
return
list
;
}
/**
* 新增
*
* @param blockBo
...
...
@@ -164,7 +162,7 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
@Override
public
boolean
remove
(
String
id
)
throws
ServerException
{
checkExists
(
id
);
check
Course
Exists
(
id
);
check
Entirety
Exists
(
id
);
return
baseMapper
.
deleteById
(
id
)
>
0
;
}
...
...
@@ -205,9 +203,19 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
* @param id
* @throws ServerException
*/
private
void
check
Course
Exists
(
String
id
)
throws
ServerException
{
if
(
courseMapper
.
exists
(
Wrappers
.<
Course
>
lambdaQuery
().
eq
(
Course
:
:
getBuildingBlockId
,
id
)))
{
private
void
check
Entirety
Exists
(
String
id
)
throws
ServerException
{
if
(
entiretyMapper
.
exists
(
Wrappers
.<
Entirety
>
lambdaQuery
().
eq
(
Entirety
:
:
getBuildingBlockId
,
id
)))
{
throw
new
ServerException
(
MessageUtils
.
message
(
"core.data.exists"
));
}
}
private
void
setInfo
(
List
<
BuildingBlockVo
>
list
)
{
if
(
ObjectUtil
.
isNotEmpty
(
list
))
{
for
(
BuildingBlockVo
vo
:
list
)
{
if
(
StrUtil
.
isNotBlank
(
vo
.
getOssId
()))
{
vo
.
setOssUrl
(
ossUrlService
.
selectUrlByIds
(
vo
.
getOssId
()));
}
}
}
}
}
...
...
lego-core/src/main/java/com/lego/core/service/impl/CourseServiceImpl.java
View file @
b929f46
...
...
@@ -14,11 +14,11 @@ import com.lego.core.annotation.LanguageAnnotation;
import
com.lego.core.domin.Course
;
import
com.lego.core.domin.bo.CourseBo
;
import
com.lego.core.domin.bo.CourseQueryBo
;
import
com.lego.core.domin.vo.BuildingBlockVo
;
import
com.lego.core.domin.vo.CourseVo
;
import
com.lego.core.domin.vo.EntiretyVo
;
import
com.lego.core.mapper.CourseMapper
;
import
com.lego.core.service.IBuildingBlockService
;
import
com.lego.core.service.ICourseService
;
import
com.lego.core.service.IEntiretyService
;
import
com.lego.system.domain.vo.SysOssVo
;
import
com.lego.system.service.ISysOssService
;
import
lombok.RequiredArgsConstructor
;
...
...
@@ -39,7 +39,7 @@ import java.util.Set;
@Service
public
class
CourseServiceImpl
implements
ICourseService
{
private
final
CourseMapper
baseMapper
;
private
final
I
BuildingBlockService
buildingBlock
Service
;
private
final
I
EntiretyService
entirety
Service
;
private
final
ISysOssService
iSysOssService
;
private
final
OssService
ossUrlService
;
...
...
@@ -56,11 +56,11 @@ public class CourseServiceImpl implements ICourseService {
.
eq
(
Course:
:
getLanguage
,
language
).
orderByAsc
(
Course:
:
getSort
));
List
<
CourseVo
>
list
=
page
.
getRecords
();
if
(
ObjectUtil
.
isNotEmpty
(
list
))
{
Set
<
String
>
ids
=
StreamUtils
.
toSet
(
list
,
CourseVo:
:
get
BuildingBlock
Id
);
List
<
BuildingBlockVo
>
blockList
=
buildingBlock
Service
.
getListByIds
(
ids
);
Map
<
String
,
BuildingBlockVo
>
blockMap
=
StreamUtils
.
toMap
(
blockList
,
BuildingBlock
Vo:
:
getId
,
v
->
v
);
Set
<
String
>
ids
=
StreamUtils
.
toSet
(
list
,
CourseVo:
:
get
Entirety
Id
);
List
<
EntiretyVo
>
entiretyList
=
entirety
Service
.
getListByIds
(
ids
);
Map
<
String
,
EntiretyVo
>
entiretyMap
=
StreamUtils
.
toMap
(
entiretyList
,
Entirety
Vo:
:
getId
,
v
->
v
);
for
(
CourseVo
vo
:
list
)
{
vo
.
set
BuildingBlockName
(
blockMap
.
getOrDefault
(
vo
.
getBuildingBlockId
(),
new
BuildingBlock
Vo
()).
getName
());
vo
.
set
EntiretyName
(
entiretyMap
.
getOrDefault
(
vo
.
getEntiretyId
(),
new
Entirety
Vo
()).
getName
());
if
(
StrUtil
.
isNotBlank
(
vo
.
getTwoDimensionalOssId
())){
vo
.
setTwoDimensionalOssUrl
(
ossUrlService
.
selectUrlByIds
(
vo
.
getTwoDimensionalOssId
()));
}
...
...
@@ -83,12 +83,12 @@ public class CourseServiceImpl implements ICourseService {
/**
*
* @param
buildingBlock
Id
* @param
entirety
Id
* @return
*/
@Override
public
List
<
CourseVo
>
list
(
String
buildingBlock
Id
)
{
List
<
CourseVo
>
list
=
baseMapper
.
selectVoList
(
Wrappers
.<
Course
>
lambdaQuery
().
eq
(
Course:
:
get
BuildingBlockId
,
buildingBlock
Id
).
orderByAsc
(
Course:
:
getSort
));
public
List
<
CourseVo
>
list
(
String
entirety
Id
)
{
List
<
CourseVo
>
list
=
baseMapper
.
selectVoList
(
Wrappers
.<
Course
>
lambdaQuery
().
eq
(
Course:
:
get
EntiretyId
,
entirety
Id
).
orderByAsc
(
Course:
:
getSort
));
for
(
CourseVo
vo
:
list
)
{
if
(
StrUtil
.
isNotBlank
(
vo
.
getTwoDimensionalOssId
())){
vo
.
setTwoDimensionalOssUrl
(
ossUrlService
.
selectUrlByIds
(
vo
.
getTwoDimensionalOssId
()));
...
...
lego-core/src/main/java/com/lego/core/service/impl/EntiretyServiceImpl.java
View file @
b929f46
package
com
.
lego
.
core
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
...
@@ -11,12 +12,12 @@ import com.lego.common.utils.MessageUtils;
import
com.lego.common.utils.StreamUtils
;
import
com.lego.common.utils.spring.SpringUtils
;
import
com.lego.core.annotation.LanguageAnnotation
;
import
com.lego.core.domin.
BuildingBlock
;
import
com.lego.core.domin.
Course
;
import
com.lego.core.domin.Entirety
;
import
com.lego.core.domin.bo.EntiretyBo
;
import
com.lego.core.domin.vo.BuildingBlockVo
;
import
com.lego.core.domin.vo.EntiretyVo
;
import
com.lego.core.mapper.
BuildingBlock
Mapper
;
import
com.lego.core.mapper.
Course
Mapper
;
import
com.lego.core.mapper.EntiretyMapper
;
import
com.lego.core.service.IBuildingBlockService
;
import
com.lego.core.service.IEntiretyService
;
...
...
@@ -24,10 +25,15 @@ import com.lego.system.domain.vo.SysOssVo;
import
com.lego.system.service.ISysOssService
;
import
io.micrometer.core.instrument.util.StringUtils
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.commons.compress.utils.Lists
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.rmi.ServerException
;
import
java.util.*
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
/**
* 套件Service业务层处理
...
...
@@ -39,9 +45,9 @@ import java.util.*;
@Service
public
class
EntiretyServiceImpl
implements
IEntiretyService
{
private
final
EntiretyMapper
baseMapper
;
private
final
BuildingBlockMapper
buildingBlockMapper
;
private
final
ISysOssService
iSysOssService
;
private
final
OssService
ossUrlService
;
private
final
CourseMapper
courseMapper
;
public
IBuildingBlockService
getBuildingBlockService
()
{
return
SpringUtils
.
getBean
(
IBuildingBlockService
.
class
);
...
...
@@ -59,28 +65,8 @@ public class EntiretyServiceImpl implements IEntiretyService {
language
=
"zh_CN"
;
Page
<
EntiretyVo
>
page
=
baseMapper
.
selectVoPage
(
query
.
build
(),
Wrappers
.<
Entirety
>
lambdaQuery
()
.
eq
(
Entirety:
:
getLanguage
,
language
).
orderByAsc
(
Entirety:
:
getSort
));
/**
* 处理二级数据
*/
List
<
EntiretyVo
>
list
=
page
.
getRecords
();
Set
<
String
>
buildingBlockIdList
=
StreamUtils
.
toSet
(
list
,
EntiretyVo:
:
getId
);
List
<
BuildingBlockVo
>
buildingBlockList
=
getBuildingBlockService
().
list
(
language
,
buildingBlockIdList
);
for
(
BuildingBlockVo
vo
:
buildingBlockList
){
if
(
Objects
.
nonNull
(
vo
))
{
if
(
StrUtil
.
isNotBlank
(
vo
.
getOssId
()))
{
vo
.
setOssUrl
(
ossUrlService
.
selectUrlByIds
(
vo
.
getOssId
()));
}
}
}
Map
<
String
,
List
<
BuildingBlockVo
>>
buildingBlockMap
=
StreamUtils
.
groupByKey
(
buildingBlockList
,
BuildingBlockVo:
:
getEntiretyId
);
for
(
EntiretyVo
vo:
list
){
if
(
Objects
.
nonNull
(
vo
))
{
if
(
StrUtil
.
isNotBlank
(
vo
.
getOssId
()))
{
vo
.
setOssUrl
(
ossUrlService
.
selectUrlByIds
(
vo
.
getOssId
()));
}
vo
.
setBuildingblockList
(
buildingBlockMap
.
get
(
vo
.
getId
()));
}
}
setInfo
(
page
.
getRecords
());
return
TableDataInfo
.
build
(
page
);
}
...
...
@@ -96,13 +82,6 @@ public class EntiretyServiceImpl implements IEntiretyService {
if
(
StrUtil
.
isNotBlank
(
vo
.
getOssId
())){
vo
.
setOssUrl
(
ossUrlService
.
selectUrlByIds
(
vo
.
getOssId
()));
}
List
<
BuildingBlockVo
>
buildingBlockVoList
=
buildingBlockMapper
.
selectVoList
(
Wrappers
.<
BuildingBlock
>
lambdaQuery
().
eq
(
BuildingBlock:
:
getLanguage
,
language
).
eq
(
BuildingBlock:
:
getEntiretyId
,
vo
.
getId
()));
for
(
BuildingBlockVo
blockVo:
buildingBlockVoList
){
if
(
StrUtil
.
isNotBlank
(
blockVo
.
getOssId
())){
vo
.
setOssUrl
(
ossUrlService
.
selectUrlByIds
(
blockVo
.
getOssId
()));
}
}
vo
.
setBuildingblockList
(
buildingBlockVoList
);
}
return
list
;
...
...
@@ -126,6 +105,26 @@ public class EntiretyServiceImpl implements IEntiretyService {
}
/**
* (根据套件ID)不带分页查询
*
* @param language
* @param buildingBlockIds
* @return
*/
@Override
public
List
<
EntiretyVo
>
list
(
String
language
,
Collection
<
String
>
buildingBlockIds
)
{
List
<
EntiretyVo
>
list
=
Lists
.
newArrayList
();
if
(!
CollectionUtils
.
isEmpty
(
buildingBlockIds
))
{
list
=
baseMapper
.
selectVoList
(
Wrappers
.<
Entirety
>
lambdaQuery
().
eq
(
Entirety:
:
getLanguage
,
language
).
in
(
Entirety:
:
getBuildingBlockId
,
buildingBlockIds
));
}
else
{
list
=
baseMapper
.
selectVoList
(
Wrappers
.<
Entirety
>
lambdaQuery
().
eq
(
Entirety:
:
getLanguage
,
language
));
}
setInfo
(
list
);
return
list
;
}
/**
* 新增
*
* @param entiretyBo
...
...
@@ -164,7 +163,7 @@ public class EntiretyServiceImpl implements IEntiretyService {
@Override
public
boolean
remove
(
String
id
)
throws
ServerException
{
checkExists
(
id
);
check
BuildingBlock
Exists
(
id
);
check
Course
Exists
(
id
);
return
baseMapper
.
deleteById
(
id
)
>
0
;
}
...
...
@@ -185,6 +184,19 @@ public class EntiretyServiceImpl implements IEntiretyService {
}
}
private
void
setInfo
(
List
<
EntiretyVo
>
list
)
{
if
(
ObjectUtil
.
isNotEmpty
(
list
))
{
Set
<
String
>
ids
=
StreamUtils
.
toSet
(
list
,
EntiretyVo:
:
getBuildingBlockId
);
List
<
BuildingBlockVo
>
buildingBlockList
=
getBuildingBlockService
().
getListByIds
(
ids
);
Map
<
String
,
BuildingBlockVo
>
buildingBlockMap
=
StreamUtils
.
toMap
(
buildingBlockList
,
BuildingBlockVo:
:
getId
,
v
->
v
);
for
(
EntiretyVo
vo
:
list
)
{
vo
.
setBuildingBlockName
(
buildingBlockMap
.
getOrDefault
(
vo
.
getBuildingBlockId
(),
new
BuildingBlockVo
()).
getName
());
if
(
StrUtil
.
isNotBlank
(
vo
.
getOssId
()))
{
vo
.
setOssUrl
(
ossUrlService
.
selectUrlByIds
(
vo
.
getOssId
()));
}
}
}
}
/**
* 校验数据是否存在
...
...
@@ -192,8 +204,8 @@ public class EntiretyServiceImpl implements IEntiretyService {
* @param id
* @throws ServerException
*/
private
void
check
BuildingBlock
Exists
(
String
id
)
throws
ServerException
{
if
(
buildingBlockMapper
.
exists
(
Wrappers
.<
BuildingBlock
>
lambdaQuery
().
eq
(
BuildingBlock
:
:
getEntiretyId
,
id
)))
{
private
void
check
Course
Exists
(
String
id
)
throws
ServerException
{
if
(
courseMapper
.
exists
(
Wrappers
.<
Course
>
lambdaQuery
().
eq
(
Course
:
:
getEntiretyId
,
id
)))
{
throw
new
ServerException
(
MessageUtils
.
message
(
"core.data.exists"
));
}
}
...
...
lego-core/src/main/java/com/lego/core/service/impl/QuestionServiceImpl.java
View file @
b929f46
package
com
.
lego
.
core
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.lego.common.core.page.TableDataInfo
;
import
com.lego.common.utils.MessageUtils
;
import
com.lego.common.utils.StreamUtils
;
import
com.lego.common.utils.spring.SpringUtils
;
import
com.lego.core.annotation.LanguageAnnotation
;
import
com.lego.core.domin.Question
;
import
com.lego.core.domin.bo.QuestionBo
;
import
com.lego.core.domin.bo.QuestionQueryBo
;
import
com.lego.core.domin.vo.BuildingBlockVo
;
import
com.lego.core.domin.vo.EntiretyVo
;
import
com.lego.core.domin.vo.QuestionVo
;
import
com.lego.core.enums.StatusEnums
;
import
com.lego.core.mapper.QuestionMapper
;
import
com.lego.core.service.IBuildingBlockService
;
import
com.lego.core.service.IQuestionService
;
import
com.lego.system.domain.vo.SysOssVo
;
import
com.lego.system.service.ISysOssService
;
...
...
@@ -21,6 +27,8 @@ import org.springframework.stereotype.Service;
import
java.rmi.ServerException
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
/**
* 问题MService业务层处理
...
...
@@ -47,6 +55,7 @@ public class QuestionServiceImpl implements IQuestionService {
.
eq
(
Question:
:
getLanguage
,
language
)
.
orderByAsc
(
Question:
:
getSort
));
List
<
QuestionVo
>
listVO
=
page
.
getRecords
();
setInfo
(
listVO
);
for
(
QuestionVo
vo
:
listVO
)
{
StringBuilder
sb
=
new
StringBuilder
();
if
(
StrUtil
.
equals
(
vo
.
getShowAndroid
(),
"1"
))
{
...
...
@@ -80,6 +89,7 @@ public class QuestionServiceImpl implements IQuestionService {
@Override
public
List
<
QuestionVo
>
list
()
{
List
<
QuestionVo
>
list
=
baseMapper
.
selectVoList
(
Wrappers
.<
Question
>
lambdaQuery
().
eq
(
Question:
:
getStatus
,
"1"
));
setInfo
(
list
);
for
(
QuestionVo
vo
:
list
)
{
StringBuilder
sb
=
new
StringBuilder
();
if
(
StrUtil
.
equals
(
vo
.
getShowAndroid
(),
"1"
))
{
...
...
@@ -189,4 +199,19 @@ public class QuestionServiceImpl implements IQuestionService {
throw
new
ServerException
(
MessageUtils
.
message
(
"core.data.not.exists"
));
}
}
private
void
setInfo
(
List
<
QuestionVo
>
list
)
{
if
(
ObjectUtil
.
isNotEmpty
(
list
))
{
Set
<
String
>
ids
=
StreamUtils
.
toSet
(
list
,
QuestionVo:
:
getBuildingBlockId
);
List
<
BuildingBlockVo
>
buildingBlockList
=
getBuildingBlockService
().
getListByIds
(
ids
);
Map
<
String
,
BuildingBlockVo
>
buildingBlockMap
=
StreamUtils
.
toMap
(
buildingBlockList
,
BuildingBlockVo:
:
getId
,
v
->
v
);
for
(
QuestionVo
vo
:
list
)
{
vo
.
setBuildingBlockName
(
buildingBlockMap
.
getOrDefault
(
vo
.
getBuildingBlockId
(),
new
BuildingBlockVo
()).
getName
());
}
}
}
public
IBuildingBlockService
getBuildingBlockService
()
{
return
SpringUtils
.
getBean
(
IBuildingBlockService
.
class
);
}
}
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
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 post a comment