From 598dd94c3dcf741c25ded76cba661ec02965a524 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期三, 30 七月 2025 14:49:10 +0800
Subject: [PATCH] bug修改
---
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java | 10 ++-
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 118 +++++++++++++++++++++------------------
2 files changed, 70 insertions(+), 58 deletions(-)
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java
index 5837f4c..2e5fbda 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java
@@ -162,6 +162,7 @@
Long userId = SecurityUtils.getUserId();
TUserLotteryEventQuestions questionsServiceOne = userLotteryEventQuestionsService.getOne(new QueryWrapper<TUserLotteryEventQuestions>().eq("lottery_event_id", dto.getId()).eq("user_id", userId));
LotteryEventQuestionsVo vo = new LotteryEventQuestionsVo();
+ vo.setId(dto.getId());
int count = lotteryEventServiceQuestionsService.count(new QueryWrapper<TLotteryEventQuestions>().eq("lottery_event_id", dto.getId()));
vo.setTotal(count);
//没有答题,直接从第一题开始
@@ -190,7 +191,6 @@
}
current--;
} else {
- current++;
//下一题
current++;
if (current >= count) {
@@ -273,6 +273,9 @@
public R<Boolean> endAnswerQuestion(@PathVariable("id") String id) {
Long userId = SecurityUtils.getUserId();
TLotteryEvent lotteryEvent = lotteryEventService.getById(id);
+ if(null == lotteryEvent){
+ return R.fail("无效的抽奖活动id");
+ }
TUserLotteryEventQuestions questionsServiceOne = userLotteryEventQuestionsService.getOne(new QueryWrapper<TUserLotteryEventQuestions>().eq("lottery_event_id", id).eq("user_id", userId));
if (null == questionsServiceOne) {
questionsServiceOne = new TUserLotteryEventQuestions();
@@ -285,9 +288,8 @@
questionsServiceOne.setStatus(2);
questionsServiceOne.setEndTime(LocalDateTime.now());
//计算正确率
- List<TUserLotteryEventQuestionsAnswers> list = userLotteryEventQuestionsAnswersService.list(new QueryWrapper<TUserLotteryEventQuestionsAnswers>().eq("lottery_event_id", id).eq("user_id", userId));
- int count = list.size();
- int right = list.stream().filter(item -> 1 == item.getIsCorrect()).collect(Collectors.toList()).size();
+ int count = lotteryEventQuestionsAnswersService.count(new QueryWrapper<TLotteryEventQuestionsAnswers>().eq("lottery_event_id", id));
+ int right = userLotteryEventQuestionsAnswersService.count(new QueryWrapper<TUserLotteryEventQuestionsAnswers>().eq("lottery_event_id", id).eq("user_id", userId).eq("is_correct", 1));
BigDecimal multiply = new BigDecimal(right).divide(new BigDecimal(count), 4, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
questionsServiceOne.setCorrectAnswerRate(multiply);
userLotteryEventQuestionsService.saveOrUpdate(questionsServiceOne);
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index c7001ca..f557573 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -1892,6 +1892,12 @@
merVerifyOrderVo.setReceiveMoney(BigDecimal.ZERO);
}
}
+ if(null == merVerifyOrderVo.getRealReceiveMoney()){
+ merVerifyOrderVo.setRealReceiveMoney(BigDecimal.ZERO);
+ }
+ if(null == merVerifyOrderVo.getReceiveMoney()){
+ merVerifyOrderVo.setReceiveMoney(BigDecimal.ZERO);
+ }
merVerifyOrderVo.setUnReceiveMoney(merVerifyOrderVo.getRealReceiveMoney().subtract(merVerifyOrderVo.getReceiveMoney()));
merVerifyOrderVo.setUserId(order.getUserId());
merVerifyOrderVo.setUserName(member.getRealName());
@@ -1998,9 +2004,9 @@
}
Member member = remoteMemberService.getMember(order.getUserId()).getData();
//获取核销商户
- ShopRelUserVo shopRelUserVo = remoteShopService.getShopByUserId(merVerifyOrderDto.getUserId()).getData();
- Long shopId = shopRelUserVo.getShopId();
- log.info("当前核销员工【" + shopRelUserVo.getUserName() + "】门店ID:" + shopId);
+// ShopRelUserVo shopRelUserVo = remoteShopService.getShopByUserId(merVerifyOrderDto.getUserId()).getData();
+ Long shopId = member.getRelationShopId();
+// log.info("当前核销员工【" + shopRelUserVo.getUserName() + "】门店ID:" + shopId);
//获取订单商品列表
List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId);
//绑定用户判断核销商户
@@ -2066,38 +2072,13 @@
ConsumerGoods consumerGoods;
String consumerGoodsId;
Goods goods;
- //循环生成商品服务
- List<ConsumerGoods> consumerGoodsList = new ArrayList<>();
- for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) {
- Integer buyNum = appUserOrderGoodsPageVo.getBuyNum();
- //判断是否次数未确认商品 是则创建未确认周期商品服务 否则循环创建商品服务
- if (appUserOrderGoodsPageVo.getCycleNumFlag() == 0) {
- consumerGoods = new ConsumerGoods();
- goods = goodsMap.get(appUserOrderGoodsPageVo.getGoodsId());
- consumerGoodsId = IdUtils.simpleUUID();
- consumerGoods.setConsumerGoodsId(consumerGoodsId);
- consumerGoods.setDelFlag(0);
- consumerGoods.setServiceStatus(1);
- consumerGoods.setShopId(order.getShopId());
- consumerGoods.setUserId(order.getUserId());
- consumerGoods.setOrderId(orderId);
- consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId());
- consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId());
- consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName());
- consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag());
- consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
- consumerGoods.setUsedNum(0);
- consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
- consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag());
- consumerGoods.setCreateTime(nowTime);
- consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
- consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
- consumerGoods.setGoodsNurses(goods.getGoodsNurses());
- consumerGoods.setSourceFrom(1);
- consumerGoods.setSureNum(buyNum);
- consumerGoodsList.add(consumerGoods);
- } else {
- for (int i = 0; i < buyNum; i++) {
+ if(null != appUserOrderGoodsPageVoList.get(0).getGoodsId()){
+ //循环生成商品服务
+ List<ConsumerGoods> consumerGoodsList = new ArrayList<>();
+ for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) {
+ Integer buyNum = appUserOrderGoodsPageVo.getBuyNum();
+ //判断是否次数未确认商品 是则创建未确认周期商品服务 否则循环创建商品服务
+ if (appUserOrderGoodsPageVo.getCycleNumFlag() == 0) {
consumerGoods = new ConsumerGoods();
goods = goodsMap.get(appUserOrderGoodsPageVo.getGoodsId());
consumerGoodsId = IdUtils.simpleUUID();
@@ -2120,11 +2101,38 @@
consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
consumerGoods.setGoodsNurses(goods.getGoodsNurses());
consumerGoods.setSourceFrom(1);
+ consumerGoods.setSureNum(buyNum);
consumerGoodsList.add(consumerGoods);
+ } else {
+ for (int i = 0; i < buyNum; i++) {
+ consumerGoods = new ConsumerGoods();
+ goods = goodsMap.get(appUserOrderGoodsPageVo.getGoodsId());
+ consumerGoodsId = IdUtils.simpleUUID();
+ consumerGoods.setConsumerGoodsId(consumerGoodsId);
+ consumerGoods.setDelFlag(0);
+ consumerGoods.setServiceStatus(1);
+ consumerGoods.setShopId(order.getShopId());
+ consumerGoods.setUserId(order.getUserId());
+ consumerGoods.setOrderId(orderId);
+ consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId());
+ consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId());
+ consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName());
+ consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag());
+ consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
+ consumerGoods.setUsedNum(0);
+ consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
+ consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag());
+ consumerGoods.setCreateTime(nowTime);
+ consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
+ consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
+ consumerGoods.setGoodsNurses(goods.getGoodsNurses());
+ consumerGoods.setSourceFrom(1);
+ consumerGoodsList.add(consumerGoods);
+ }
}
}
+ consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList);
}
- consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList);
//生成返回
MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo();
merVerifyOrderVo.setOrderId(orderId);
@@ -2177,25 +2185,27 @@
order.setNewMemberFlag(0);
}
this.saveOrUpdate(order);
- // 订单金额大于0时进行分账
- OrderPayment orderPayment = orderPaymentService.getOne(new QueryWrapper<OrderPayment>()
- .eq("order_id", order.getOrderId()).eq("pay_status", 2)
- .eq("del_flag", 0));
- BigDecimal bigDecimal = orderPayment.getPayMoney().subtract(orderPayment.getFeeAmount()).setScale(2, BigDecimal.ROUND_HALF_EVEN);
- if (bigDecimal.compareTo(BigDecimal.ZERO)>0) {
- // TODO: 2023/10/17 更换分账渠道(汇付天下)
+ if(4 != order.getOrderFrom()){
+ // 订单金额大于0时进行分账
+ OrderPayment orderPayment = orderPaymentService.getOne(new QueryWrapper<OrderPayment>()
+ .eq("order_id", order.getOrderId()).eq("pay_status", 2)
+ .eq("del_flag", 0));
+ BigDecimal bigDecimal = orderPayment.getPayMoney().subtract(orderPayment.getFeeAmount()).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+ if (bigDecimal.compareTo(BigDecimal.ZERO)>0) {
+ // TODO: 2023/10/17 更换分账渠道(汇付天下)
// submitProfitSharing(orderId, order.getOrderNo(), order.getShopId(), order.getOnlinePayMoney(),order.getOrderFrom());
- submitProfitSharing1(orderId, order.getOrderNo(), order.getShopId(), bigDecimal, order.getOrderFrom());
- }
- //创建支付记录
- if(merVerifyOrderDto.getRelPayMoney().compareTo(BigDecimal.ZERO)>0){
- PayRecord payRecord = new PayRecord();
- payRecord.setDelFlag(0);
- payRecord.setOrderId(order.getOrderId());
- payRecord.setPayMoney(merVerifyOrderDto.getRelPayMoney());
- payRecord.setPayTime(new Date());
- payRecord.setPayType(merVerifyOrderDto.getPayType());
- payRecordService.save(payRecord);
+ submitProfitSharing1(orderId, order.getOrderNo(), order.getShopId(), bigDecimal, order.getOrderFrom());
+ }
+ //创建支付记录
+ if(merVerifyOrderDto.getRelPayMoney().compareTo(BigDecimal.ZERO)>0){
+ PayRecord payRecord = new PayRecord();
+ payRecord.setDelFlag(0);
+ payRecord.setOrderId(order.getOrderId());
+ payRecord.setPayMoney(merVerifyOrderDto.getRelPayMoney());
+ payRecord.setPayTime(new Date());
+ payRecord.setPayType(merVerifyOrderDto.getPayType());
+ payRecordService.save(payRecord);
+ }
}
//更新用户积分和消费统计
MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
--
Gitblit v1.7.1