From fe0d9972bac94ede485b3e7182eccc3ab55ce7e2 Mon Sep 17 00:00:00 2001 From: lrh <1585126058@qq.com> Date: Mon, 12 Jun 2023 16:25:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E8=BE=91=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PhotoSpeakVideoController.java | 2 +- .../iformall/schedule/PhotoSpeakSchedule.java | 2 +- .../service/sm/PhotoSpeakVideoService.java | 2 +- .../service/sm/UserCreateVideoNumService.java | 2 +- .../sm/impl/PhotoSpeakVideoServiceImpl.java | 44 ++++++++++++------- .../impl/UserCreateVideoNumServiceImpl.java | 8 +++- 6 files changed, 37 insertions(+), 23 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java index 82de4e0..dbbef45 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java @@ -176,7 +176,7 @@ public class PhotoSpeakVideoController extends BaseController { mouldVideoUpd.setCreateVideoDate(new Date()); photoSpeakVideoService.saveOrUpdate(mouldVideoUpd); - photoSpeakVideoService.createVideo(mouldVideo); + photoSpeakVideoService.createVideo(mouldVideo,true); return new ResultData(); } diff --git a/suimangSchedule/src/main/java/com/iformall/schedule/PhotoSpeakSchedule.java b/suimangSchedule/src/main/java/com/iformall/schedule/PhotoSpeakSchedule.java index 040bd96..9dde223 100644 --- a/suimangSchedule/src/main/java/com/iformall/schedule/PhotoSpeakSchedule.java +++ b/suimangSchedule/src/main/java/com/iformall/schedule/PhotoSpeakSchedule.java @@ -57,7 +57,7 @@ public class PhotoSpeakSchedule { if (list != null && list.size() > 0) { for (PhotoSpeakVideo video : list) { try { - Future future = photoSpeakVideoService.createVideo(video); + Future future = photoSpeakVideoService.createVideo(video,false); future.get(); } catch (Exception e) { logger.error("TtCouponVideoSchedule error.couponVideoSchedule:"+video.getId(),e); diff --git a/suimangService/src/main/java/com/iformall/service/sm/PhotoSpeakVideoService.java b/suimangService/src/main/java/com/iformall/service/sm/PhotoSpeakVideoService.java index 2ef8f88..5cde9e4 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/PhotoSpeakVideoService.java +++ b/suimangService/src/main/java/com/iformall/service/sm/PhotoSpeakVideoService.java @@ -45,7 +45,7 @@ public interface PhotoSpeakVideoService { */ void deleteById(Long id); - Future createVideo(PhotoSpeakVideo mouldVideo); + Future createVideo(PhotoSpeakVideo mouldVideo,Boolean flag); void uploadVideo(PhotoSpeakVideo mouldVideo); diff --git a/suimangService/src/main/java/com/iformall/service/sm/UserCreateVideoNumService.java b/suimangService/src/main/java/com/iformall/service/sm/UserCreateVideoNumService.java index 04ef1b3..07d21ca 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/UserCreateVideoNumService.java +++ b/suimangService/src/main/java/com/iformall/service/sm/UserCreateVideoNumService.java @@ -11,7 +11,7 @@ public interface UserCreateVideoNumService { Boolean initializationUserCreateVideoNum(Long id); - void addOrSubtractNumberOfTimes(Integer type, UserCreateVideoNum createVideoNum); + Boolean addOrSubtractNumberOfTimes(Integer type, UserCreateVideoNum createVideoNum); UserCreateVideoNum queryInfoByUserId(Long userId); diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 3c9fd38..5cac458 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -156,7 +156,7 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { @Async @Override - public Future createVideo(PhotoSpeakVideo photoSpeakVideo) { + public Future createVideo(PhotoSpeakVideo photoSpeakVideo,Boolean flag) { boolean isCreate = false; String msg = ""; PhotoSpeakVideo videoUpd = new PhotoSpeakVideo(); @@ -238,18 +238,24 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { return new AsyncResult<>(0); } - //修改用户生成视频次数 - UserCreateVideoNum createVideoNum = userCreateVideoNumService.queryInfoByUserId(photoSpeakVideo.getUserId()); - if (ObjectUtils.isEmpty(createVideoNum)) { - return new AsyncResult<>("用户没有生成视频次数"); - }else { - //剩余条数 - Integer residueNum = createVideoNum.getResidueNum(); - if (residueNum.intValue() <= 0){ - return new AsyncResult<>("剩余生成视频次数不足"); - }else { - //减去生成视频次数 - userCreateVideoNumService.addOrSubtractNumberOfTimes(1, createVideoNum); + UserCreateVideoNum createVideoNum = new UserCreateVideoNum(); + if (flag) { + //修改用户生成视频次数 + createVideoNum = userCreateVideoNumService.queryInfoByUserId(photoSpeakVideo.getUserId()); + if (ObjectUtils.isEmpty(createVideoNum)) { + return new AsyncResult<>("用户没有生成视频次数"); + } else { + //剩余条数 + Integer residueNum = createVideoNum.getResidueNum(); + if (residueNum.intValue() <= 0) { + return new AsyncResult<>("剩余生成视频次数不足"); + } else { + //减去生成视频次数 + Boolean times = userCreateVideoNumService.addOrSubtractNumberOfTimes(1, createVideoNum); + if (!times) { + return new AsyncResult<>("剩余生成视频次数不足"); + } + } } } @@ -296,14 +302,18 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { videoUpd.setVideoMsg(video.getMsg()); this.saveOrUpdate(videoUpd); - //如果生成视频失败了,就把创建视频的次数加回去 - userCreateVideoNumService.addOrSubtractNumberOfTimes(2, createVideoNum); + if (flag) { + //如果生成视频失败了,就把创建视频的次数加回去 + userCreateVideoNumService.addOrSubtractNumberOfTimes(2, createVideoNum); + } return new AsyncResult<>(0); } catch (Exception e) { e.printStackTrace(); - //如果生成视频失败了,就把创建视频的次数加回去 - userCreateVideoNumService.addOrSubtractNumberOfTimes(2, createVideoNum); + if (flag) { + //如果生成视频失败了,就把创建视频的次数加回去 + userCreateVideoNumService.addOrSubtractNumberOfTimes(2, createVideoNum); + } videoUpd.setVideoStatus(EnumVideoStatus.fail.getCode()); videoUpd.setVideoMsg("请求异常"); this.saveOrUpdate(videoUpd); diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/UserCreateVideoNumServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/UserCreateVideoNumServiceImpl.java index 87244f7..65c9e20 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/UserCreateVideoNumServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/UserCreateVideoNumServiceImpl.java @@ -49,7 +49,7 @@ public class UserCreateVideoNumServiceImpl implements UserCreateVideoNumService } @Override - public void addOrSubtractNumberOfTimes(Integer type, UserCreateVideoNum createVideoNum) { + public Boolean addOrSubtractNumberOfTimes(Integer type, UserCreateVideoNum createVideoNum) { UserCreateVideoNum videoNum = new UserCreateVideoNum(); videoNum.setUpdateDate(new Date()); videoNum.setId(createVideoNum.getId()); @@ -60,7 +60,11 @@ public class UserCreateVideoNumServiceImpl implements UserCreateVideoNumService videoNum.setResidueNum(createVideoNum.getResidueNum() + 1); videoNum.setCreateNum(createVideoNum.getCreateNum() - 1); } - userCreateVideoNumMapper.updateById(videoNum); + if (videoNum.getResidueNum() >= 0) { + return userCreateVideoNumMapper.updateById(videoNum) > 0; + } else { + return false; + } } @Override