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