diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/amount/WxRechargeServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/amount/WxRechargeServiceImpl.java index e615a21e..2bc2722f 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/amount/WxRechargeServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/amount/WxRechargeServiceImpl.java @@ -111,9 +111,9 @@ public class WxRechargeServiceImpl implements WxRechargeService { cardDO.setChangeMoney(money); cardDO.setType(CostTypeEnum.WX_PAY.getCode()); cardDO.setMoney(newMoney); - cardDO.setCashAmount(wxNewMoney); + cardDO.setCashAmount(cashNewAmount); cardDO.setGiftAmount(giftNewMoney); - cardDO.setWxAmount(cashNewAmount); + cardDO.setWxAmount(wxNewMoney); //处理未完全支付订单 handleOrderWx(cardDO.getUserId(), money, wxAmount, giftAmount); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java index 85eb3915..150fbeef 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java @@ -21,6 +21,7 @@ import cn.iocoder.yudao.module.member.dal.mysql.diningplates.DiningPlatesMapper; import cn.iocoder.yudao.module.member.dal.mysql.order.DishOrderMapper; import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; import cn.iocoder.yudao.module.member.service.admincard.AdminCardService; +import cn.iocoder.yudao.module.member.service.amount.DeductionService; import cn.iocoder.yudao.module.member.service.async.MemberAsyncService; import cn.iocoder.yudao.module.member.service.card.CardService; import cn.iocoder.yudao.module.member.util.MemberConstants; @@ -80,6 +81,8 @@ public class DiningPlatesServiceImpl implements DiningPlatesService { private AdminCardService adminCardService; @Resource private MemberAsyncService asyncService; + @Resource + private DeductionService deductionService; @Override public Long createDiningPlates(DiningPlatesSaveReqVO createReqVO) { @@ -442,24 +445,24 @@ public class DiningPlatesServiceImpl implements DiningPlatesService { throw exception(DINING_PLATES_NOT_BIND); } - if(!"0".equals(money)){ - throw exception(DINING_PLATES_CANNOT_UNBIND); - } DiningPlatesDO diningPlatesDO = diningPlatesMapper.selectOne(Wrappers.lambdaQuery() .eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum) .eq(DiningPlatesDO::getStoreId,storeId) .last("limit 1")); - dishOrderMapper.deleteById(diningPlatesDO.getOrderId()); - diningPlatesMapper.update(Wrappers.lambdaUpdate() - .set(DiningPlatesDO::getPayFlag, DiningPlatesDO.TO_PAY) - .set(DiningPlatesDO::getStatus, DiningPlatesDO.FREE) - .set(DiningPlatesDO::getUserId, null) - .set(DiningPlatesDO::getBindingTime, null) - .set(DiningPlatesDO::getOrderId, null) - .eq(DiningPlatesDO::getId,diningPlatesDO.getId())); - - + if(!"0".equals(money)){ + DishOrderDO dishOrderDO = dishOrderMapper.selectById(diningPlatesDO.getOrderId()); + deductionService.deduction(dishOrderDO); + }else { + dishOrderMapper.deleteById(diningPlatesDO.getOrderId()); + diningPlatesMapper.update(Wrappers.lambdaUpdate() + .set(DiningPlatesDO::getPayFlag, DiningPlatesDO.TO_PAY) + .set(DiningPlatesDO::getStatus, DiningPlatesDO.FREE) + .set(DiningPlatesDO::getUserId, null) + .set(DiningPlatesDO::getBindingTime, null) + .set(DiningPlatesDO::getOrderId, null) + .eq(DiningPlatesDO::getId,diningPlatesDO.getId())); + } } @Override