提交 577437da 编写于 作者: O o2sword

数据模型导入记录删除

上级 6d3f86c2
package com.x.query.assemble.surface.jaxrs.importmodel;
import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.container.factory.EntityManagerContainerFactory;
import com.x.base.core.project.exception.ExceptionEntityNotExist;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.jaxrs.WrapBoolean;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.query.core.entity.ImportRecord;
import com.x.query.core.entity.ImportRecordItem;
import java.util.List;
class ActionDeleteRecord extends BaseAction {
private static Logger logger = LoggerFactory.getLogger(ActionDeleteRecord.class);
ActionResult<Wo> execute(EffectivePerson effectivePerson, String recordId) throws Exception {
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
ActionResult<Wo> result = new ActionResult<>();
ImportRecord record = emc.find(recordId, ImportRecord.class);
if(record == null){
throw new ExceptionEntityNotExist(recordId, ImportRecord.class);
}
List<ImportRecordItem> itemList = emc.listEqual(ImportRecordItem.class, ImportRecordItem.recordId_FIELDNAME, record.getId());
emc.beginTransaction(ImportRecord.class);
emc.beginTransaction(ImportRecordItem.class);
for (ImportRecordItem item : itemList) {
emc.remove(item);
}
emc.remove(record);
emc.commit();
Wo wo = new Wo();
wo.setValue(true);
result.setData(wo);
return result;
}
}
public static class Wo extends WrapBoolean {
}
}
......@@ -209,4 +209,40 @@ public class ImportModelAction extends StandardJaxrsAction {
asyncResponse.resume(ResponseFactory.getDefaultActionResultResponse(result));
}
@JaxrsMethodDescribe(value = "删除导入记录.", action = ActionDeleteRecord.class)
@DELETE
@Path("record/{recordId}")
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
public void deleteRecord(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@JaxrsParameterDescribe("导入记录标识") @PathParam("recordId") String recordId) {
ActionResult<ActionDeleteRecord.Wo> result = new ActionResult<>();
EffectivePerson effectivePerson = this.effectivePerson(request);
try {
result = new ActionDeleteRecord().execute(effectivePerson, recordId);
} catch (Exception e) {
logger.error(e, effectivePerson, request, null);
result.error(e);
}
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
@JaxrsMethodDescribe(value = "删除导入记录mockdeletetoget.", action = ActionDeleteRecord.class)
@GET
@Path("record/{recordId}/mockdeletetoget")
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
public void deleteRecordMockDeleteToGet(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@JaxrsParameterDescribe("导入记录标识") @PathParam("recordId") String recordId) {
ActionResult<ActionDeleteRecord.Wo> result = new ActionResult<>();
EffectivePerson effectivePerson = this.effectivePerson(request);
try {
result = new ActionDeleteRecord().execute(effectivePerson, recordId);
} catch (Exception e) {
logger.error(e, effectivePerson, request, null);
result.error(e);
}
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册