rk
6 小时以前 11c5ab8d97809bdeddb60b22a4fe161a67aa3b05
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -40,6 +40,7 @@
import com.github.binarywang.wxpay.exception.WxPayException;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import okhttp3.Address;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.checkerframework.checker.units.qual.C;
@@ -97,6 +98,9 @@
    private ShopMapper shopMapper;
    @Autowired
    private LabelsMapper labelsMapper;
    @Autowired
    private ShopGoodsRelationMapper relationMapper;
    @Autowired
@@ -137,6 +141,9 @@
    @Autowired
    private AreasService areasService;
    @Autowired
    private AreasMapper areasMapper;
    @Autowired
    private GoodsorderDetailJoinMapper goodsorderDetailJoinMapper;
@@ -194,7 +201,7 @@
        goodsorderMapper.updateById(goodsorder);
    }
    @Override
    /*@Override
    public IPage<Shop> getShopPage(PageWrap<Shop> pageWrap) {
        IPage<Shop> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        Shop model = pageWrap.getModel();
@@ -213,7 +220,7 @@
                        .like(StringUtils.isNotBlank(model.getName()),Shop::getName,model.getName())
                .orderByAsc(" distance ")
        );
    }
    }*/
    /**
@@ -770,6 +777,7 @@
            goodsorder.setDistributionShopId(shop.getId());
            if(Objects.isNull(member.getBindShopId())){
                member.setBindShopId(shop.getId());
                member.setBindShopDate(new Date());
            }
        }
@@ -1055,6 +1063,13 @@
        memberOrderResponse.setMemberOrderDetailResponseList(memberOrderDetailResponseList);
        if(Constants.equalsInteger(memberOrderResponse.getReceiveType(),Constants.ONE)){
            memberOrderResponse.setShopInfo(shopMapper.selectById(memberOrderResponse.getShopId()));
        }
        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());
            memberOrderResponse.setMember(member);
        }
        return memberOrderResponse;
    }
@@ -1375,7 +1390,33 @@
        //邮费金额
        if(Objects.nonNull(request.getReceiveType())){
            if(Constants.equalsInteger(request.getReceiveType(),Constants.ZERO)){
                if(Objects.nonNull(request.getAddressId())){
                    Addr addr = addrMapper.selectById(request.getAddressId());
                    if(Objects.isNull(addr)){
                        throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到收货地址信息");
                    }
                    Areas areas = areasMapper.selectOne(new QueryWrapper<Areas>().lambda()
                            .eq(Areas::getIsdeleted,Constants.ZERO)
                            .eq(Areas::getId,StringUtils.leftPad(addr.getAreaId().toString().substring(0,2),6,"0"))
                            .isNotNull(Areas::getYunFeeId)
                            .last(" limit 1 ")
                    );
                    if(Objects.nonNull(areas)){
                        Labels  labels = labelsMapper.selectById(areas.getYunFeeId());
                    }
                }
                //TODO  根据收货地址 查询运费配置
                //计算商品信息总重量
                BigDecimal totalWeight = goodsCalculateList.stream().map(i->
                        i.getWeight().multiply(new BigDecimal(i.getGoodsNum().toString()))
@@ -1786,10 +1827,12 @@
        RedisUtil.addObject(redisTemplate,Constants.RedisKeys.GOODSORDER_KEY,0);
        //加入redis缓存,刷新今天售后编号0开始
        RedisUtil.addObject(redisTemplate,Constants.RedisKeys.AFTERSALE_KEY,0);
        //加入redis缓存,刷新今天售后编号0开始
        RedisUtil.addObject(redisTemplate,Constants.RedisKeys.WITHDRAW_KEY,0);
    }
    @Override
    public  void refreshOrderCodes(){
        long countOrder = 0,countSign=0,countSale=0;
        long countOrder = 0,countSign=0,countSale=0,countWithdraw=0;
        QueryWrapper<Goodsorder> order = new QueryWrapper<>();
        order.apply(true, "TO_DAYS(NOW())=TO_DAYS(create_date)");
@@ -1818,6 +1861,22 @@
        }
        //加入redis缓存,刷新今天售后编号0开始
        RedisUtil.addObject(redisTemplate,Constants.RedisKeys.AFTERSALE_KEY,countSale);
        QueryWrapper<WithdrawRecord> withdraw = new QueryWrapper<>();
        withdraw.apply(true, "TO_DAYS(NOW())=TO_DAYS(create_date)");
        withdraw.orderByDesc(" CODE ");
        withdraw.last(" limit 1 ");
        Aftersale maxWithdrawOrder =  aftersaleMapper.selectOne(sale);
        if(!Objects.isNull(maxWithdrawOrder)){
            countWithdraw = Integer.valueOf(maxOrder.getCode().toString().substring(8,12));
        }
        //加入redis缓存,刷新今天售后编号0开始
        RedisUtil.addObject(redisTemplate,Constants.RedisKeys.WITHDRAW_KEY,countWithdraw);
    }
@@ -1899,11 +1958,13 @@
                        .eq(Goodsorder::getMemberId,member.getId())
                        .eq(Goodsorder::getStatus,Constants.OrderStatus.WAIT_RECEIVE.getKey()))
        );
        homeInfoResponse.setWaitPayNum(
                goodsorderMapper.selectCount(new QueryWrapper<Goodsorder>().lambda().eq(Goodsorder::getIsdeleted,Constants.ZERO)
                        .eq(Goodsorder::getMemberId,member.getId())
                        .eq(Goodsorder::getStatus,Constants.OrderStatus.WAIT_PAY.getKey()))
        );
        homeInfoResponse.setCartTypeNum(
                shopcartMapper.selectCount(new QueryWrapper<Shopcart>().lambda()
                        .eq(Shopcart::getIsdeleted,Constants.ZERO)
@@ -1925,11 +1986,44 @@
        );
        return homeInfoResponse;
    }
    @Override
    public PageData<Goodsorder> shopOrderPage(PageWrap<ShopOrderRequest> pageWrap) {
        Integer shopId = null;
        Integer status = null;
        IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
        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.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.orderByDesc(Goodsorder::getCreateDate);
        IPage<Goodsorder> result = goodsorderJoinMapper.selectJoinPage(page, Goodsorder.class, queryWrapper);
        String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() +
                systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_FILE).getCode();
        for(Goodsorder goodsorder:result.getRecords()){
            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());
                }
            });
            goodsorder.setGoodsorderDetailList(goodsorderDetailList);
        }
        return PageData.from(result);
    }