KKSU
2023-12-25 f61293e97bb2cb21c8f49e88b1ae5a3cbadefb6a
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java
@@ -82,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);
    }
@@ -123,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);
@@ -212,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("商品明细不能为空。");
        }
@@ -256,6 +258,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("商品明细不能为空。");
        }
@@ -333,8 +336,10 @@
        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)){
@@ -342,13 +347,30 @@
        }else{
            mallOrderInfo.setName(appOrderItemByOrderId.get(0).getGoodsName());
        }
        mallOrderInfo.setPayResult("2");
//        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);