From 153622ed0e29399d67a6de14517e96cbc15ffdad Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 19 六月 2024 16:07:54 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java | 35 +++++++++++++++++ ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java | 14 ++++++- ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java | 15 +++++++ ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java | 5 ++ 4 files changed, 67 insertions(+), 2 deletions(-) diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java index 234efd5..060a2e0 100644 --- a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java @@ -136,16 +136,31 @@ } @Override + public R<TUser> userInfoParent() { + return R.fail("获取用户信息失败" + cause.getMessage()); + } + + @Override public R<Boolean> addIntegralDetail(String integral, String method) { return R.fail("生成积分明细信息失败" + cause.getMessage()); } @Override + public R<Boolean> addIntegralDetailParent(String integral, String method) { + return R.fail("添加积分明细失败" + cause.getMessage()); + } + + @Override public R<Boolean> exchangeIntegral(Integer integral, String method) { return R.fail("用户积分变动失败" + cause.getMessage()); } @Override + public R<Boolean> exchangeIntegralParent(Integer integral, String method) { + return R.fail("修改积分变动失败" + cause.getMessage()); + } + + @Override public R<Boolean> addIntegralDetail1(String integral, String method) { return null; } diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java index f63a6f0..d7696f5 100644 --- a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java +++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java @@ -191,6 +191,8 @@ */ @GetMapping("/base/study/addIntegralDetail") R<Boolean> addIntegralDetail(@RequestParam("integral") String integral, @RequestParam("method") String method); + @GetMapping("/base/study/addIntegralDetailParent") + R<Boolean> addIntegralDetailParent(@RequestParam("integral") String integral, @RequestParam("method") String method); /** * 用户积分变动(增加或减少)-用于远程调用 @@ -202,6 +204,9 @@ @GetMapping("/base/study/exchangeIntegral") @ApiOperation(value = "用户积分变动", tags = {"用户积分变动"}) R<Boolean> exchangeIntegral(@RequestParam("integral") Integer integral, @RequestParam("method") String method); + @GetMapping("/base/study/exchangeIntegralParent") + @ApiOperation(value = "用户积分变动", tags = {"用户积分变动"}) + R<Boolean> exchangeIntegralParent(@RequestParam("integral") Integer integral, @RequestParam("method") String method); /** * 生成积分明细-用于远程调用 diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java index 595780e..de5e855 100644 --- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java @@ -153,6 +153,16 @@ // 扣除用户积分 result = result && studyClient.exchangeIntegral(needIntegral, Constants.BURDEN).getData(); return result; + }private Boolean exchangeGoodParent(GoodExchangeDTO goodExchange, Recipient recipient, Integer number, + Integer goodId, int needIntegral) { + // 兑换成功,生成订单信息、生成积分明细(积分明细需要远程调用rouyi-study服务) + TOrder order = orderInfo(goodExchange, recipient, number, goodId, needIntegral); + boolean result = orderService.save(order); + // 远程调用,生成积分明细 + result = result && studyClient.addIntegralDetailParent(Constants.BURDEN + needIntegral, Constants.SHOPPING_CONSUME).getData(); + // 扣除用户积分 + result = result && studyClient.exchangeIntegralParent(needIntegral, Constants.BURDEN).getData(); + return result; } @Override @@ -202,7 +212,7 @@ return R.exchangeError("当前商品库存不足"); } // 兑换成功,生成订单信息、生成积分明细(积分明细需要远程调用rouyi-study服务) - boolean result = exchangeGood(goodExchange, recipient, number, goodId, needIntegral); + boolean result = exchangeGoodParent(goodExchange, recipient, number, goodId, needIntegral); // 扣除库存 result = result && this.lambdaUpdate().set(TGoods::getTotal, good.getTotal() - number) .eq(TGoods::getId, good.getId()).update(); @@ -211,7 +221,7 @@ return R.exchangeError("商品兑换失败!"); } } else { - boolean result = exchangeGood(goodExchange, recipient, number, goodId, needIntegral); + boolean result = exchangeGoodParent(goodExchange, recipient, number, goodId, needIntegral); if (!result) { return R.exchangeError("商品兑换失败!"); } diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java index 442f5b8..b96e876 100644 --- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java @@ -1616,6 +1616,27 @@ integralRecord.setUpdateTime(new Date()); return R.ok(integralRecordService.save(integralRecord)); } + @GetMapping("/addIntegralDetailParent") +// @ApiOperation(value = "添加-积分明细", tags = {"添加-积分明细"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "积分数量", name = "integral", dataType = "Integer", required = true), + @ApiImplicitParam(value = "变动源(完成学习、完成游戏...)", name = "method", dataType = "String", required = true) + }) + public R<Boolean> addIntegralDetailParent(@RequestParam("integral") String integral, @RequestParam("method") String method) { + // 当前登录用户 + LoginUserParent userStudy = tokenService.getLoginUser1(); + // 生成积分明细信息 + TIntegralRecord integralRecord = new TIntegralRecord(); + integralRecord.setIntegral(integral); + integralRecord.setMethod(method); + integralRecord.setUserId(userStudy.getUserid()); + integralRecord.setDisabled(Boolean.FALSE); + integralRecord.setCreateBy(userStudy.getPhone()); + integralRecord.setCreateTime(new Date()); + integralRecord.setUpdateBy(userStudy.getPhone()); + integralRecord.setUpdateTime(new Date()); + return R.ok(integralRecordService.save(integralRecord)); + } @GetMapping("/addIntegralDetail1") // @ApiOperation(value = "添加-积分明细", tags = {"添加-积分明细"}) @@ -1659,6 +1680,20 @@ } return R.ok(userService.updateById(user)); } + @GetMapping("/exchangeIntegralParent") +// @ApiOperation(value = "用户积分变动", tags = {"用户积分变动"}) + public R<Boolean> exchangeIntegralParent(@RequestParam("integral") Integer integral, @RequestParam("method") String method) { + if (tokenService.getLoginUser1()==null){ + return R.tokenError("登录失效"); + } + TUser user = userService.getById(tokenService.getLoginUser1().getUserid()); + if (Constants.BURDEN.equals(method)) { + user.setIntegral(user.getIntegral() - integral); + } else { + user.setIntegral(user.getIntegral() + integral); + } + return R.ok(userService.updateById(user)); + } @GetMapping("/exchangeIntegral1") // @ApiOperation(value = "用户积分变动", tags = {"用户积分变动"}) -- Gitblit v1.7.1