【7.1.6】更新主题管理

pull/25/head
xixiaowei 2021-12-31 17:30:59 +08:00
parent d6954e8beb
commit 4ec670fe37
7 changed files with 128 additions and 9 deletions

View File

@ -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;
}

View File

@ -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));
}
/**
*
*

View File

@ -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);
/**
*

View File

@ -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);
/**
*
*

View File

@ -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

View File

@ -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();

View File

@ -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);