mirror of https://gitee.com/stylefeng/roses
【8.0】【theme】更新theme的业务
parent
7070b59a1c
commit
ae47a621a3
|
@ -2,6 +2,7 @@ package cn.stylefeng.roses.kernel.sys.modular.theme.controller;
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.rule.annotation.BusinessLog;
|
import cn.stylefeng.roses.kernel.rule.annotation.BusinessLog;
|
||||||
|
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
|
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
||||||
import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
|
import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
|
||||||
|
@ -115,7 +116,8 @@ public class SysThemeTemplateController {
|
||||||
* @since 2021/12/17 16:09
|
* @since 2021/12/17 16:09
|
||||||
*/
|
*/
|
||||||
@GetResource(name = "查询系统主题模板详情", path = "/sysThemeTemplate/detail")
|
@GetResource(name = "查询系统主题模板详情", path = "/sysThemeTemplate/detail")
|
||||||
public ResponseData<List<SysThemeTemplateDataDTO>> detail(SysThemeTemplateRequest sysThemeTemplateParam) {
|
public ResponseData<List<SysThemeTemplateDataDTO>> detail(
|
||||||
|
@Validated(BaseRequest.detail.class) SysThemeTemplateRequest sysThemeTemplateParam) {
|
||||||
return new SuccessResponseData<>(sysThemeTemplateService.detail(sysThemeTemplateParam));
|
return new SuccessResponseData<>(sysThemeTemplateService.detail(sysThemeTemplateParam));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
package cn.stylefeng.roses.kernel.sys.modular.theme.mapper;
|
package cn.stylefeng.roses.kernel.sys.modular.theme.mapper;
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplate;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplate;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateDataDTO;
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统主题模板mapper接口
|
* 系统主题模板mapper接口
|
||||||
|
@ -15,11 +11,5 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public interface SysThemeTemplateMapper extends BaseMapper<SysThemeTemplate> {
|
public interface SysThemeTemplateMapper extends BaseMapper<SysThemeTemplate> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 系统主题模板详细查询
|
|
||||||
*
|
|
||||||
* @author xixiaowei
|
|
||||||
* @since 2021/12/17 15:36
|
|
||||||
*/
|
|
||||||
List<SysThemeTemplateDataDTO> sysThemeTemplateDetail(@Param("id") Long id);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,70 +2,5 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="cn.stylefeng.roses.kernel.sys.modular.theme.mapper.SysThemeTemplateMapper">
|
<mapper namespace="cn.stylefeng.roses.kernel.sys.modular.theme.mapper.SysThemeTemplateMapper">
|
||||||
|
|
||||||
<resultMap id="sysThemeTemplateResult" type="cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateDataDTO">
|
|
||||||
<result property="templateId" column="template_id"/>
|
|
||||||
<result property="templateCode" column="template_code"/>
|
|
||||||
<result property="templateName" column="template_name"/>
|
|
||||||
<result property="fieldId" column="field_id"/>
|
|
||||||
<result property="fieldCode" column="field_code"/>
|
|
||||||
<result property="fieldName" column="field_name"/>
|
|
||||||
<result property="fieldType" column="field_type"/>
|
|
||||||
<result property="fieldLength" column="field_length"/>
|
|
||||||
<result property="fieldRequired" column="field_required"/>
|
|
||||||
<result property="fieldDescription" column="field_description"/>
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<!--系统主题模板详细查询 mysql版本-->
|
|
||||||
<select id="sysThemeTemplateDetail" resultMap="sysThemeTemplateResult">
|
|
||||||
SELECT
|
|
||||||
stt.template_id,
|
|
||||||
stt.template_code,
|
|
||||||
stt.template_name,
|
|
||||||
sttf.field_id,
|
|
||||||
sttf.field_code,
|
|
||||||
sttf.field_name,
|
|
||||||
sttf.field_type,
|
|
||||||
sttf.field_length,
|
|
||||||
sttf.field_required,
|
|
||||||
sttf.field_description
|
|
||||||
FROM
|
|
||||||
sys_theme_template_field sttf,
|
|
||||||
sys_theme_template stt,
|
|
||||||
sys_theme_template_rel sttl
|
|
||||||
WHERE
|
|
||||||
sttf.field_code = sttl.field_code
|
|
||||||
AND stt.template_id = sttl.template_id
|
|
||||||
<if test="id != null" >
|
|
||||||
AND stt.template_id = #{id}
|
|
||||||
</if>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<!--系统主题模板详细查询 oracle版本-->
|
|
||||||
<select id="sysThemeTemplateDetail" resultMap="sysThemeTemplateResult" databaseId="oracle">
|
|
||||||
SELECT
|
|
||||||
stt.template_id,
|
|
||||||
stt.template_code,
|
|
||||||
stt.template_name,
|
|
||||||
sttf.field_id,
|
|
||||||
sttf.field_code,
|
|
||||||
sttf.field_name,
|
|
||||||
sttf.field_type,
|
|
||||||
sttf.field_length,
|
|
||||||
sttf.field_required,
|
|
||||||
sttf.field_description
|
|
||||||
FROM
|
|
||||||
sys_theme_template_field sttf,
|
|
||||||
sys_theme_template stt,
|
|
||||||
sys_theme_template_rel sttl
|
|
||||||
WHERE
|
|
||||||
sttf.field_code = sttl.field_code
|
|
||||||
AND stt.template_id = sttl.template_id
|
|
||||||
<if test="id != null" >
|
|
||||||
AND stt.template_id = #{id}
|
|
||||||
</if>
|
|
||||||
|
|
||||||
</select>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
|
@ -81,4 +81,12 @@ public interface SysThemeTemplateFieldService extends IService<SysThemeTemplateF
|
||||||
*/
|
*/
|
||||||
boolean getKeyFileFlag(String code);
|
boolean getKeyFileFlag(String code);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取主题字段列表,通过字段编码的结合
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @since 2023/7/11 17:07
|
||||||
|
*/
|
||||||
|
List<SysThemeTemplateField> getFieldListByFieldCode(List<String> fieldCodeList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,8 @@ import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateRel;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateRelRequest;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateRelRequest;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统主题模板属性关系service接口
|
* 系统主题模板属性关系service接口
|
||||||
*
|
*
|
||||||
|
@ -27,4 +29,13 @@ public interface SysThemeTemplateRelService extends IService<SysThemeTemplateRel
|
||||||
* @since 2021/12/24 11:18
|
* @since 2021/12/24 11:18
|
||||||
*/
|
*/
|
||||||
void del(SysThemeTemplateRelRequest sysThemeTemplateRelRequest);
|
void del(SysThemeTemplateRelRequest sysThemeTemplateRelRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取主题模板下关联的主题字段code集合
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @since 2023/7/11 17:02
|
||||||
|
*/
|
||||||
|
List<String> getThemeTemplateFieldCodeList(Long templateId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,9 +151,7 @@ public class SysThemeTemplateFieldServiceImpl extends ServiceImpl<SysThemeTempla
|
||||||
List<SysThemeTemplateRel> sysThemeTemplateRels = sysThemeTemplateRelService.list(queryWrapper);
|
List<SysThemeTemplateRel> sysThemeTemplateRels = sysThemeTemplateRelService.list(queryWrapper);
|
||||||
|
|
||||||
// 过滤出所有的属性编码
|
// 过滤出所有的属性编码
|
||||||
List<String> fieldCodes = sysThemeTemplateRels.stream().map(SysThemeTemplateRel::getFieldCode).collect(Collectors.toList());
|
return sysThemeTemplateRels.stream().map(SysThemeTemplateRel::getFieldCode).collect(Collectors.toList());
|
||||||
|
|
||||||
return fieldCodes;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -190,6 +188,20 @@ public class SysThemeTemplateFieldServiceImpl extends ServiceImpl<SysThemeTempla
|
||||||
return ThemeFieldTypeEnum.FILE.getCode().equals(sysThemeTemplateField.getFieldType());
|
return ThemeFieldTypeEnum.FILE.getCode().equals(sysThemeTemplateField.getFieldType());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SysThemeTemplateField> getFieldListByFieldCode(List<String> fieldCodeList) {
|
||||||
|
|
||||||
|
LambdaQueryWrapper<SysThemeTemplateField> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.in(SysThemeTemplateField::getFieldCode, fieldCodeList);
|
||||||
|
|
||||||
|
// 只查询关键字段
|
||||||
|
wrapper.select(SysThemeTemplateField::getFieldId, SysThemeTemplateField::getFieldCode, SysThemeTemplateField::getFieldName,
|
||||||
|
SysThemeTemplateField::getFieldType, SysThemeTemplateField::getFieldLength, SysThemeTemplateField::getFieldRequired,
|
||||||
|
SysThemeTemplateField::getFieldDescription);
|
||||||
|
|
||||||
|
return this.list(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取主题模板属性
|
* 获取主题模板属性
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package cn.stylefeng.roses.kernel.sys.modular.theme.service.impl;
|
package cn.stylefeng.roses.kernel.sys.modular.theme.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.exception.SysException;
|
import cn.stylefeng.roses.kernel.sys.api.exception.SysException;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplate;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplate;
|
||||||
|
@ -17,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统主题模板属性关系service接口实现类
|
* 系统主题模板属性关系service接口实现类
|
||||||
|
@ -25,7 +27,8 @@ import java.util.List;
|
||||||
* @since 2021/12/17 16:14
|
* @since 2021/12/17 16:14
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SysThemeTemplateRelServiceImpl extends ServiceImpl<SysThemeTemplateRelMapper, SysThemeTemplateRel> implements SysThemeTemplateRelService {
|
public class SysThemeTemplateRelServiceImpl extends ServiceImpl<SysThemeTemplateRelMapper, SysThemeTemplateRel> implements
|
||||||
|
SysThemeTemplateRelService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private SysThemeTemplateService sysThemeTemplateService;
|
private SysThemeTemplateService sysThemeTemplateService;
|
||||||
|
@ -85,4 +88,26 @@ public class SysThemeTemplateRelServiceImpl extends ServiceImpl<SysThemeTemplate
|
||||||
|
|
||||||
this.remove(queryWrapper);
|
this.remove(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getThemeTemplateFieldCodeList(Long templateId) {
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(templateId)) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
LambdaQueryWrapper<SysThemeTemplateRel> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
|
||||||
|
// 根据模板id查询
|
||||||
|
queryWrapper.eq(SysThemeTemplateRel::getTemplateId, templateId);
|
||||||
|
|
||||||
|
// 只查询字段的编码信息
|
||||||
|
queryWrapper.select(SysThemeTemplateRel::getFieldCode);
|
||||||
|
|
||||||
|
List<SysThemeTemplateRel> list = this.list(queryWrapper);
|
||||||
|
|
||||||
|
return list.stream().map(SysThemeTemplateRel::getFieldCode).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,10 +7,12 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||||
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.exception.SysException;
|
import cn.stylefeng.roses.kernel.sys.api.exception.SysException;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.constants.ThemeConstants;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.constants.ThemeConstants;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysTheme;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysTheme;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplate;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplate;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateField;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateRel;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateRel;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.exceptions.SysThemeExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.exceptions.SysThemeExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.exceptions.SysThemeTemplateExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.exceptions.SysThemeTemplateExceptionEnum;
|
||||||
|
@ -18,6 +20,7 @@ import cn.stylefeng.roses.kernel.sys.modular.theme.mapper.SysThemeTemplateMapper
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateDataDTO;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateDataDTO;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateRequest;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateRequest;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeService;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeService;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateFieldService;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateRelService;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateRelService;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateService;
|
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
@ -48,6 +51,9 @@ public class SysThemeTemplateServiceImpl extends ServiceImpl<SysThemeTemplateMap
|
||||||
@Resource
|
@Resource
|
||||||
private SysThemeTemplateRelService sysThemeTemplateRelService;
|
private SysThemeTemplateRelService sysThemeTemplateRelService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SysThemeTemplateFieldService sysThemeTemplateFieldService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(SysThemeTemplateRequest sysThemeTemplateRequest) {
|
public void add(SysThemeTemplateRequest sysThemeTemplateRequest) {
|
||||||
SysThemeTemplate sysThemeTemplate = new SysThemeTemplate();
|
SysThemeTemplate sysThemeTemplate = new SysThemeTemplate();
|
||||||
|
@ -153,7 +159,34 @@ public class SysThemeTemplateServiceImpl extends ServiceImpl<SysThemeTemplateMap
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public List<SysThemeTemplateDataDTO> detail(SysThemeTemplateRequest sysThemeTemplateRequest) {
|
public List<SysThemeTemplateDataDTO> detail(SysThemeTemplateRequest sysThemeTemplateRequest) {
|
||||||
return sysThemeTemplateMapper.sysThemeTemplateDetail(sysThemeTemplateRequest.getTemplateId());
|
|
||||||
|
Long templateId = sysThemeTemplateRequest.getTemplateId();
|
||||||
|
|
||||||
|
// 查询模板的主题名称,编码和id
|
||||||
|
LambdaQueryWrapper<SysThemeTemplate> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(SysThemeTemplate::getTemplateId, templateId);
|
||||||
|
wrapper.select(SysThemeTemplate::getTemplateId, SysThemeTemplate::getTemplateCode, SysThemeTemplate::getTemplateName);
|
||||||
|
SysThemeTemplate sysThemeTemplate = this.getOne(wrapper, false);
|
||||||
|
|
||||||
|
if (sysThemeTemplate == null) {
|
||||||
|
throw new ServiceException(SysThemeTemplateExceptionEnum.TEMPLATE_NOT_EXIT);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询主题模板关联的字段
|
||||||
|
List<String> templateFieldCodeList = this.sysThemeTemplateRelService.getThemeTemplateFieldCodeList(templateId);
|
||||||
|
|
||||||
|
// 查询这些字段的详情信息
|
||||||
|
List<SysThemeTemplateField> fieldListByFieldCode = this.sysThemeTemplateFieldService.getFieldListByFieldCode(templateFieldCodeList);
|
||||||
|
|
||||||
|
// 转化为最终结果
|
||||||
|
List<SysThemeTemplateDataDTO> resultList = BeanUtil.copyToList(fieldListByFieldCode, SysThemeTemplateDataDTO.class);
|
||||||
|
for (SysThemeTemplateDataDTO sysThemeTemplateDataDTO : resultList) {
|
||||||
|
sysThemeTemplateDataDTO.setTemplateId(sysThemeTemplate.getTemplateId());
|
||||||
|
sysThemeTemplateDataDTO.setTemplateName(sysThemeTemplate.getTemplateName());
|
||||||
|
sysThemeTemplateDataDTO.setTemplateCode(sysThemeTemplate.getTemplateCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
return resultList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue