新字典

This commit is contained in:
2024-03-29 14:42:32 +08:00
parent 1981baeb94
commit d7c1754b6a
9 changed files with 417 additions and 2 deletions

View File

@@ -0,0 +1,51 @@
package cn.ysk.cashier.service;
import cn.ysk.cashier.dto.TbPlatformDictDto;
import cn.ysk.cashier.dto.TbPlatformDictQueryCriteria;
import cn.ysk.cashier.pojo.TbPlatformDict;
import java.util.List;
import java.util.Map;
public interface TbPlatformDictService {
/**
* 查询数据分页
* @param criteria 条件
* @return Map<String,Object>
*/
Map<String,Object> queryAllPage(TbPlatformDictQueryCriteria criteria);
/**
* 查询所有数据不分页
* @param criteria 条件参数
* @return List<TbPlatformDictDto>
*/
List<TbPlatformDictDto> queryAll(TbPlatformDictQueryCriteria criteria);
/**
* 根据ID查询
* @param id ID
* @return TbPlatformDictDto
*/
TbPlatformDictDto findById(Integer id);
/**
* 创建
* @param resources /
* @return TbPlatformDictDto
*/
TbPlatformDictDto create(TbPlatformDict resources);
/**
* 编辑
* @param resources /
*/
void update(TbPlatformDict resources);
/**
* 多选删除
* @param ids /
*/
void deleteAll(Integer[] ids);
}

View File

@@ -0,0 +1,87 @@
package cn.ysk.cashier.service.impl;
import cn.ysk.cashier.dto.TbPlatformDictDto;
import cn.ysk.cashier.dto.TbPlatformDictQueryCriteria;
import cn.ysk.cashier.exception.BadRequestException;
import cn.ysk.cashier.mapper.TbPlatformDictMapper;
import cn.ysk.cashier.pojo.TbPlatformDict;
import cn.ysk.cashier.repository.TbPlatformDictRepository;
import cn.ysk.cashier.service.TbPlatformDictService;
import cn.ysk.cashier.utils.PageUtil;
import cn.ysk.cashier.utils.QueryHelp;
import cn.ysk.cashier.utils.ValidationUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.Instant;
import java.util.List;
import java.util.Map;
@Service
@RequiredArgsConstructor
public class TbPlatformDictServiceImpl implements TbPlatformDictService {
private final TbPlatformDictRepository tbPlatformDictRepository;
private final TbPlatformDictMapper tbPlatformDictMapper;
@Override
public Map<String,Object> queryAllPage(TbPlatformDictQueryCriteria criteria){
Pageable pageable = PageRequest.of(criteria.getPage(), criteria.getPageSize(), Sort.by("sort"));
Page<TbPlatformDict> page = tbPlatformDictRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
return PageUtil.toPage(page.map(tbPlatformDictMapper::toDto));
}
@Override
public List<TbPlatformDictDto> queryAll(TbPlatformDictQueryCriteria criteria){
return tbPlatformDictMapper.toDto(tbPlatformDictRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
}
@Override
@Transactional
public TbPlatformDictDto findById(Integer id) {
TbPlatformDict tbPlatformDict = tbPlatformDictRepository.findById(id).orElseGet(TbPlatformDict::new);
ValidationUtil.isNull(tbPlatformDict.getId(),"TbPlatformDict","id",id);
return tbPlatformDictMapper.toDto(tbPlatformDict);
}
@Override
@Transactional(rollbackFor = Exception.class)
public TbPlatformDictDto create(TbPlatformDict resources) {
if (StringUtils.isBlank(resources.getType())) {
throw new BadRequestException("类型不可为空。");
}
if (StringUtils.isBlank(resources.getName())) {
throw new BadRequestException("名称不可为空。");
}
int exist = tbPlatformDictRepository.isExist(resources.getType(), resources.getName());
if (exist > 0) {
throw new BadRequestException("该类型下已存在该名称内容。");
}
resources.setCreatedAt(Instant.now().toEpochMilli());
return tbPlatformDictMapper.toDto(tbPlatformDictRepository.save(resources));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(TbPlatformDict resources) {
TbPlatformDict tbPlatformDict = tbPlatformDictRepository.findById(resources.getId()).orElseGet(TbPlatformDict::new);
resources.setUpdatedAt(Instant.now().toEpochMilli());
ValidationUtil.isNull( tbPlatformDict.getId(),"TbPlatformDict","id",resources.getId());
tbPlatformDict.copy(resources);
tbPlatformDictRepository.save(tbPlatformDict);
}
@Override
public void deleteAll(Integer[] ids) {
for (Integer id : ids) {
tbPlatformDictRepository.deleteById(id);
}
}
}