package com.qianwen.smartman.modules.dnc.service.impl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.qianwen.core.cache.utils.CacheUtil; import com.qianwen.core.tool.utils.Func; import com.qianwen.smartman.common.cache.ParamCache; import com.qianwen.smartman.common.constant.ExtCacheConstant; import com.qianwen.smartman.common.constant.FmsConstant; import com.qianwen.smartman.modules.dnc.convert.DncDirectorySettingsConvert; import com.qianwen.smartman.modules.dnc.dto.ArtBagFileNameProcessRule; import com.qianwen.smartman.modules.dnc.dto.DirectoryFileNameProcessRule; import com.qianwen.smartman.modules.dnc.entity.DncDirectorySettings; import com.qianwen.smartman.modules.dnc.enums.DncFileNameProcessRuleEnum; import com.qianwen.smartman.modules.dnc.service.IDncDirectorySettingsService; import com.qianwen.smartman.modules.dnc.vo.DncDirectorySettingsEditVO; import com.qianwen.smartman.modules.dnc.vo.DncDirectorySettingsVO; import com.qianwen.smartman.modules.fms.dto.SwitchDTO; import com.qianwen.smartman.modules.system.entity.Param; import com.qianwen.smartman.modules.system.service.IParamService; @Service /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/dnc/service/impl/DncDirectorySettingsServiceImpl.class */ public class DncDirectorySettingsServiceImpl implements IDncDirectorySettingsService { private final IParamService iParamService; public DncDirectorySettingsServiceImpl(final IParamService iParamService) { this.iParamService = iParamService; } @Override // org.springblade.modules.dnc.service.IDncDirectorySettingsService public SwitchDTO fileStartStatus() { Param fmsParam = (Param) this.iParamService.getOne( Wrappers.lambdaQuery().eq(Param::getParamKey, FmsConstant.FILE_PARAM_KEY)); if (fmsParam != null) { SwitchDTO switchDTO = new SwitchDTO(); switchDTO.setParamValue(fmsParam.getParamValue()); return switchDTO; } return null; } @Override // org.springblade.modules.dnc.service.IDncDirectorySettingsService public void switchFileSettingState(SwitchDTO switchDTO) { Param fmsParam = this.iParamService.getOne(Wrappers.lambdaQuery().eq(Param::getParamKey, FmsConstant.FILE_PARAM_KEY)); if (Func.isNotEmpty(fmsParam)) { fmsParam.setParamValue(switchDTO.getParamValue()); CacheUtil.evict("blade:param", "param:value:", FmsConstant.FILE_PARAM_KEY, ExtCacheConstant.TENANT_MODE); this.iParamService.updateById(fmsParam); } } @Override // org.springblade.modules.dnc.service.IDncDirectorySettingsService public DncDirectorySettingsVO fileSettingDetail() { Param param = this.iParamService.getOne(Wrappers.lambdaQuery().eq(Param::getParamKey, FmsConstant.DNC_EXTRA_SETTING)); /* Param param = (Param) this.iParamService.getOne((Wrapper) Wrappers.lambdaQuery().eq((v0) -> { return v0.getParamKey(); }, FmsConstant.DNC_EXTRA_SETTING));*/ if (Func.isNotEmpty(param)) { String remark = param.getRemark(); DncDirectorySettingsVO dncDirectorySettingsVO = new DncDirectorySettingsVO(); if (Func.isNotBlank(remark)) { DncDirectorySettings dncDirectorySettings = (DncDirectorySettings) JSONObject.parseObject(param.getRemark(), DncDirectorySettings.class); dncDirectorySettingsVO.setSpliceSymbol(dncDirectorySettings.getSpliceSymbol()).setSplicingMethod(dncDirectorySettings.getSplicingMethod()).setSourceOfSplicing(dncDirectorySettings.getSourceOfSplicing()).setBagSplicingContent(dncDirectorySettings.getBagSplicingContent()).setDirSplicingContent(dncDirectorySettings.getDirSplicingContent()); return dncDirectorySettingsVO; } return null; } return null; } @Override // org.springblade.modules.dnc.service.IDncDirectorySettingsService @Transactional(rollbackFor = {Exception.class}) public DncDirectorySettingsVO updateFileSettingData(DncDirectorySettingsEditVO editVO) { String value; DncDirectorySettings dncDirectorySettings = new DncDirectorySettings(); dncDirectorySettings.setSplicingMethod(editVO.getSplicingMethod()).setSourceOfSplicing(editVO.getSourceOfSplicing()).setBagSplicingContent(editVO.getBagSplicingContent()).setDirSplicingContent(editVO.getDirSplicingContent()).setSpliceSymbol(editVO.getSpliceSymbol()); Param param = this.iParamService.getOne(Wrappers.lambdaQuery().eq(Param::getParamKey, FmsConstant.DNC_EXTRA_SETTING)); /* Param param = (Param) this.iParamService.getOne((Wrapper) Wrappers.lambdaQuery().eq((v0) -> { return v0.getParamKey(); }, FmsConstant.DNC_EXTRA_SETTING));*/ if (Func.isNotEmpty(param)) { String replaceRules = ParamCache.getValue(FmsConstant.DNC_FILE_FILTER); if (DncFileNameProcessRuleEnum.ARTBAG.getValue().equals(editVO.getSourceOfSplicing())) { ArtBagFileNameProcessRule dncFileNameProcessRule = new ArtBagFileNameProcessRule(); dncFileNameProcessRule.setConnectors(editVO.getSpliceSymbol()); dncFileNameProcessRule.setExtraSource(DncFileNameProcessRuleEnum.ARTBAG.getValue()); dncFileNameProcessRule.setHandleRegexp(replaceRules); dncFileNameProcessRule.setSuffix((editVO.getSplicingMethod().intValue() == 2 ? Boolean.TRUE : Boolean.FALSE).booleanValue()); dncFileNameProcessRule.setSelectProperty(editVO.getBagSplicingContent().intValue() == 1 ? 1 : 2); value = JSONObject.toJSONString(dncFileNameProcessRule); } else { DirectoryFileNameProcessRule directoryFileNameProcessRule = new DirectoryFileNameProcessRule(); directoryFileNameProcessRule.setConnectors(editVO.getSpliceSymbol()); directoryFileNameProcessRule.setExtraSource(DncFileNameProcessRuleEnum.DIRTECTORY.getValue()); directoryFileNameProcessRule.setHandleRegexp(replaceRules); directoryFileNameProcessRule.setSuffix((editVO.getSplicingMethod().intValue() == 2 ? Boolean.TRUE : Boolean.FALSE).booleanValue()); directoryFileNameProcessRule.setSelectLevel(editVO.getDirSplicingContent().intValue()); value = JSONObject.toJSONString(directoryFileNameProcessRule); } String data = JSONObject.toJSONString(dncDirectorySettings); param.setParamValue(value); param.setRemark(data); CacheUtil.evict("blade:param", "param:value:", FmsConstant.DNC_EXTRA_SETTING, ExtCacheConstant.TENANT_MODE); this.iParamService.updateById(param); } return DncDirectorySettingsConvert.INSTANCE.convert(dncDirectorySettings); } }