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);
}
}