rk
14 小时以前 511ce651667f5b2284247cc60599078b86f7963f
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -388,7 +388,7 @@
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),ResponseStatus.DATA_EMPTY.getMessage());
        }
        cancelOrder( query.getId(),  user.getId(),goodsorder.getCancelInfo() );
        cancelOrderNew( query.getId(),  user.getId(),goodsorder.getCancelInfo() );
    }
@@ -411,17 +411,27 @@
                .selectAs(Member::getNickname,Goodsorder::getNickName)
                .selectAs(Member::getPhone,Goodsorder::getPhone)
                .selectAs(Member::getName,Goodsorder::getMemberName)
                .selectAs(SystemUser::getRealname,Goodsorder::getKdUserName)
                .selectAs(MemberCoupon::getName,Goodsorder::getCouponName)
                .select("t4.realname",Goodsorder::getKdUserName)
                .select("t5.realname",Goodsorder::getCancelUserName)
                .select("t6.realname",Goodsorder::getRefundUserName)
                .selectAs(Shop::getName,Goodsorder::getShopName)
                .leftJoin(MemberCoupon.class,MemberCoupon::getId,Goodsorder::getCouponId)
                .leftJoin(Shop.class,Shop::getId,Goodsorder::getDistributionShopId)
                .leftJoin(Member.class,Member::getId,Goodsorder::getMemberId)
                .leftJoin(SystemUser.class,SystemUser::getId,Goodsorder::getKdUser)
                .leftJoin(SystemUser.class,SystemUser::getId,Goodsorder::getCancelUser)
                .leftJoin(SystemUser.class,SystemUser::getId,Goodsorder::getRefundUserId)
                .eq(Goodsorder::getId,id);
        Goodsorder result=goodsorderJoinMapper.selectJoinOne(Goodsorder.class,q);
        if(Objects.nonNull(result)){
            MPJLambdaWrapper<GoodsorderDetail> queryWrapper = new MPJLambdaWrapper<>();
            queryWrapper.selectAll(GoodsorderDetail.class)
                    .selectAs(Labels::getName,GoodsorderDetail::getCategoryName)
                    .eq(GoodsorderDetail::getIsdeleted,Constants.ZERO)
                    .leftJoin(GoodsSku.class,GoodsSku::getId,GoodsorderDetail::getGoodsSkuId)
                    .leftJoin(Goods.class,Goods::getId,GoodsSku::getGoodsId)
                    .leftJoin(Labels.class,Labels::getId,Goods::getCategoryId)
                    .eq(GoodsorderDetail::getOrderId,result.getId()) ;
            List<GoodsorderDetail> goodsorderDetailList=goodsorderDetailMapper.selectList(queryWrapper);
            String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
@@ -430,6 +440,8 @@
                if(StringUtils.isNotBlank(model.getImgurl())){
                   model.setImgurl(path+ model.getImgurl());
                }
                //小计
                model.setTotalPrice(Constants.formatBigdecimal(model.getPrice()).multiply(new BigDecimal(Constants.formatIntegerNum(model.getGoodsNum()))));
            }
            result.setGoodsorderDetailList(goodsorderDetailList);
        }
@@ -456,6 +468,8 @@
        queryWrapper.selectAll(Goodsorder.class);
        queryWrapper.selectAs(Shop::getName,Goodsorder::getShopName);
        initPageQueryWrapper(queryWrapper,pageWrap);
        queryWrapper.selectAs(MemberCoupon::getName,Goodsorder::getCouponName);
        queryWrapper.leftJoin(MemberCoupon.class,MemberCoupon::getId,Goodsorder::getCouponId);
        queryWrapper.eq(pageWrap.getModel().getStatus()!=null,Goodsorder::getStatus,pageWrap.getModel().getStatus());
        queryWrapper.orderByDesc(Goodsorder::getCreateDate);
@@ -1356,7 +1370,8 @@
        || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_RECEIVE.getKey()) )){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"订单取消失败:订单状态已流转!");
        }
        if(goodsorder.getPrice().compareTo(BigDecimal.ZERO)>Constants.ZERO){
        if(Constants.formatBigdecimal(goodsorder.getPrice()).compareTo(BigDecimal.ZERO)>Constants.ZERO
                && Constants.equalsObject(goodsorder.getPayStatus(),Constants.ONE) ){
            //微信现金退款
            String refundCode = WxMiniUtilService.wxRefund(goodsorder.getCode().toString(), goodsorder.getPrice(), goodsorder.getPrice());
            Fund fund = new Fund();
@@ -1934,7 +1949,6 @@
        }
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void orderComment(OrderCommentRequest orderCommentRequest){
@@ -1973,6 +1987,18 @@
        goodsorder.setIsComment(Constants.ONE);
        goodsorderMapper.updateById(goodsorder);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public  void orderRefund(Goodsorder param){
        Goodsorder goodsorder = goodsorderMapper.selectById(param.getId());
        if(!goodsorder.getMemberId().equals(goodsorder.getMemberId())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"操作失败:用户信息匹配失败!");
        }
        if(!goodsorder.getStatus().equals(Constants.OrderStatus.DONE.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"操作失败:订单未完成,无法退款!");
        }
    }
    @Override