package com.engine.salary.sys.service.impl; import com.api.formmode.mybatis.util.SqlProxyHandle; import com.engine.salary.mapper.sys.SalarySysConfMapper; import com.engine.salary.sys.entity.po.SalarySysConfPO; import com.weaverboot.frame.ioc.anno.classAnno.WeaSysInitComponent; import com.weaverboot.frame.ioc.anno.methodAnno.WeaSysInit; import dm.jdbc.util.IdGenerator; import org.apache.commons.lang3.StringUtils; import weaver.general.BaseBean; import java.util.Date; @WeaSysInitComponent("initSalary") public class InitServiceImpl { private SalarySysConfMapper getSalarySysConfMapper() { return SqlProxyHandle.getProxy(SalarySysConfMapper.class); } BaseBean baseBean = new BaseBean(); @WeaSysInit(order = 1, description = "升级薪酬非标版本") public void init() { String version = baseBean.getPropValue("hrmSalary", "version"); Date date = new Date(); //升级版本号 //当前版本 SalarySysConfPO currentVersion = getSalarySysConfMapper().getOneByCode("currentVersion"); //前一个版本 int orderWeight = getSalarySysConfMapper().countByCode("previousVersion"); if (currentVersion == null) { //初始化版本 SalarySysConfPO current = SalarySysConfPO.builder() .id(IdGenerator.generate()) .confKey("currentVersion") .confValue(version) .title("当前版本") .module("basic") .orderWeight(0) .createTime(date) .updateTime(date) .deleteType(0).build(); getSalarySysConfMapper().insertIgnoreNull(current); } else { //版本不一样 if (!StringUtils.equals(version, currentVersion.getConfValue())) { //生成历史版本记录 SalarySysConfPO previous = SalarySysConfPO.builder() .id(IdGenerator.generate()) .confKey("previousVersion") .confValue(currentVersion.getConfValue()) .title("上一个版本") .module("basic") .orderWeight(orderWeight) .createTime(date) .updateTime(date) .deleteType(0) .build(); getSalarySysConfMapper().insertIgnoreNull(previous); //更新当前版本 currentVersion.setConfValue(version); currentVersion.setUpdateTime(date); getSalarySysConfMapper().updateIgnoreNull(currentVersion); } } } @WeaSysInit(order = 2, description = "处理薪资档案历史数据") public void handleSalaryArchiveHistoryData() { // new SalaryArchiveServiceImpl().handleHistory(1L); } }