package com.app.mvc.config;
import com.app.mvc.acl.convert.BaseConvert;
import com.app.mvc.acl.util.RequestHolder;
import com.app.mvc.beans.PageQuery;
import com.app.mvc.beans.PageResult;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* Created by jimin on 15/11/7.
*/
@Service
public class ConfigurationService {
@Resource
private ConfigurationDao configurationDao;
public List<Configuration> getAll() {
return configurationDao.getAll();
}
public PageResult<Configuration> getByPage(PageQuery page) {
BaseConvert.checkPara(page);
int count = configurationDao.count();
if (count > 0) {
List<Configuration> list = configurationDao.getByPage(page);
return PageResult.<Configuration>builder().total(count).data(list).build();
}
return PageResult.<Configuration>builder().build();
}
public Configuration saveOrUpdate(ConfigurationParam param) {
Configuration configuration = configurationDao.findByK(param.getK());
if (configuration == null) {
configuration = generate(param);
configurationDao.insert(configuration);
} else {
configuration.setV(param.getV());
configuration.setOperator(RequestHolder.getCurrentUser().getUsername());
configuration.setComment(param.getComment());
configurationDao.updateByK(configuration);
}
return configuration;
}
private Configuration generate(ConfigurationParam param) {
return new Configuration(param.getK(), param.getV(), RequestHolder.getCurrentUser().getUsername(), param.getComment());
}
}