package cn.stylefeng.guns.modular.zsx.sys.codingRule.service.impl; import cn.stylefeng.guns.base.auth.context.LoginContextHolder; import cn.stylefeng.guns.base.pojo.page.LayuiPageFactory; import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo; import cn.stylefeng.guns.config.CommonProperty; import cn.stylefeng.guns.modular.zsx.sys.codingRule.entity.CodingRule; import cn.stylefeng.guns.modular.zsx.sys.codingRule.mapper.CodingRuleMapper; import cn.stylefeng.guns.modular.zsx.sys.codingRule.model.params.CodingRuleParam; import cn.stylefeng.guns.modular.zsx.sys.codingRule.model.result.CodingRuleResult; import cn.stylefeng.guns.modular.zsx.sys.codingRule.service.CodingRuleService; import cn.stylefeng.roses.core.util.ToolUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; /** *

* 编码规则 服务实现类 *

* * @author ruimin * @since 2023-08-23 */ @Service public class CodingRuleServiceImpl extends ServiceImpl implements CodingRuleService { @Override public void add(CodingRuleParam param){ CodingRule entity = getEntity(param); this.save(entity); } @Override public void delete(CodingRuleParam param){ this.removeById(getKey(param)); } @Override public void update(CodingRuleParam param){ param.setCurrentCode(getCurrentCode(param)); param.setUpdateUser(LoginContextHolder.getContext().getUser().getName()); CodingRule oldEntity = getOldEntity(param); CodingRule newEntity = getEntity(param); ToolUtil.copyProperties(newEntity, oldEntity); this.updateById(newEntity); } @Override public CodingRuleResult findBySpec(CodingRuleParam param){ return null; } @Override public List findListBySpec(CodingRuleParam param){ return null; } @Override public LayuiPageInfo findPageBySpec(CodingRuleParam param){ Page pageContext = getPageContext(); IPage page = this.baseMapper.customPageList(pageContext, param); return LayuiPageFactory.createPageInfo(page); } @Override public void addItemCodingRule(CodingRuleParam param) { param.setCurrentCode(getCurrentCode(param)); CodingRule entity = getEntity(param); this.save(entity); } @Override public CodingRule getCodingCode(String code) { CodingRule codingRuleCode = this.getOne(new QueryWrapper().eq("coding_rule_code", code)); return codingRuleCode; } public String getCurrentCode(CodingRuleParam param){ param.setUpdateUser(LoginContextHolder.getContext().getUser().getName()); SimpleDateFormat simpleDateFormat = new SimpleDateFormat(param.getDateType()); String codingRulePrefix = param.getCodingRulePrefix(); return codingRulePrefix+simpleDateFormat.format(new Date())+ StringUtils.leftPad("1", param.getCodeLength(), "0"); } private Serializable getKey(CodingRuleParam param){ return param.getId(); } private Page getPageContext() { return LayuiPageFactory.defaultPage(); } private CodingRule getOldEntity(CodingRuleParam param) { return this.getById(getKey(param)); } private CodingRule getEntity(CodingRuleParam param) { CodingRule entity = new CodingRule(); ToolUtil.copyProperties(param, entity); return entity; } }