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
|
* @author xixiaowei
|
||||||
* @date 2021/12/17 15:00
|
* @date 2021/12/17 15:00
|
||||||
*/
|
*/
|
||||||
@GetResource(name = "查询系统模板主题", path = "/sysThemeTemplate/findPage")
|
@GetResource(name = "查询系统主题模板", path = "/sysThemeTemplate/findPage")
|
||||||
public ResponseData findPage(SysThemeTemplateRequest sysThemeTemplateParam) {
|
public ResponseData findPage(SysThemeTemplateRequest sysThemeTemplateParam) {
|
||||||
return new SuccessResponseData(sysThemeTemplateService.findPage(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;
|
package cn.stylefeng.roses.kernel.system.modular.theme.service;
|
||||||
|
|
||||||
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.system.api.pojo.theme.SysThemeDTO;
|
||||||
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeRequest;
|
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.SysTheme;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
@ -44,7 +45,7 @@ public interface SysThemeService extends IService<SysTheme> {
|
||||||
* @author xixiaowei
|
* @author xixiaowei
|
||||||
* @date 2021/12/17 16:52
|
* @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);
|
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.ThemeServiceApi;
|
||||||
import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException;
|
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.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.api.pojo.theme.SysThemeRequest;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.theme.entity.SysTheme;
|
import cn.stylefeng.roses.kernel.system.modular.theme.entity.SysTheme;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.theme.entity.SysThemeTemplate;
|
import cn.stylefeng.roses.kernel.system.modular.theme.entity.SysThemeTemplate;
|
||||||
|
@ -86,12 +87,12 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
|
||||||
// 获取map的key
|
// 获取map的key
|
||||||
List<String> themeKeys = new ArrayList<>(themeMap.keySet());
|
List<String> themeKeys = new ArrayList<>(themeMap.keySet());
|
||||||
|
|
||||||
// 获取图片文件的编码
|
// 获取图片文件的名称
|
||||||
LambdaQueryWrapper<SysThemeTemplateField> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysThemeTemplateField> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.in(SysThemeTemplateField::getFieldName, themeKeys).eq(SysThemeTemplateField::getFieldType, "file")
|
queryWrapper.in(SysThemeTemplateField::getFieldCode, themeKeys).eq(SysThemeTemplateField::getFieldType, "file")
|
||||||
.select(SysThemeTemplateField::getFieldName);
|
.select(SysThemeTemplateField::getFieldCode);
|
||||||
List<SysThemeTemplateField> sysThemeTemplateFields = sysThemeTemplateFieldService.list(queryWrapper);
|
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) {
|
if (fileNames.size() > 0) {
|
||||||
|
@ -112,7 +113,7 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void edit(SysThemeRequest sysThemeRequest) {
|
public void edit(SysThemeRequest sysThemeRequest) {
|
||||||
SysTheme sysTheme = this.querySysThemeById(sysThemeRequest);
|
SysTheme sysTheme = new SysTheme();
|
||||||
|
|
||||||
// 拷贝属性
|
// 拷贝属性
|
||||||
BeanUtil.copyProperties(sysThemeRequest, sysTheme);
|
BeanUtil.copyProperties(sysThemeRequest, sysTheme);
|
||||||
|
@ -121,14 +122,23 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<SysTheme> findPage(SysThemeRequest sysThemeRequest) {
|
public PageResult<SysThemeDTO> findPage(SysThemeRequest sysThemeRequest) {
|
||||||
LambdaQueryWrapper<SysTheme> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysTheme> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
// 通过主题名称模糊查询
|
// 通过主题名称模糊查询
|
||||||
queryWrapper.like(StrUtil.isNotBlank(sysThemeRequest.getThemeName()), SysTheme::getThemeName, sysThemeRequest.getThemeName());
|
queryWrapper.like(StrUtil.isNotBlank(sysThemeRequest.getThemeName()), SysTheme::getThemeName, sysThemeRequest.getThemeName());
|
||||||
|
|
||||||
Page<SysTheme> page = page(PageFactory.defaultPage(), queryWrapper);
|
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
|
@Override
|
||||||
|
|
|
@ -1,13 +1,20 @@
|
||||||
package cn.stylefeng.roses.kernel.system.modular.theme.service.impl;
|
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.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.entity.SysThemeTemplateRel;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.theme.mapper.SysThemeTemplateRelMapper;
|
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.SysThemeTemplateRelService;
|
||||||
|
import cn.stylefeng.roses.kernel.system.modular.theme.service.SysThemeTemplateService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -20,8 +27,14 @@ import java.util.List;
|
||||||
@Service
|
@Service
|
||||||
public class SysThemeTemplateRelServiceImpl extends ServiceImpl<SysThemeTemplateRelMapper, SysThemeTemplateRel> implements SysThemeTemplateRelService {
|
public class SysThemeTemplateRelServiceImpl extends ServiceImpl<SysThemeTemplateRelMapper, SysThemeTemplateRel> implements SysThemeTemplateRelService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SysThemeTemplateService sysThemeTemplateService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(SysThemeTemplateRelRequest sysThemeTemplateRelRequest) {
|
public void add(SysThemeTemplateRelRequest sysThemeTemplateRelRequest) {
|
||||||
|
// 校验模板状态
|
||||||
|
this.checkTemplateStatus(sysThemeTemplateRelRequest);
|
||||||
|
|
||||||
// 获取请求中的所有属性编码
|
// 获取请求中的所有属性编码
|
||||||
String[] fieldCodes = sysThemeTemplateRelRequest.getFieldCodes();
|
String[] fieldCodes = sysThemeTemplateRelRequest.getFieldCodes();
|
||||||
|
|
||||||
|
@ -40,8 +53,29 @@ public class SysThemeTemplateRelServiceImpl extends ServiceImpl<SysThemeTemplate
|
||||||
this.saveBatch(sysThemeTemplateRels);
|
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
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void del(SysThemeTemplateRelRequest sysThemeTemplateRelRequest) {
|
public void del(SysThemeTemplateRelRequest sysThemeTemplateRelRequest) {
|
||||||
|
// 校验模板状态
|
||||||
|
this.checkTemplateStatus(sysThemeTemplateRelRequest);
|
||||||
|
|
||||||
// 获取请求中的所有属性编码
|
// 获取请求中的所有属性编码
|
||||||
String[] fieldCodes = sysThemeTemplateRelRequest.getFieldCodes();
|
String[] fieldCodes = sysThemeTemplateRelRequest.getFieldCodes();
|
||||||
|
|
||||||
|
|
|
@ -103,6 +103,11 @@ public class SysThemeTemplateServiceImpl extends ServiceImpl<SysThemeTemplateMap
|
||||||
return PageResultFactory.createPageResult(page);
|
return PageResultFactory.createPageResult(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SysThemeTemplate> findList(SysThemeTemplateRequest sysThemeTemplateRequest) {
|
||||||
|
return this.list();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateTemplateStatus(SysThemeTemplateRequest sysThemeTemplateRequest) {
|
public void updateTemplateStatus(SysThemeTemplateRequest sysThemeTemplateRequest) {
|
||||||
SysThemeTemplate sysThemeTemplate = this.querySysThemeTemplateById(sysThemeTemplateRequest);
|
SysThemeTemplate sysThemeTemplate = this.querySysThemeTemplateById(sysThemeTemplateRequest);
|
||||||
|
|
Loading…
Reference in New Issue