From f61293e97bb2cb21c8f49e88b1ae5a3cbadefb6a Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 25 Dec 2023 16:40:09 +0800 Subject: [PATCH] 富文本框输入版本变化 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java | 77 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 1 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java index 6fc27d6..410ac1e 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java @@ -13,6 +13,7 @@ import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IApiMallAppService; import cc.mrbird.febs.mall.vo.*; +import cc.mrbird.febs.pay.service.IXcxCodePayService; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; @@ -47,6 +48,7 @@ private final MallOrderInfoMapper mallOrderInfoMapper; private final MallOrderItemMapper mallOrderItemMapper; private final MallMemberWalletMapper mallMemberWalletMapper; + private final IXcxCodePayService xcxCodePayService; public static void main(String[] args) { System.out.println(SecureUtil.md5("a123456")); @@ -80,7 +82,7 @@ @Override public FebsResponse appMemberInfo(ApiMallAppMemberInfoDto apiMallAppMemberInfoDto) { - Long memberId = LoginUserUtil.getLoginUser().getId(); +// Long memberId = LoginUserUtil.getLoginUser().getId(); List<ApiMallAppMemberInfoVo> mallMembers = this.baseMapper.selectMemberInfoLikePhone(apiMallAppMemberInfoDto.getPhone()); return new FebsResponse().success().data(mallMembers); } @@ -100,6 +102,13 @@ @Override @Transactional public FebsResponse createAppOrder(ApiAddOrderDto addOrderDto) { + if(ObjectUtil.isNotEmpty(addOrderDto.getOrderId())){ + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(addOrderDto.getOrderId()); + if(ObjectUtil.isNotEmpty(mallOrderInfo)){ + mallOrderInfo.setStatus(OrderStatusEnum.CANCEL.getValue()); + mallOrderInfoMapper.updateById(mallOrderInfo); + } + } MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(addOrderDto.getMemberId()); if (ObjectUtil.isEmpty(mallMemberWallet)) { throw new FebsException("用户钱包不存在。"); @@ -114,6 +123,7 @@ orderInfo.setIsApp(AppContants.IS_APP_ORDER); orderInfo.setOrderTime(new Date()); orderInfo.setMemberId(addOrderDto.getMemberId()); + orderInfo.setPayResult(2); //会员结算 orderInfo.setStatus(OrderStatusEnum.WAIT_PAY.getValue()); mallOrderInfoMapper.insert(orderInfo); @@ -203,6 +213,7 @@ orderInfo.setIsApp(AppContants.IS_APP_ORDER); orderInfo.setOrderTime(new Date()); orderInfo.setStatus(OrderStatusEnum.WAIT_PAY.getValue()); + orderInfo.setPayResult(2); if (CollUtil.isEmpty(addOrderDto.getItems())) { throw new FebsException("商品明细不能为空。"); } @@ -234,12 +245,20 @@ @Override public FebsResponse normalInsure(ApiNormalInsureDto addOrderDto) { + if(ObjectUtil.isNotEmpty(addOrderDto.getOrderId())){ + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(addOrderDto.getOrderId()); + if(ObjectUtil.isNotEmpty(mallOrderInfo)){ + mallOrderInfo.setStatus(OrderStatusEnum.CANCEL.getValue()); + mallOrderInfoMapper.updateById(mallOrderInfo); + } + } String orderNo = MallUtils.getOrderNum(); MallOrderInfo orderInfo = new MallOrderInfo(); orderInfo.setOrderNo(orderNo); orderInfo.setIsApp(AppContants.IS_APP_ORDER); orderInfo.setOrderTime(new Date()); orderInfo.setStatus(OrderStatusEnum.WAIT_PAY.getValue()); + orderInfo.setPayResult(2); if (CollUtil.isEmpty(addOrderDto.getItems())) { throw new FebsException("商品明细不能为空。"); } @@ -296,6 +315,62 @@ return new FebsResponse().success().data(apiGetOrderListVo); } + @Override + public FebsResponse getOrderCancel(ApiGetOrderDto apiGetOrderDto) { + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(apiGetOrderDto.getOrderId()); + mallOrderInfo.setStatus(OrderStatusEnum.CANCEL.getValue()); + mallOrderInfoMapper.updateById(mallOrderInfo); + + return new FebsResponse().success().message("订单已取消"); + } + + @Override + public FebsResponse wxCodePay(ApiWxCodePayDto wxCodePayDto) { + Long orderId = wxCodePayDto.getOrderId(); + String wxPayCode = wxCodePayDto.getWxPayCode(); + /** + * auth_code 扫码支付付款码 微信付款码规则:18位纯数字,前缀以10、11、12、13、14、15开头 + */ + String regex = "^(10|11|12|13|14|15)\\d{16}$"; + boolean flag = wxPayCode.matches(regex); + if(!flag){ + throw new FebsException("请打开微信付款码!"); + } + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId); + if(OrderStatusEnum.FINISH.getValue() == (mallOrderInfo.getStatus())){ + throw new FebsException("已支付"); + } + mallOrderInfo.setTakeCode(wxPayCode); + List<ApiGetOrderOrderItemVo> appOrderItemByOrderId = mallOrderItemMapper.getAppOrderItemByOrderId(orderId); + if(CollUtil.isEmpty(appOrderItemByOrderId)){ + mallOrderInfo.setName("商品"); + }else{ + mallOrderInfo.setName(appOrderItemByOrderId.get(0).getGoodsName()); + } +// mallOrderInfo.setPayResult(2); + mallOrderInfoMapper.updateById(mallOrderInfo); + // 发起付款码支付请求 + String payResult = xcxCodePayService.pay(mallOrderInfo); + return new FebsResponse().success().message(payResult); + } + + @Override + public FebsResponse cancelOrder(Long id) { + MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(id); + if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) { + throw new FebsException("订单不存在"); + } + + if (OrderStatusEnum.WAIT_PAY.getValue() != orderInfo.getStatus()) { + throw new FebsException("订单不是待付款, 无法取消"); + } + + orderInfo.setStatus(OrderStatusEnum.CANCEL.getValue()); + orderInfo.setCancelType(MallOrderInfo.CANCEL_BY_SELF); + mallOrderInfoMapper.updateById(orderInfo); + return new FebsResponse().success().message("取消成功"); + } + public String generateAsaToken(String token) { RSA rsa = new RSA(null, AppContants.PUBLIC_KEY); return rsa.encryptBase64(token + "_" + System.currentTimeMillis(), KeyType.PublicKey); -- Gitblit v1.9.1