mirror of https://gitee.com/stylefeng/roses
【7.1.6】更新主题管理
parent
d6954e8beb
commit
4ec670fe37
|
@ -0,0 +1,50 @@
|
|||
package cn.stylefeng.roses.kernel.system.api.pojo.theme;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 用于前端数据渲染
|
||||
*
|
||||
* @author xixiaowei
|
||||
* @date 2021/12/31 10:01
|
||||
*/
|
||||
@Data
|
||||
public class SysThemeDTO {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long themeId;
|
||||
|
||||
/**
|
||||
* 主题名称
|
||||
*/
|
||||
private String themeName;
|
||||
|
||||
/**
|
||||
* 主题属性(JSON格式)
|
||||
*/
|
||||
private String themeValue;
|
||||
|
||||
/**
|
||||
* 主题模板ID
|
||||
*/
|
||||
private Long templateId;
|
||||
|
||||
/**
|
||||
* 启用状态:Y-启用,N-禁用
|
||||
*/
|
||||
private Character statusFlag;
|
||||
|
||||
/**
|
||||
* 模板名称,用于前端数据渲染
|
||||
*/
|
||||
private String templateName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
}
|
|
@ -68,11 +68,22 @@ public class SysThemeTemplateController {
|
|||
* @author xixiaowei
|
||||
* @date 2021/12/17 15:00
|
||||
*/
|
||||
@GetResource(name = "查询系统模板主题", path = "/sysThemeTemplate/findPage")
|
||||
@GetResource(name = "查询系统主题模板", path = "/sysThemeTemplate/findPage")
|
||||
public ResponseData findPage(SysThemeTemplateRequest sysThemeTemplateParam) {
|
||||
return new SuccessResponseData(sysThemeTemplateService.findPage(sysThemeTemplateParam));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询系统主题模板列表
|
||||
*
|
||||
* @author xixiaowei
|
||||
* @date 2021/12/29 9:12
|
||||
*/
|
||||
@GetResource(name = "查询系统主题模板列表", path = "/sysThemeTemplate/findList")
|
||||
public ResponseData findList(SysThemeTemplateRequest sysThemeTemplateParam) {
|
||||
return new SuccessResponseData(sysThemeTemplateService.findList(sysThemeTemplateParam));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改系统主题模板状态
|
||||
*
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package cn.stylefeng.roses.kernel.system.modular.theme.service;
|
||||
|
||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeDTO;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeRequest;
|
||||
import cn.stylefeng.roses.kernel.system.modular.theme.entity.SysTheme;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
@ -44,7 +45,7 @@ public interface SysThemeService extends IService<SysTheme> {
|
|||
* @author xixiaowei
|
||||
* @date 2021/12/17 16:52
|
||||
*/
|
||||
PageResult<SysTheme> findPage(SysThemeRequest sysThemeRequest);
|
||||
PageResult<SysThemeDTO> findPage(SysThemeRequest sysThemeRequest);
|
||||
|
||||
/**
|
||||
* 查询系统主题详情
|
||||
|
|
|
@ -49,6 +49,14 @@ public interface SysThemeTemplateService extends IService<SysThemeTemplate> {
|
|||
*/
|
||||
PageResult<SysThemeTemplate> findPage(SysThemeTemplateRequest sysThemeTemplateRequest);
|
||||
|
||||
/**
|
||||
* 查询系统诸如提模板列表
|
||||
*
|
||||
* @author xixiaowei
|
||||
* @date 2021/12/29 9:10
|
||||
*/
|
||||
List<SysThemeTemplate> findList(SysThemeTemplateRequest sysThemeTemplateRequest);
|
||||
|
||||
/**
|
||||
* 修改系统主题模板状态
|
||||
*
|
||||
|
|
|
@ -12,6 +12,7 @@ import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
|||
import cn.stylefeng.roses.kernel.system.api.ThemeServiceApi;
|
||||
import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException;
|
||||
import cn.stylefeng.roses.kernel.system.api.exception.enums.theme.SysThemeExceptionEnum;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeDTO;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeRequest;
|
||||
import cn.stylefeng.roses.kernel.system.modular.theme.entity.SysTheme;
|
||||
import cn.stylefeng.roses.kernel.system.modular.theme.entity.SysThemeTemplate;
|
||||
|
@ -86,12 +87,12 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
|
|||
// 获取map的key
|
||||
List<String> themeKeys = new ArrayList<>(themeMap.keySet());
|
||||
|
||||
// 获取图片文件的编码
|
||||
// 获取图片文件的名称
|
||||
LambdaQueryWrapper<SysThemeTemplateField> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(SysThemeTemplateField::getFieldName, themeKeys).eq(SysThemeTemplateField::getFieldType, "file")
|
||||
.select(SysThemeTemplateField::getFieldName);
|
||||
queryWrapper.in(SysThemeTemplateField::getFieldCode, themeKeys).eq(SysThemeTemplateField::getFieldType, "file")
|
||||
.select(SysThemeTemplateField::getFieldCode);
|
||||
List<SysThemeTemplateField> sysThemeTemplateFields = sysThemeTemplateFieldService.list(queryWrapper);
|
||||
List<String> fileNames = sysThemeTemplateFields.stream().map(SysThemeTemplateField::getFieldName).collect(Collectors.toList());
|
||||
List<String> fileNames = sysThemeTemplateFields.stream().map(SysThemeTemplateField::getFieldCode).collect(Collectors.toList());
|
||||
|
||||
// 删除图片
|
||||
if (fileNames.size() > 0) {
|
||||
|
@ -112,7 +113,7 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
|
|||
|
||||
@Override
|
||||
public void edit(SysThemeRequest sysThemeRequest) {
|
||||
SysTheme sysTheme = this.querySysThemeById(sysThemeRequest);
|
||||
SysTheme sysTheme = new SysTheme();
|
||||
|
||||
// 拷贝属性
|
||||
BeanUtil.copyProperties(sysThemeRequest, sysTheme);
|
||||
|
@ -121,14 +122,23 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
|
|||
}
|
||||
|
||||
@Override
|
||||
public PageResult<SysTheme> findPage(SysThemeRequest sysThemeRequest) {
|
||||
public PageResult<SysThemeDTO> findPage(SysThemeRequest sysThemeRequest) {
|
||||
LambdaQueryWrapper<SysTheme> queryWrapper = new LambdaQueryWrapper<>();
|
||||
// 通过主题名称模糊查询
|
||||
queryWrapper.like(StrUtil.isNotBlank(sysThemeRequest.getThemeName()), SysTheme::getThemeName, sysThemeRequest.getThemeName());
|
||||
|
||||
Page<SysTheme> page = page(PageFactory.defaultPage(), queryWrapper);
|
||||
|
||||
return PageResultFactory.createPageResult(page);
|
||||
List<SysThemeDTO> sysThemeDTOList = new ArrayList<>();
|
||||
for (SysTheme record : page.getRecords()) {
|
||||
SysThemeDTO sysThemeDTO = new SysThemeDTO();
|
||||
BeanUtil.copyProperties(record, sysThemeDTO);
|
||||
SysThemeTemplate sysThemeTemplate = sysThemeTemplateService.getById(record.getTemplateId());
|
||||
sysThemeDTO.setTemplateName(sysThemeTemplate.getTemplateName());
|
||||
sysThemeDTOList.add(sysThemeDTO);
|
||||
}
|
||||
|
||||
return PageResultFactory.createPageResult(sysThemeDTOList, page.getTotal(), Integer.valueOf(String.valueOf(page.getSize())), Integer.valueOf(String.valueOf(page.getCurrent())));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,13 +1,20 @@
|
|||
package cn.stylefeng.roses.kernel.system.modular.theme.service.impl;
|
||||
|
||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||
import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException;
|
||||
import cn.stylefeng.roses.kernel.system.api.exception.enums.theme.SysThemeTemplateExceptionEnum;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateRelRequest;
|
||||
import cn.stylefeng.roses.kernel.system.modular.theme.entity.SysThemeTemplate;
|
||||
import cn.stylefeng.roses.kernel.system.modular.theme.entity.SysThemeTemplateRel;
|
||||
import cn.stylefeng.roses.kernel.system.modular.theme.mapper.SysThemeTemplateRelMapper;
|
||||
import cn.stylefeng.roses.kernel.system.modular.theme.service.SysThemeTemplateRelService;
|
||||
import cn.stylefeng.roses.kernel.system.modular.theme.service.SysThemeTemplateService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -20,8 +27,14 @@ import java.util.List;
|
|||
@Service
|
||||
public class SysThemeTemplateRelServiceImpl extends ServiceImpl<SysThemeTemplateRelMapper, SysThemeTemplateRel> implements SysThemeTemplateRelService {
|
||||
|
||||
@Resource
|
||||
private SysThemeTemplateService sysThemeTemplateService;
|
||||
|
||||
@Override
|
||||
public void add(SysThemeTemplateRelRequest sysThemeTemplateRelRequest) {
|
||||
// 校验模板状态
|
||||
this.checkTemplateStatus(sysThemeTemplateRelRequest);
|
||||
|
||||
// 获取请求中的所有属性编码
|
||||
String[] fieldCodes = sysThemeTemplateRelRequest.getFieldCodes();
|
||||
|
||||
|
@ -40,8 +53,29 @@ public class SysThemeTemplateRelServiceImpl extends ServiceImpl<SysThemeTemplate
|
|||
this.saveBatch(sysThemeTemplateRels);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验模板使用状态
|
||||
*
|
||||
* @author xixiaowei
|
||||
* @date 2021/12/30 17:28
|
||||
*/
|
||||
private void checkTemplateStatus(SysThemeTemplateRelRequest sysThemeTemplateRelRequest) {
|
||||
// 判断当前模板是否被使用
|
||||
LambdaQueryWrapper<SysThemeTemplate> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(SysThemeTemplate::getTemplateId, sysThemeTemplateRelRequest.getTemplateId());
|
||||
SysThemeTemplate sysThemeTemplate = sysThemeTemplateService.getOne(queryWrapper, true);
|
||||
// 判断状态,如果是启用则禁止操作
|
||||
if (YesOrNotEnum.Y.getCode().equals(sysThemeTemplate.getStatusFlag().toString())) {
|
||||
throw new SystemModularException(SysThemeTemplateExceptionEnum.TEMPLATE_IS_USED);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void del(SysThemeTemplateRelRequest sysThemeTemplateRelRequest) {
|
||||
// 校验模板状态
|
||||
this.checkTemplateStatus(sysThemeTemplateRelRequest);
|
||||
|
||||
// 获取请求中的所有属性编码
|
||||
String[] fieldCodes = sysThemeTemplateRelRequest.getFieldCodes();
|
||||
|
||||
|
|
|
@ -103,6 +103,11 @@ public class SysThemeTemplateServiceImpl extends ServiceImpl<SysThemeTemplateMap
|
|||
return PageResultFactory.createPageResult(page);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysThemeTemplate> findList(SysThemeTemplateRequest sysThemeTemplateRequest) {
|
||||
return this.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTemplateStatus(SysThemeTemplateRequest sysThemeTemplateRequest) {
|
||||
SysThemeTemplate sysThemeTemplate = this.querySysThemeTemplateById(sysThemeTemplateRequest);
|
||||
|
|
Loading…
Reference in New Issue