提交 e30a5623 作者: obcy

【异常修复】

上级 5e5dedc7
......@@ -209,9 +209,7 @@ public class EventManageController {
*/
@GetMapping("/enable")
public Result<?> enable(@RequestParam String eventId) {
eventService.updateStatus(eventId, 1);
//异步导致的异常修复(修改和查询使用同一个线程)
Event event = eventService.getById(eventId);
Event event = eventService.updateStatus(eventId, 1);
CompletableFuture.runAsync(() -> {
......@@ -259,9 +257,9 @@ public class EventManageController {
*/
@GetMapping("/disable")
public Result<?> disable(@RequestParam String eventId) {
eventService.updateStatus(eventId, 0);
Event event = eventService.updateStatus(eventId, 0);
try {
String res = caiJiCenterHttpService.subjectStatusEdit(0, eventId);
String res = caiJiCenterHttpService.subjectStatusEdit(event.getStatus(), event.getId());
cn.hutool.json.JSONObject entries = JSONUtil.parseObj(res);
//获取code状态码
Integer code = entries.getInt("code");
......
......@@ -137,7 +137,7 @@ public interface IEventService extends IService<Event> {
void deleteMain(String id);
void updateStatus(String eventId, Integer status);
Event updateStatus(String eventId, Integer status);
/**
* 事件配置校验
......
......@@ -495,15 +495,15 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
}
@Override
public void updateStatus(String eventId, Integer status) {
public Event updateStatus(String eventId, Integer status) {
Event event = this.getById(eventId);
LambdaUpdateWrapper<Event> updateWrapper = Wrappers.lambdaUpdate();
updateWrapper.set(Event::getStatus, status).eq(Event::getId, eventId);
event.setStatus(status);
if (status == 1 && event.getFirstOpenTime() == null) {
//判断是否第一次启用
updateWrapper.set(Event::getFirstOpenTime, new Date());
event.setFirstOpenTime( new Date());
}
this.update(updateWrapper);
this.updateById(event);
return event;
}
@Override
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论