mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
修改标签、标签模板的更新接口逻辑
This commit is contained in:
+4
-1
@@ -122,13 +122,16 @@ public class ESDocumentServiceImpl implements ESDocumentService{
|
|||||||
public <T> BulkResponse bulkCreate(String idxName, List<T> documents) throws Exception {
|
public <T> BulkResponse bulkCreate(String idxName, List<T> documents) throws Exception {
|
||||||
BulkRequest.Builder br = new BulkRequest.Builder();
|
BulkRequest.Builder br = new BulkRequest.Builder();
|
||||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||||
|
Date date = new Date();
|
||||||
documents.forEach(document ->{
|
documents.forEach(document ->{
|
||||||
ESDocument esDocument = (ESDocument) document;
|
ESDocument esDocument = (ESDocument) document;
|
||||||
if(StrUtil.isBlank(esDocument.getId())) {
|
if(StrUtil.isBlank(esDocument.getId())) {
|
||||||
esDocument.setId(snowflake.nextIdStr());
|
esDocument.setId(snowflake.nextIdStr());
|
||||||
}
|
}
|
||||||
|
esDocument.setCreator(loginUser.getId());
|
||||||
|
esDocument.setCreateTime(date);
|
||||||
esDocument.setUpdater(loginUser.getId());
|
esDocument.setUpdater(loginUser.getId());
|
||||||
esDocument.setUpdateTime(new Date());
|
esDocument.setUpdateTime(date);
|
||||||
br.operations(op -> op.index(idx -> idx
|
br.operations(op -> op.index(idx -> idx
|
||||||
.index(idxName)
|
.index(idxName)
|
||||||
.id(esDocument.getId().toString())
|
.id(esDocument.getId().toString())
|
||||||
|
|||||||
+42
-4
@@ -96,11 +96,49 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
|
|||||||
LabelTemplateDO updateObj = BeanUtils.toBean(updateReqVO, LabelTemplateDO.class);
|
LabelTemplateDO updateObj = BeanUtils.toBean(updateReqVO, LabelTemplateDO.class);
|
||||||
labelTemplateMapper.updateById(updateObj);
|
labelTemplateMapper.updateById(updateObj);
|
||||||
|
|
||||||
// 更新子表
|
List<LabelElementTemplateDO> labelElementTemplateDOS = labelElementTemplateMapper.selectList(new LambdaQueryWrapperX<LabelElementTemplateDO>()
|
||||||
List<LabelElementTemplateSaveReqVO> elements = updateReqVO.getElements();
|
.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>>() {
|
/*updateLabelElementTemplateList(updateReqVO.getId(), Convert.convert(new TypeReference<List<LabelElementTemplateDO>>() {
|
||||||
}, elements));*/
|
}, elements));*/
|
||||||
labelElementTemplateMapper.updateBatch(Convert.convert(new TypeReference<List<LabelElementTemplateDO>>() {
|
/* labelElementTemplateMapper.updateBatch(Convert.convert(new TypeReference<List<LabelElementTemplateDO>>() {
|
||||||
}, elements));
|
}, elements));
|
||||||
List<LabelElementPropertyDO> labelElementPropertyDOS = elements.stream().map(e -> e.getPropertyDO()).collect(Collectors.toList());
|
List<LabelElementPropertyDO> labelElementPropertyDOS = elements.stream().map(e -> e.getPropertyDO()).collect(Collectors.toList());
|
||||||
try {
|
try {
|
||||||
@@ -108,7 +146,7 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
throw exception(INTERNAL_SERVER_ERROR);
|
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.es.core.service.ESDocumentService;
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
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.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.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.LabelDO;
|
||||||
import com.cf.imes.module.system.dal.dataobject.lable.LabelElementDO;
|
import com.cf.imes.module.system.dal.dataobject.lable.LabelElementDO;
|
||||||
import com.cf.imes.module.system.dal.dataobject.machine.CuttingSettingDO;
|
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);
|
LabelDO updateObj = BeanUtils.toBean(updateReqVO, LabelDO.class);
|
||||||
LabelMapper.updateById(updateObj);
|
LabelMapper.updateById(updateObj);
|
||||||
|
|
||||||
// 更新子表
|
List<LabelElementDO> labelElementDOS = labelElementMapper.selectList(new LambdaQueryWrapperX<LabelElementDO>()
|
||||||
List<LabelElementSaveReqVO> elements = updateReqVO.getElements();
|
.select(LabelElementDO::getId)
|
||||||
/*updateLabelElementList(updateReqVO.getId(), Convert.convert(new TypeReference<List<LabelElementDO>>() {
|
.eq(LabelElementDO::getLabelId, updateReqVO.getId()));
|
||||||
}, elements));*/
|
//删除旧的元素
|
||||||
|
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>>() {
|
labelElementMapper.updateBatch(Convert.convert(new TypeReference<List<LabelElementDO>>() {
|
||||||
}, elements));
|
}, elements));
|
||||||
List<LabelElementPropertyDO> labelElementPropertyDOS = elements.stream().map(e -> e.getPropertyDO()).collect(Collectors.toList());
|
List<LabelElementPropertyDO> labelElementPropertyDOS = elements.stream().map(e -> e.getPropertyDO()).collect(Collectors.toList());
|
||||||
@@ -106,7 +146,7 @@ public class LabelServiceImpl implements LabelService {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
throw exception(INTERNAL_SERVER_ERROR);
|
throw exception(INTERNAL_SERVER_ERROR);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user