提交 61292010 编写于 作者: O o2sword

修复热点图片重复保存的问题

上级 d0d27b93
package com.x.processplatform.assemble.surface.jaxrs.review;
import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.container.factory.EntityManagerContainerFactory;
import com.x.base.core.entity.JpaObject;
import com.x.base.core.project.bean.WrapCopier;
import com.x.base.core.project.bean.WrapCopierFactory;
import com.x.base.core.project.exception.ExceptionAccessDenied;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.processplatform.assemble.surface.Business;
import com.x.processplatform.core.entity.content.Review;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
class ActionListWithJob extends BaseAction {
ActionResult<List<Wo>> execute(EffectivePerson effectivePerson, String job) throws Exception {
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
ActionResult<List<Wo>> result = new ActionResult<>();
Business business = new Business(emc);
if (!business.readableWithJob(effectivePerson, job)) {
throw new ExceptionAccessDenied(effectivePerson);
}
List<Wo> wos = Wo.copier.copy(emc.listEqual(Review.class, Review.job_FIELDNAME, job));
wos = wos.stream().sorted(Comparator.comparing(Wo::getStartTime, Comparator.nullsLast(Date::compareTo)))
.collect(Collectors.toList());
result.setData(wos);
return result;
}
}
public static class Wo extends Review {
private static final long serialVersionUID = 8866208384156853172L;
static WrapCopier<Review, Wo> copier = WrapCopierFactory.wo(Review.class, Wo.class, null,
JpaObject.FieldsInvisible);
}
}
......@@ -367,4 +367,22 @@ public class ReviewAction extends StandardJaxrsAction {
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result, jsonElement));
}
@JaxrsMethodDescribe(value = "根据job获取参阅.", action = ActionListWithJob.class)
@GET
@Path("list/job/{job}")
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
public void listWithJob(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@JaxrsParameterDescribe("任务标识") @PathParam("job") String job) {
ActionResult<List<ActionListWithJob.Wo>> result = new ActionResult<>();
EffectivePerson effectivePerson = this.effectivePerson(request);
try {
result = new ActionListWithJob().execute(effectivePerson, job);
} 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.
先完成此消息的编辑!
想要评论请 注册