From 66fedd812768bfec68b2703fbc1ba05de8a2fb3b Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 18 Aug 2023 11:10:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=8D=A0=E6=A1=A9=E8=AE=A2?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderBasicInfoServiceImpl.java | 2 +- .../impl/OrderPileOccupyServiceImpl.java | 38 ++++++++++++++++--- .../com/jsowell/pile/vo/uniapp/MemberVO.java | 2 +- 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 04b9dc421..70cf57ea8 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -2907,7 +2907,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { throw new BusinessException(ReturnCodeEnum.CODE_BALANCE_IS_INSUFFICIENT); } BigDecimal principalAmount = memberVO.getPrincipalBalance(); // 会员剩余本金金额 - // BigDecimal giftAmount = memberVO.getGiftBalance(); // 会员剩余赠送余额 + BigDecimal giftAmount = memberVO.getGiftBalance(); // 会员剩余赠送余额 BigDecimal principalPay = null; // 30 BigDecimal giftPay = null; // 10 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java index b71a15ffc..14715c819 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java @@ -4,6 +4,7 @@ import com.google.common.collect.Maps; import com.jsowell.adapay.service.AdapayService; import com.jsowell.common.constant.Constants; import com.jsowell.common.enums.DelFlagEnum; +import com.jsowell.common.enums.MemberWalletEnum; import com.jsowell.common.enums.ykc.OrderPayModeEnum; import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.exception.BusinessException; @@ -15,13 +16,12 @@ import com.jsowell.pile.dto.PayOrderDTO; import com.jsowell.pile.dto.QueryOccupyOrderDTO; import com.jsowell.pile.dto.QueryOrderDTO; import com.jsowell.pile.mapper.OrderPileOccupyMapper; -import com.jsowell.pile.service.IOrderBasicInfoService; -import com.jsowell.pile.service.IPileBasicInfoService; -import com.jsowell.pile.service.IPileBillingTemplateService; -import com.jsowell.pile.service.OrderPileOccupyService; +import com.jsowell.pile.service.*; import com.jsowell.pile.vo.base.PileInfoVO; +import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.web.BillingTemplateVO; import com.jsowell.pile.vo.web.OrderListVO; +import com.jsowell.pile.vo.web.UpdateMemberBalanceDTO; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -50,6 +50,9 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService{ @Resource private AdapayService adapayService; + @Resource + private IMemberBasicInfoService memberBasicInfoService; + @Override public int deleteByPrimaryKey(Integer id) { return orderPileOccupyMapper.deleteByPrimaryKey(id); @@ -302,10 +305,35 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService{ } private void balancePayOccupyPileOrder(PayOrderDTO dto) { + // 查会员余额 + MemberVO memberVO = memberBasicInfoService.queryMemberInfoByMemberId(dto.getMemberId()); + if (memberVO == null) { + throw new BusinessException(ReturnCodeEnum.CODE_MEMBER_NOT_FOUND_ERROR); + } + // 校验金额 + BigDecimal principalBalance = memberVO.getPrincipalBalance(); + if (dto.getPayAmount().compareTo(principalBalance) > 0) { + throw new BusinessException(ReturnCodeEnum.CODE_BALANCE_IS_INSUFFICIENT); + } + // 扣除会员余额 + UpdateMemberBalanceDTO updateMemberBalanceDTO = new UpdateMemberBalanceDTO(); + updateMemberBalanceDTO.setMemberId(dto.getMemberId()); + updateMemberBalanceDTO.setUpdatePrincipalBalance(dto.getPayAmount()); // 更新会员本金金额,单位元 + updateMemberBalanceDTO.setType(MemberWalletEnum.TYPE_OUT.getValue()); + updateMemberBalanceDTO.setSubType(MemberWalletEnum.SUBTYPE_PAYMENT_FOR_ORDER.getValue()); + memberBasicInfoService.updateMemberBalance(updateMemberBalanceDTO); + + // 更新占桩订单状态 + OrderPileOccupy orderPileOccupy = queryByOccupyCode(dto.getOrderCode()); + // orderPileOccupy.setStatus(order); + updateByPrimaryKeySelective(orderPileOccupy); } private void whiteListPayOccupyPileOrder(PayOrderDTO dto) { - + // 更新占桩订单状态 + OrderPileOccupy orderPileOccupy = queryByOccupyCode(dto.getOrderCode()); + // orderPileOccupy.setStatus(order); + updateByPrimaryKeySelective(orderPileOccupy); } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/MemberVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/MemberVO.java index 1f105491a..24a874c27 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/MemberVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/MemberVO.java @@ -47,7 +47,7 @@ public class MemberVO { /** * 赠送金额 */ - // private BigDecimal giftBalance; + private BigDecimal giftBalance; /** * 总账户余额