xiaoyong931011
2023-09-11 023a40799745789e5585a9f5448a11f6acb4f874
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -86,8 +86,10 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Long createOrder(AddOrderDto addOrderDto) {
        MallMember member = LoginUserUtil.getLoginUser();
        //验证用户的等级
        Long memberId = LoginUserUtil.getLoginUser().getId();
        MallMember member = mallMemberMapper.selectById(memberId);
                //验证用户的等级
//        if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){
//            throw new FebsException("请先申请成为代理人");
//        }
@@ -146,17 +148,17 @@
                        throw new FebsException("购买商品或sku不存在");
                    }
                    if("样品".equals(sku.getSample())){
                        List<MallOrderItem> items = mallOrderItemMapper.selectItemBySkuIdUnCancel(sku.getId(), member.getId());
                        if (CollUtil.isNotEmpty(items)) {
                            throw new FebsException("样品一个用户只能购买一次");
                        }
                        Integer cnt = item.getCnt();
                        if(1 < cnt){
                            throw new FebsException("样品只能购买一件");
                        }
                    }
//                    if("样品".equals(sku.getSample())){
//                        List<MallOrderItem> items = mallOrderItemMapper.selectItemBySkuIdUnCancel(sku.getId(), member.getId());
//                        if (CollUtil.isNotEmpty(items)) {
//                            throw new FebsException("样品一个用户只能购买一次");
//                        }
//                        Integer cnt = item.getCnt();
//                        if(1 < cnt){
//                            throw new FebsException("样品只能购买一件");
//                        }
//
//                    }
                    if (sku.getStock() < item.getCnt()) {
                        throw new FebsException(sku.getSkuName() + "库存不足");
@@ -225,8 +227,8 @@
        orderInfo.setLatitude(address.getLatitude());
        orderInfo.setLongitude(address.getLongitude());
        this.baseMapper.updateById(orderInfo);
        agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 15 * 60 * 1000L);
        //过期时间修改成24小时
        agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(),  24 * 60 * 60 * 1000L);
        return orderInfo.getId();
    }
@@ -363,7 +365,7 @@
                orderInfo.setPayResult("1");
                orderInfo.setDeliveryState(OrderDeliveryStateEnum.DELIVERY_WAIT.getValue());
                mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
                mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue(),"余额支付",2);
                break;
            case "4":
                if (orderInfo.getOrderType() != 2) {
@@ -388,22 +390,6 @@
        this.baseMapper.updateById(orderInfo);
//        OrderStateDto orderStateDto = new OrderStateDto();
//        orderStateDto.setOrderNo(orderInfo.getOrderNo());
//        String productNames = getProductNames(orderInfo.getMemberId(), orderInfo.getId());
//        orderStateDto.setGoodsName(StrUtil.isEmpty(productNames)?"商品":productNames);
//        orderStateDto.setOrderState("已送达自提点");
//        orderStateDto.setTakeCode(orderInfo.getTakeCode());
//        String takeUniqueCode = orderInfo.getTakeUniqueCode();
//        MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
//        orderStateDto.setAddressArea(mallTeamLeader.getAddressArea());
//        orderStateDto.setOpenId(mallMemberMapper.selectById(orderInfo.getMemberId()).getOpenId());
//        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getType(), DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getCode());
//        orderStateDto.setTemplateId(dataDictionaryCustom.getValue());
////            iXcxPayService.pushOrderToAddress(orderStateDto);
//        iXcxPayService.uniformMessageSend(orderStateDto);
        Map<String, Object> map = new HashMap<>();
        map.put("orderInfo", payResultStr);
        map.put("orderNo", orderInfo.getOrderNo());
@@ -427,7 +413,7 @@
            throw new FebsException("支付密码错误");
        }
        int reduce = memberWalletService.reduce(orderInfo.getAmount().add(orderInfo.getCarriage()), mallMember.getId(), field);
        int reduce = memberWalletService.reduce(orderInfo.getAmount(), mallMember.getId(), field);
        if (reduce == 2) {
            throw new FebsException("余额不足");
        }
@@ -475,7 +461,7 @@
        }
        if (OrderStatusEnum.WAIT_PAY.getValue() == orderInfo.getStatus()) {
            Date endTime = DateUtil.offsetMinute(orderInfo.getOrderTime(), 15);
            Date endTime = DateUtil.offsetMinute(orderInfo.getOrderTime(), 1440);
            long remainTime = DateUtil.between(new Date(), endTime, DateUnit.SECOND, false);
            orderDetailVo.setRemainTime(remainTime);
@@ -851,21 +837,21 @@
            if (sku == null) {
                return new FebsResponse().fail().message("购买商品或sku不存在");
            }
            if("样品".equals(sku.getSample())){
                List<MallOrderItem> mallOrderItems = mallOrderItemMapper.selectItemBySkuIdUnCancel(sku.getId(), member.getId());
                if (CollUtil.isNotEmpty(mallOrderItems)) {
                    return new FebsResponse().fail().message("样品只能购买一次");
                }
                Integer cnt = item.getCnt();
                if(1 < cnt){
                    return new FebsResponse().fail().message("样品只能购买一件");
                }
            }else{
                //验证用户的等级
                if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){
                    return new FebsResponse().fail().message("请先申请成为代理人");
                }
            }
//            if("样品".equals(sku.getSample())){
//                List<MallOrderItem> mallOrderItems = mallOrderItemMapper.selectItemBySkuIdUnCancel(sku.getId(), member.getId());
//                if (CollUtil.isNotEmpty(mallOrderItems)) {
//                    return new FebsResponse().fail().message("样品只能购买一次");
//                }
//                Integer cnt = item.getCnt();
//                if(1 < cnt){
//                    return new FebsResponse().fail().message("样品只能购买一件");
//                }
//            }else{
//                //验证用户的等级
//                if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){
//                    return new FebsResponse().fail().message("请先申请成为合伙人");
//                }
//            }
            if (sku.getStock() < item.getCnt()) {
                return new FebsResponse().fail().message(sku.getSkuName() + "库存不足");