rk
8 小时以前 3b8100c9b5e00e627b33c25f80fedac98e00b7dd
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());
            }
        }
@@ -793,8 +801,7 @@
        goodsorder.setPrice(orderPayConfirmResponse.getPayAmount());
        goodsorder.setTotalPrice(orderPayConfirmResponse.getAmount());
        goodsorder.setUseIntegral(orderPayConfirmResponse.getDeductIntegral());
        goodsorder.setIntegral(goodsorder.getUseIntegral());
        goodsorder.setIntegralPrice(orderPayConfirmResponse.getIntegralAmount());
        goodsorder.setIntegral(orderPayConfirmResponse.getIntegralAmount());
        goodsorder.setMailPrice(orderPayConfirmResponse.getMailAmount());
        goodsorder.setPayMethod(goodsorder.getPrice().compareTo(BigDecimal.ZERO)>Constants.ZERO?Constants.ZERO:Constants.ONE);
        if(Objects.nonNull(orderPayConfirmResponse.getMemberCoupon())){
@@ -1055,6 +1062,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 +1389,36 @@
        //邮费金额
        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());
                        if(Objects.nonNull(labels)&&StringUtils.isNotBlank(labels.getParam())){
                            //{weight0:10,fee0:10,weight1:10,fee1:10},{首重:10,首重运费:10,续重:10,续重费:10}
                        }
                    }
                }
                //TODO  根据收货地址 查询运费配置
                //计算商品信息总重量
                BigDecimal totalWeight = goodsCalculateList.stream().map(i->
                        i.getWeight().multiply(new BigDecimal(i.getGoodsNum().toString()))
@@ -1786,10 +1829,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 +1863,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 +1960,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 +1988,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);
    }