fourcal/src/main/java/cn/palmte/work/service/SysConfigService.java

59 lines
2.4 KiB
Java

package cn.palmte.work.service;
import cn.palmte.work.bean.ProjectConfigBean;
import cn.palmte.work.bean.ResponseMsg;
import cn.palmte.work.model.SysConfig;
import cn.palmte.work.model.SysConfigRepository;
import cn.palmte.work.pojo.SysConfigRequest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date;
@Service
public class SysConfigService {
@Autowired
private SysConfigRepository sysConfigRepository;
public ResponseMsg saveOrUpdate(String json) {
JSONObject obj = JSON.parseObject(json);
double rate = Double.parseDouble(obj.getString("underwrittenTaxRate"));
if(rate <= 0){
return ResponseMsg.buildFailedMsg("项目年利率应大于0");
}
SysConfig underwrittenTaxRate = sysConfigRepository.findByCodeEquals(SysConfig.KEY_UNDERWRITTENTAXRATE);
underwrittenTaxRate.setValue(obj.getString("underwrittenTaxRate"));
underwrittenTaxRate.setUpdateTime(new Date());
sysConfigRepository.saveAndFlush(underwrittenTaxRate);
SysConfig projectContributionProfitRateThreshold = sysConfigRepository.findByCodeEquals(SysConfig.KEY_PROJECTCONTRIBUTIONPROFITRATETHRESHOLD);
projectContributionProfitRateThreshold.setValue(obj.getString("projectContributionProfitRateThreshold"));
projectContributionProfitRateThreshold.setUpdateTime(new Date());
sysConfigRepository.saveAndFlush(projectContributionProfitRateThreshold);
return ResponseMsg.buildSuccessMsg("配置成功");
}
public BigDecimal getUnderwrittenTaxRate(){
return new BigDecimal(sysConfigRepository.findByCodeEquals(SysConfig.KEY_UNDERWRITTENTAXRATE).getValue());
}
public BigDecimal getProjectContributionProfitRateThreshold(){
return new BigDecimal(sysConfigRepository.findByCodeEquals(SysConfig.KEY_PROJECTCONTRIBUTIONPROFITRATETHRESHOLD).getValue());
}
public ProjectConfigBean getProjectConfigBeanConfig(){
ProjectConfigBean projectConfigBean = new ProjectConfigBean();
projectConfigBean.setUnderwrittenTaxRate(getUnderwrittenTaxRate());
projectConfigBean.setProjectContributionProfitRateThreshold(getProjectContributionProfitRateThreshold());
return projectConfigBean;
}
}