From aa0cbbf2cf1b23f01ac2884eb4ff865e990da27f Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 26 Dec 2023 22:04:07 +0800 Subject: [PATCH] fix bug --- .../com/iformall/schedule/VideoSchedule.java | 13 +++++++++++-- .../project/service/ProjectService.java | 1 + .../service/impl/CommonProjectService.java | 8 ++++++++ .../project/service/impl/HBProjectService.java | 8 ++++++++ .../project/service/impl/HKProjectService.java | 8 ++++++++ .../project/service/impl/HYProjectService.java | 7 +++++++ .../service/impl/HYuProjectService.java | 8 ++++++++ .../project/service/impl/ZXProjectService.java | 8 ++++++-- .../sm/impl/UserMouldVideoServiceImpl.java | 18 ++++++++++++------ 9 files changed, 69 insertions(+), 10 deletions(-) diff --git a/suimangSchedule/src/main/java/com/iformall/schedule/VideoSchedule.java b/suimangSchedule/src/main/java/com/iformall/schedule/VideoSchedule.java index 5bf162a..9eea68d 100644 --- a/suimangSchedule/src/main/java/com/iformall/schedule/VideoSchedule.java +++ b/suimangSchedule/src/main/java/com/iformall/schedule/VideoSchedule.java @@ -114,15 +114,24 @@ public class VideoSchedule { if (StringUtils.isBlank(video.getVideoTime())) { break; } + CreateBilling cb = null; if (null == video.getCostPoints() || video.getCostPoints() <= 0) { - CreateBilling cb = projectFactory.getProjectService(EnumProject.PROJECT_2.getCode()) + cb = projectFactory.getProjectService(EnumProject.PROJECT_2.getCode()) .handleCreateVideoBilling(video.getUserId(), video.getFinalTenantId(), video.getVideoTime(), video.getVideoSize()); if (null != cb) { video.setCostPoints(cb.getTotalCostPoins()); video.setCostPointsDetail(cb.getDetail()); } } - userMouldVideoService.updateById(video); + try { + userMouldVideoService.updateById(video); + }catch(Exception e1) { + logger.error("TtCouponVideoSchedule error.couponVideoSchedule:"+video.getId(),e1); + if (null != cb ) { + projectFactory.getProjectService(EnumProject.PROJECT_2.getCode()). + rollbackCreateVideoBilling(video.getUserId(), video.getFinalTenantId(), cb); + } + } } } catch (Exception e) { logger.error("TtCouponVideoSchedule error.couponVideoSchedule:"+video.getId(),e); diff --git a/suimangService/src/main/java/com/iformall/service/project/service/ProjectService.java b/suimangService/src/main/java/com/iformall/service/project/service/ProjectService.java index 1d9eff3..0a966f5 100644 --- a/suimangService/src/main/java/com/iformall/service/project/service/ProjectService.java +++ b/suimangService/src/main/java/com/iformall/service/project/service/ProjectService.java @@ -23,6 +23,7 @@ public interface ProjectService { * @return */ public CreateBilling handleCreateVideoBilling(Long cUserId,String cUserFinalTenantId,String videoTimes,Long videoSize); + public void rollbackCreateVideoBilling(Long cUserId,String cUserFinalTenantId,CreateBilling billing); /** * 处理用户注册后事项 diff --git a/suimangService/src/main/java/com/iformall/service/project/service/impl/CommonProjectService.java b/suimangService/src/main/java/com/iformall/service/project/service/impl/CommonProjectService.java index ad8f437..9b9f822 100644 --- a/suimangService/src/main/java/com/iformall/service/project/service/impl/CommonProjectService.java +++ b/suimangService/src/main/java/com/iformall/service/project/service/impl/CommonProjectService.java @@ -27,6 +27,12 @@ public class CommonProjectService extends BaseProjectService implements ProjectS // TODO Auto-generated method stub return null; } + + @Override + public void rollbackCreateVideoBilling(Long cUserId,String cUserFinalTenantId,CreateBilling billing) { + // TODO Auto-generated method stub + + } @Override public void handleAfterRegeister(WxCUserBasicInfo cUser) { @@ -36,4 +42,6 @@ public class CommonProjectService extends BaseProjectService implements ProjectS + + } diff --git a/suimangService/src/main/java/com/iformall/service/project/service/impl/HBProjectService.java b/suimangService/src/main/java/com/iformall/service/project/service/impl/HBProjectService.java index 2e8d440..c27bf5a 100644 --- a/suimangService/src/main/java/com/iformall/service/project/service/impl/HBProjectService.java +++ b/suimangService/src/main/java/com/iformall/service/project/service/impl/HBProjectService.java @@ -27,6 +27,12 @@ public class HBProjectService extends BaseProjectService implements ProjectServi return null; } + @Override + public void rollbackCreateVideoBilling(Long cUserId,String cUserFinalTenantId,CreateBilling billing) { + // TODO Auto-generated method stub + + } + @Override public void handleAfterRegeister(WxCUserBasicInfo cUser) { // TODO Auto-generated method stub @@ -35,4 +41,6 @@ public class HBProjectService extends BaseProjectService implements ProjectServi + + } diff --git a/suimangService/src/main/java/com/iformall/service/project/service/impl/HKProjectService.java b/suimangService/src/main/java/com/iformall/service/project/service/impl/HKProjectService.java index 7410d61..2db6f6c 100644 --- a/suimangService/src/main/java/com/iformall/service/project/service/impl/HKProjectService.java +++ b/suimangService/src/main/java/com/iformall/service/project/service/impl/HKProjectService.java @@ -27,6 +27,12 @@ public class HKProjectService extends BaseProjectService implements ProjectServi // TODO Auto-generated method stub return null; } + + @Override + public void rollbackCreateVideoBilling(Long cUserId,String cUserFinalTenantId,CreateBilling billing) { + // TODO Auto-generated method stub + + } @Override public void handleAfterRegeister(WxCUserBasicInfo cUser) { @@ -36,4 +42,6 @@ public class HKProjectService extends BaseProjectService implements ProjectServi + + } diff --git a/suimangService/src/main/java/com/iformall/service/project/service/impl/HYProjectService.java b/suimangService/src/main/java/com/iformall/service/project/service/impl/HYProjectService.java index f91065e..df5e332 100644 --- a/suimangService/src/main/java/com/iformall/service/project/service/impl/HYProjectService.java +++ b/suimangService/src/main/java/com/iformall/service/project/service/impl/HYProjectService.java @@ -50,8 +50,15 @@ public class HYProjectService extends BaseProjectService implements ProjectServi return cb; } + @Override + public void rollbackCreateVideoBilling(Long cUserId,String cUserFinalTenantId,CreateBilling cb) { + wxCUserBasicInfoService.addPoints(cUserId, cUserFinalTenantId,cb.getTotalCostPoins()); + } + @Override public void handleAfterRegeister(WxCUserBasicInfo cUser) { wxCUserBasicInfoService.addPoints(cUser.getId(), cUser.getFinalTenantId(),Constant.hyRegeisterPoins); } + + } diff --git a/suimangService/src/main/java/com/iformall/service/project/service/impl/HYuProjectService.java b/suimangService/src/main/java/com/iformall/service/project/service/impl/HYuProjectService.java index 3596fe2..a8b7e32 100644 --- a/suimangService/src/main/java/com/iformall/service/project/service/impl/HYuProjectService.java +++ b/suimangService/src/main/java/com/iformall/service/project/service/impl/HYuProjectService.java @@ -27,6 +27,12 @@ public class HYuProjectService extends BaseProjectService implements ProjectServ // TODO Auto-generated method stub return null; } + + @Override + public void rollbackCreateVideoBilling(Long cUserId,String cUserFinalTenantId,CreateBilling billing) { + // TODO Auto-generated method stub + + } @Override public void handleAfterRegeister(WxCUserBasicInfo cUser) { @@ -36,4 +42,6 @@ public class HYuProjectService extends BaseProjectService implements ProjectServ + + } diff --git a/suimangService/src/main/java/com/iformall/service/project/service/impl/ZXProjectService.java b/suimangService/src/main/java/com/iformall/service/project/service/impl/ZXProjectService.java index 495c512..2dfdef2 100644 --- a/suimangService/src/main/java/com/iformall/service/project/service/impl/ZXProjectService.java +++ b/suimangService/src/main/java/com/iformall/service/project/service/impl/ZXProjectService.java @@ -27,6 +27,12 @@ public class ZXProjectService extends BaseProjectService implements ProjectServi // TODO Auto-generated method stub return null; } + + @Override + public void rollbackCreateVideoBilling(Long cUserId,String cUserFinalTenantId,CreateBilling billing) { + // TODO Auto-generated method stub + + } @Override public void handleAfterRegeister(WxCUserBasicInfo cUser) { @@ -34,6 +40,4 @@ public class ZXProjectService extends BaseProjectService implements ProjectServi } - - } diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java index 9048c73..4d20855 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java @@ -517,22 +517,28 @@ public class UserMouldVideoServiceImpl implements UserMouldVideoService { videoUpd.setVideoStatus(EnumVideoStatus.upload_success.getCode()); videoUpd.setVideoMsg("视频上传成功"); videoUpd.setUpdateDate(new Date()); - logger.debug(" >>>>>>>>>>>>>> finisedAndCost:"+finisedAndCost); + CreateBilling cb = null; if (finisedAndCost && (null == mouldVideo.getCostPoints() || mouldVideo.getCostPoints() <= 0)) { //设置扣费,当前方法是慧影项目专用的 if (StringUtils.isBlank(videoUpd.getVideoTime())) { - logger.debug(" >>>>>>>>>>>>>> videoUpd no time:"+videoUpd.getVideoTime()); break; } - CreateBilling cb = projectFactory.getProjectService(EnumProject.PROJECT_2.getCode()) + cb = projectFactory.getProjectService(EnumProject.PROJECT_2.getCode()) .handleCreateVideoBilling(userMouldVideo.getUserId(), userMouldVideo.getFinalTenantId(), videoUpd.getVideoTime(), videoUpd.getVideoSize()); - logger.info(">>>>>>>>>> CreateBilling :"+JSON.toJSONString(cb)); if (null != cb) { videoUpd.setCostPoints(cb.getTotalCostPoins()); videoUpd.setCostPointsDetail(cb.getDetail()); } } - this.updateById(videoUpd); + try { + this.updateById(videoUpd); + }catch(Exception e) { + logger.error("uploadVideo updateById error.",e); + if (null != cb) { + projectFactory.getProjectService(EnumProject.PROJECT_2.getCode()). + rollbackCreateVideoBilling(userMouldVideo.getUserId(), userMouldVideo.getFinalTenantId(), cb); + } + } break; } } @@ -541,7 +547,7 @@ public class UserMouldVideoServiceImpl implements UserMouldVideoService { } }catch(Exception e){ - + logger.error("uploadVideo error.",e); }finally{ redisLock.unlock(lockKey, timeStr); }