短信配置服务实现
This commit is contained in:
parent
950c3f7947
commit
7ba5b5f43a
|
@ -0,0 +1,100 @@
|
||||||
|
package net.maku.system.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import net.maku.framework.common.constant.Constant;
|
||||||
|
import net.maku.framework.common.utils.PageResult;
|
||||||
|
import net.maku.framework.mybatis.service.impl.BaseServiceImpl;
|
||||||
|
import net.maku.sms.config.SmsConfig;
|
||||||
|
import net.maku.system.cache.SmsConfigCache;
|
||||||
|
import net.maku.system.convert.SysSmsConfigConvert;
|
||||||
|
import net.maku.system.dao.SysSmsConfigDao;
|
||||||
|
import net.maku.system.entity.SysSmsConfigEntity;
|
||||||
|
import net.maku.system.query.SysSmsConfigQuery;
|
||||||
|
import net.maku.system.service.SysSmsConfigService;
|
||||||
|
import net.maku.system.vo.SysSmsConfigVO;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 短信配置
|
||||||
|
*
|
||||||
|
* @author 阿沐 babamu@126.com
|
||||||
|
* <a href="https://maku.net">MAKU</a>
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class SysSmsConfigServiceImpl extends BaseServiceImpl<SysSmsConfigDao, SysSmsConfigEntity> implements SysSmsConfigService {
|
||||||
|
private final SmsConfigCache smsConfigCache;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<SysSmsConfigVO> page(SysSmsConfigQuery query) {
|
||||||
|
IPage<SysSmsConfigEntity> page = baseMapper.selectPage(getPage(query), getWrapper(query));
|
||||||
|
|
||||||
|
return new PageResult<>(SysSmsConfigConvert.INSTANCE.convertList(page.getRecords()), page.getTotal());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SysSmsConfigVO> list(Integer platform) {
|
||||||
|
LambdaQueryWrapper<SysSmsConfigEntity> wrapper = Wrappers.lambdaQuery();
|
||||||
|
wrapper.eq(platform != null, SysSmsConfigEntity::getPlatform, platform);
|
||||||
|
|
||||||
|
List<SysSmsConfigEntity> list = baseMapper.selectList(wrapper);
|
||||||
|
return SysSmsConfigConvert.INSTANCE.convertList(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<SysSmsConfigEntity> getWrapper(SysSmsConfigQuery query) {
|
||||||
|
LambdaQueryWrapper<SysSmsConfigEntity> wrapper = Wrappers.lambdaQuery();
|
||||||
|
wrapper.eq(query.getPlatform() != null, SysSmsConfigEntity::getPlatform, query.getPlatform());
|
||||||
|
wrapper.like(StrUtil.isNotBlank(query.getGroupName()), SysSmsConfigEntity::getGroupName, query.getGroupName());
|
||||||
|
return wrapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SmsConfig> listByEnable() {
|
||||||
|
// 从缓存读取
|
||||||
|
List<SmsConfig> cacheList = smsConfigCache.list();
|
||||||
|
|
||||||
|
// 如果缓存没有,则从DB读取,然后保存到缓存里
|
||||||
|
if (cacheList == null) {
|
||||||
|
List<SysSmsConfigEntity> list = this.list(new LambdaQueryWrapper<SysSmsConfigEntity>().in(SysSmsConfigEntity::getStatus, Constant.ENABLE));
|
||||||
|
|
||||||
|
cacheList = SysSmsConfigConvert.INSTANCE.convertList2(list);
|
||||||
|
smsConfigCache.save(cacheList);
|
||||||
|
}
|
||||||
|
|
||||||
|
return cacheList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void save(SysSmsConfigVO vo) {
|
||||||
|
SysSmsConfigEntity entity = SysSmsConfigConvert.INSTANCE.convert(vo);
|
||||||
|
|
||||||
|
baseMapper.insert(entity);
|
||||||
|
|
||||||
|
smsConfigCache.delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update(SysSmsConfigVO vo) {
|
||||||
|
SysSmsConfigEntity entity = SysSmsConfigConvert.INSTANCE.convert(vo);
|
||||||
|
|
||||||
|
updateById(entity);
|
||||||
|
|
||||||
|
smsConfigCache.delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void delete(List<Long> idList) {
|
||||||
|
removeByIds(idList);
|
||||||
|
|
||||||
|
smsConfigCache.delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user