mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-13 05:12:07 +08:00
修改标签、标签模板的更新接口逻辑
This commit is contained in:
+42
-4
@@ -96,11 +96,49 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
|
||||
LabelTemplateDO updateObj = BeanUtils.toBean(updateReqVO, LabelTemplateDO.class);
|
||||
labelTemplateMapper.updateById(updateObj);
|
||||
|
||||
// 更新子表
|
||||
List<LabelElementTemplateSaveReqVO> elements = updateReqVO.getElements();
|
||||
List<LabelElementTemplateDO> labelElementTemplateDOS = labelElementTemplateMapper.selectList(new LambdaQueryWrapperX<LabelElementTemplateDO>()
|
||||
.select(LabelElementTemplateDO::getId)
|
||||
.eq(LabelElementTemplateDO::getLabelTemplateId, updateReqVO.getId()));
|
||||
//删除旧的元素
|
||||
DeleteByQueryRequest.Builder builder = null;
|
||||
if(CollectionUtil.isNotEmpty(labelElementTemplateDOS)) {
|
||||
List<Long> templateIds = labelElementTemplateDOS.stream()
|
||||
.map(LabelElementTemplateDO::getId)
|
||||
.toList();
|
||||
labelElementTemplateMapper.deleteBatchIds(templateIds);
|
||||
List<FieldValue> fieldValues = templateIds.stream().map(FieldValue::of).collect(Collectors.toList());
|
||||
builder = new DeleteByQueryRequest.Builder()
|
||||
.index(LABEL_TEMPLATE_ELEMENT_PROPERTY_INX)
|
||||
.query(TermsQuery.of(e -> e.field("elementId").terms(b -> b.value(fieldValues)))._toQuery());
|
||||
}
|
||||
|
||||
|
||||
//新增新的元素
|
||||
List<LabelElementTemplateSaveReqVO> createReqVOElements = updateReqVO.getElements();
|
||||
List<LabelElementPropertyDO> labelElementPropertyDOS = new ArrayList<>();
|
||||
createReqVOElements.forEach(e -> {
|
||||
e.setLabelTemplateId(updateObj.getId());
|
||||
LabelElementTemplateDO elementTemplateDO = Convert.convert(LabelElementTemplateDO.class, e);
|
||||
labelElementTemplateMapper.insert(elementTemplateDO);
|
||||
LabelElementPropertyDO propertyDO = e.getPropertyDO();
|
||||
propertyDO.setElementId(elementTemplateDO.getId());
|
||||
labelElementPropertyDOS.add(propertyDO);
|
||||
});
|
||||
//插入索引
|
||||
try {
|
||||
esDocumentService.bulkCreate(LABEL_TEMPLATE_ELEMENT_PROPERTY_INX, labelElementPropertyDOS);
|
||||
if(!Objects.isNull(builder)) {
|
||||
elasticsearchClient.deleteByQuery(builder.build());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
throw exception(INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
|
||||
/*updateLabelElementTemplateList(updateReqVO.getId(), Convert.convert(new TypeReference<List<LabelElementTemplateDO>>() {
|
||||
}, elements));*/
|
||||
labelElementTemplateMapper.updateBatch(Convert.convert(new TypeReference<List<LabelElementTemplateDO>>() {
|
||||
/* labelElementTemplateMapper.updateBatch(Convert.convert(new TypeReference<List<LabelElementTemplateDO>>() {
|
||||
}, elements));
|
||||
List<LabelElementPropertyDO> labelElementPropertyDOS = elements.stream().map(e -> e.getPropertyDO()).collect(Collectors.toList());
|
||||
try {
|
||||
@@ -108,7 +146,7 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
throw exception(INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
+45
-5
@@ -15,7 +15,9 @@ import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.system.controller.admin.label.vo.*;
|
||||
import com.cf.imes.module.system.controller.admin.labeltemplate.vo.LabelElementTemplateSaveReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.labelelementproperty.LabelElementPropertyDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.labeltemplate.LabelElementTemplateDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.lable.LabelDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.lable.LabelElementDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.CuttingSettingDO;
|
||||
@@ -94,10 +96,48 @@ public class LabelServiceImpl implements LabelService {
|
||||
LabelDO updateObj = BeanUtils.toBean(updateReqVO, LabelDO.class);
|
||||
LabelMapper.updateById(updateObj);
|
||||
|
||||
// 更新子表
|
||||
List<LabelElementSaveReqVO> elements = updateReqVO.getElements();
|
||||
/*updateLabelElementList(updateReqVO.getId(), Convert.convert(new TypeReference<List<LabelElementDO>>() {
|
||||
}, elements));*/
|
||||
List<LabelElementDO> labelElementDOS = labelElementMapper.selectList(new LambdaQueryWrapperX<LabelElementDO>()
|
||||
.select(LabelElementDO::getId)
|
||||
.eq(LabelElementDO::getLabelId, updateReqVO.getId()));
|
||||
//删除旧的元素
|
||||
DeleteByQueryRequest.Builder builder = null;
|
||||
if(CollectionUtil.isNotEmpty(labelElementDOS)) {
|
||||
List<Long> templateIds = labelElementDOS.stream()
|
||||
.map(LabelElementDO::getId)
|
||||
.toList();
|
||||
labelElementMapper.deleteBatchIds(templateIds);
|
||||
List<FieldValue> fieldValues = templateIds.stream().map(FieldValue::of).collect(Collectors.toList());
|
||||
builder = new DeleteByQueryRequest.Builder()
|
||||
.index(LABEL_ELEMENT_PROPERTY_INX)
|
||||
.query(TermsQuery.of(e -> e.field("elementId").terms(b -> b.value(fieldValues)))._toQuery());
|
||||
}
|
||||
|
||||
|
||||
//新增新的元素
|
||||
List<LabelElementSaveReqVO> createReqVOElements = updateReqVO.getElements();
|
||||
List<LabelElementPropertyDO> labelElementPropertyDOS = new ArrayList<>();
|
||||
createReqVOElements.forEach(e -> {
|
||||
e.setLabelId(updateObj.getId());
|
||||
LabelElementDO labelElementDO = Convert.convert(LabelElementDO.class, e);
|
||||
labelElementMapper.insert(labelElementDO);
|
||||
LabelElementPropertyDO propertyDO = e.getPropertyDO();
|
||||
propertyDO.setElementId(labelElementDO.getId());
|
||||
labelElementPropertyDOS.add(propertyDO);
|
||||
});
|
||||
//插入索引
|
||||
try {
|
||||
esDocumentService.bulkCreate(LABEL_ELEMENT_PROPERTY_INX, labelElementPropertyDOS);
|
||||
if(!Objects.isNull(builder)) {
|
||||
elasticsearchClient.deleteByQuery(builder.build());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
throw exception(INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
/* List<LabelElementSaveReqVO> elements = updateReqVO.getElements();
|
||||
*//*updateLabelElementList(updateReqVO.getId(), Convert.convert(new TypeReference<List<LabelElementDO>>() {
|
||||
}, elements));*//*
|
||||
labelElementMapper.updateBatch(Convert.convert(new TypeReference<List<LabelElementDO>>() {
|
||||
}, elements));
|
||||
List<LabelElementPropertyDO> labelElementPropertyDOS = elements.stream().map(e -> e.getPropertyDO()).collect(Collectors.toList());
|
||||
@@ -106,7 +146,7 @@ public class LabelServiceImpl implements LabelService {
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
throw exception(INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user