rk
9 小时以前 580f4d3c2ca9eee53eee95a4de2f6610b790780a
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -1027,14 +1027,31 @@
        String fullUrl = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
                systemDictDataBiz.queryByCode(Constants.OSS,Constants.GOODS_FILE).getCode();
        page.getRecords().forEach(i->{
            List<MemberOrderDetailResponse> memberOrderDetailResponseList = goodsorderDetailMapper.getDetailList(i.getOrderId());
            memberOrderDetailResponseList.forEach(j->{
                j.setImgUrl(fullUrl + j.getImgUrl());
            List<GoodsorderDetail> goodsorderDetailList=goodsorderDetailJoinMapper.selectList(new QueryWrapper<GoodsorderDetail>().lambda()
                    .eq(GoodsorderDetail::getOrderId,i.getOrderId()));
            goodsorderDetailList.stream().forEach(s ->{
                if(StringUtils.isNotBlank(s.getImgurl())){
                    s.setImgurl(fullUrl + s.getImgurl());
                }
            });
            i.setMemberOrderDetailResponseList(memberOrderDetailResponseList);
            i.setGoodsorderDetailList(goodsorderDetailList);
        });
        return page;
    }
    @Override
    public MemberOrderResponse getGoodsOrderDetailByCode(String exchangeCode){
        Goodsorder goodsorder = goodsorderMapper.selectOne(new QueryWrapper<Goodsorder>().lambda().eq(Goodsorder::getExchangeCode,exchangeCode)
                .last(" limit 1")
        );
        if(Objects.isNull(goodsorder)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到订单信息");
        }
        return this.getGoodsOrderDetail(goodsorder.getId());
    }
    /**
@@ -1049,23 +1066,34 @@
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到订单信息");
        }
        if(memberOrderResponse.getOrderStatus().equals(Constants.OrderStatus.WAIT_PAY.getKey())){
            memberOrderResponse.setCountdown(memberOrderResponse.getCancelDate().getTime()-System.currentTimeMillis());
            memberOrderResponse.setCountdown(memberOrderResponse.getCancelDate().getTime()>System.currentTimeMillis()?memberOrderResponse.getCancelDate().getTime()-System.currentTimeMillis():Constants.ZERO);
        }
        List<MemberOrderDetailResponse> memberOrderDetailResponseList = goodsorderDetailMapper.getDetailList(memberOrderResponse.getOrderId());
        String fullUrl = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
                systemDictDataBiz.queryByCode(Constants.OSS,Constants.GOODS_FILE).getCode();
        memberOrderDetailResponseList.forEach(j->{
            j.setImgUrl(fullUrl + j.getImgUrl());
        List<GoodsorderDetail> goodsorderDetailList=goodsorderDetailJoinMapper.selectList(new QueryWrapper<GoodsorderDetail>().lambda()
                .eq(GoodsorderDetail::getOrderId,memberOrderResponse.getOrderId()));
        goodsorderDetailList.stream().forEach(s ->{
            if(StringUtils.isNotBlank(s.getImgurl())){
                s.setImgurl(fullUrl + s.getImgurl());
            }
        });
        memberOrderResponse.setMemberOrderDetailResponseList(memberOrderDetailResponseList);
        if(Constants.equalsInteger(memberOrderResponse.getReceiveType(),Constants.ONE)){
            memberOrderResponse.setShopInfo(shopMapper.selectById(memberOrderResponse.getShopId()));
        memberOrderResponse.setGoodsorderDetailList(goodsorderDetailList);
        Shop shop = shopMapper.selectById(memberOrderResponse.getShopId());
        if(Objects.nonNull(shop)){
            shop.setPassword(null);
            shop.setUsername(null);
            shop.setAreas(AreasServiceImpl.getAddressByAreaId(shop.getAreaId()));
            memberOrderResponse.setShopInfo(shop);
        }
        Member member = memberMapper.selectById(memberOrderResponse.getMemberId());
        if(Objects.nonNull(member)){
            String memberfullUrl = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
                    systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode();
            member.setImgFullUrl(memberfullUrl + member.getImgurl());
            if(StringUtils.isNotBlank(member.getImgurl())){
                member.setImgFullUrl(memberfullUrl + member.getImgurl());
            }
            memberOrderResponse.setMember(member);
        }
        return memberOrderResponse;
@@ -1171,9 +1199,7 @@
                }
            }
        }
        SendWxMessage.orderCancel(goodsorder,memberMapper.selectById(goodsorder.getMemberId()),goodsName);
        //查询优惠券信息记录
        if(!Objects.isNull(goodsorder.getCouponId())){
            MemberCoupon memberCoupon = memberCouponMapper.selectById(goodsorder.getCouponId());
@@ -1578,6 +1604,7 @@
     * @param memberId
     */
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void affirmOrder(Integer orderId,Integer memberId){
        Goodsorder goodsorder = goodsorderMapper.selectById(orderId);
        if(!goodsorder.getMemberId().equals(memberId)){
@@ -1687,10 +1714,12 @@
     * @param memberId
     */
    @Override
    public void orderWriteOff(String exchangeCode,Integer memberId){
        Goodsorder goodsorder = goodsorderMapper.selectOne(new QueryWrapper<Goodsorder>().lambda()
                .eq(Goodsorder::getExchangeCode,exchangeCode)
                .eq(Goodsorder::getIsdeleted,Constants.ZERO).last("limit 1 "));
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void orderWriteOff(Integer orderId,Integer memberId){
        if(Objects.isNull(orderId)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        Goodsorder goodsorder = goodsorderMapper.selectById(orderId);
        if(Objects.isNull(goodsorder)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
@@ -1704,9 +1733,9 @@
        if(Objects.isNull(shop)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到订单关联经销商信息,请联系管理员");
        }
        if(!Constants.equalsInteger(shop.getMemberId(),memberId)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"["+shop.getName()+"]非您绑定的经销商,无法进行该操作!");
        }
//        if(!Constants.equalsInteger(shop.getMemberId(),memberId)){
//            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"["+shop.getName()+"]非您绑定的经销商,无法进行该操作!");
//        }
        goodsorder.setStatus(Constants.OrderStatus.DONE.getKey());
        goodsorder.setDoneDate(new Date());
        goodsorderMapper.updateById(goodsorder);
@@ -1733,7 +1762,7 @@
            return;
        }
        BigDecimal backIntegral = getBackIntegral(goodsorder.getPrice(),Constants.ONE);
        if (backIntegral.compareTo(BigDecimal.ZERO) >= 0) {
        if (backIntegral.compareTo(BigDecimal.ZERO) > 0) {
            //更新余额信息 添加积分变动记录
            DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
            dealIntegralRequest.setIntegralNum(backIntegral);
@@ -1782,12 +1811,12 @@
            return;
        }
        BigDecimal backIntegral = getBackIntegral(goodsorder.getPrice(),Constants.ZERO);
        if (backIntegral.compareTo(BigDecimal.ZERO) >= 0) {
        if (backIntegral.compareTo(BigDecimal.ZERO) > 0) {
            //更新余额信息 添加积分变动记录
            DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
            dealIntegralRequest.setIntegralNum(backIntegral);
            dealIntegralRequest.setDealType(Constants.ZERO);
            dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
            dealIntegralRequest.setMemberId(goodsorder.getMemberId());
            dealIntegralRequest.setObjId(goodsorder.getId());
            dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.ORDER_DONATE);
@@ -1844,6 +1873,7 @@
        if(!goodsorder.getStatus().equals(Constants.OrderStatus.DONE.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"操作失败:订单未完成,无法退款!");
        }
    }
@@ -2101,12 +2131,13 @@
        Utils.MP.blankToNull(pageWrap.getModel());
        ShopOrderRequest model = pageWrap.getModel();
        queryWrapper.selectAll(Goodsorder.class);
//        queryWrapper.selectAs(Member::getNickname,Goodsorder::getNickName);
//        queryWrapper.selectAs(Member::getPhone,Goodsorder::getPhone);
//        queryWrapper.selectAs(Member::getImgurl,Goodsorder::getImgurl);
        queryWrapper.selectAs(Shop::getName,Goodsorder::getShopName);
        queryWrapper.selectAs(Shop::getPhone,Goodsorder::getShopPhone);
        queryWrapper.leftJoin(Shop.class,Shop::getId,Goodsorder::getDistributionShopId);
        queryWrapper.eq(Goodsorder::getIsdeleted,Constants.ZERO);
        queryWrapper.eq(Objects.nonNull(model.getStatus()),Goodsorder::getStatus,model.getStatus());
        queryWrapper.eq(Objects.nonNull(model.getShopId()),Goodsorder::getDistributionShopId,model.getShopId());
        queryWrapper.eq(Objects.nonNull(model.getShopId())&&Constants.equalsInteger(model.getUserType(),Constants.ONE),Goodsorder::getDistributionShopId,model.getShopId());
        queryWrapper.eq(Objects.nonNull(model.getShopId())&&Constants.equalsInteger(model.getUserType(),Constants.ZERO),Goodsorder::getMemberId,model.getShopId());
        queryWrapper.orderByDesc(Goodsorder::getCreateDate);
        IPage<Goodsorder> result = goodsorderJoinMapper.selectJoinPage(page, Goodsorder.class, queryWrapper);
@@ -2119,8 +2150,8 @@
            List<GoodsorderDetail> goodsorderDetailList=goodsorderDetailJoinMapper.selectList(new QueryWrapper<GoodsorderDetail>().lambda()
                    .eq(GoodsorderDetail::getOrderId,goodsorder.getId()));
            goodsorderDetailList.stream().forEach(s ->{
                if(StringUtils.isBlank(s.getImgurl())){
                    s.setImgurl(path + s.getGoodsImgurl());
                if(StringUtils.isNotBlank(s.getImgurl())){
                    s.setImgurl(path + s.getImgurl());
                }
            });
            goodsorder.setGoodsorderDetailList(goodsorderDetailList);
@@ -2130,4 +2161,27 @@
//    public IPage<Shop> getGoodsorderPageForShop(PageWrap pageWrap,String shopId) {
//        IPage<Shop> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
//
//        IPage<Goodsorder> goodsorderPage = goodsorderJoinMapper.selectJoinPage(page,Goodsorder.class,
//                new MPJLambdaWrapper<Goodsorder>()
//                        .selectAll(Goodsorder.class)
//                        .selectAs(Member::getPhone,Goodsorder::getPhone)
//                        .selectAs(Member::getNickname,Goodsorder::getNickName)
//                        .leftJoin(Member.class,Member::getId,Goodsorder::getMemberId)
//                        .eq(Goodsorder::getIsdeleted,Constants.ZERO)
//                        .eq(Goodsorder::getDistributionShopId,shopId)
//                        .eq(Goodsorder::getStatus,Constants.OrderStatus.PAY_DONE.getKey())
//                        .eq(Goodsorder::getReceiveType,Constants.ONE)
//                        .orderByDesc(Goodsorder::getId)
//        );
//
//
//
//    }
}