package com.ks.daylucky.service.impl.remote;
|
|
import com.beust.jcommander.ParameterException;
|
import com.ks.daylucky.exception.AppConfigException;
|
import com.ks.daylucky.mapper.AppConfigMapper;
|
import com.ks.daylucky.pojo.DO.AppConfig;
|
import com.ks.daylucky.pojo.DTO.ConfigKeyEnum;
|
import com.ks.daylucky.query.AppConfigQuery;
|
import com.ks.daylucky.service.AppConfigService;
|
import org.apache.dubbo.config.annotation.Service;
|
import org.springframework.validation.annotation.Validated;
|
|
import javax.annotation.Resource;
|
import javax.validation.Valid;
|
import java.util.Date;
|
import java.util.List;
|
|
@Service(version = "1.0.0")
|
public class AppConfigServiceImpl implements AppConfigService {
|
|
@Resource
|
private AppConfigMapper appConfigMapper;
|
|
@Validated
|
@Override
|
public void addAppConfig(@Valid AppConfig config) throws ParameterException, AppConfigException {
|
AppConfigQuery query = new AppConfigQuery();
|
query.appId = config.getAppId();
|
query.key = config.getKey();
|
query.minVersion = config.getMinVersion();
|
query.count = 1;
|
List<AppConfig> list = appConfigMapper.list(query);
|
if (list != null && list.size() > 0) {
|
throw new AppConfigException(AppConfigException.CODE_EXIST, "应用配置已存在");
|
}
|
config.setCreateTime(new Date());
|
appConfigMapper.insertSelective(config);
|
}
|
|
@Override
|
public List<AppConfig> getConfigList(AppConfigQuery query, int page, int pageSize) {
|
query.start = (page - 1) * pageSize;
|
query.count = pageSize;
|
return appConfigMapper.list(query);
|
}
|
|
@Override
|
public long countConfig(AppConfigQuery query) {
|
return appConfigMapper.count(query);
|
}
|
|
@Override
|
public AppConfig selectByPrimaryKey(Long id) {
|
return appConfigMapper.selectByPrimaryKey(id);
|
}
|
|
@Override
|
public AppConfig getConfig(Long appId, ConfigKeyEnum key, Integer version) {
|
AppConfigQuery query = new AppConfigQuery();
|
query.appId = appId;
|
query.key = key.getKey();
|
query.version = version;
|
|
List<AppConfig> list = appConfigMapper.list(query);
|
if (list != null && list.size() > 0) {
|
return list.get(0);
|
}
|
|
return null;
|
}
|
|
@Override
|
public AppConfig getConfigCache(Long appId, ConfigKeyEnum key, Integer version) {
|
return getConfig(appId, key, version);
|
}
|
|
@Override
|
public void update(AppConfig config) {
|
|
if (config == null || config.getId() == null) {
|
return;
|
}
|
|
config.setUpdateTime(new Date());
|
appConfigMapper.updateByPrimaryKeySelective(config);
|
}
|
|
@Override
|
public void delete(Long id) {
|
appConfigMapper.deleteByPrimaryKey(id);
|
}
|
}
|