doum
10 小时以前 9b46e9e116c0f2a51a496da2fb24502ece01f5cd
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -37,9 +37,11 @@
import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
import com.github.binarywang.wxpay.bean.result.WxPayRefundV3Result;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import io.swagger.models.auth.In;
import okhttp3.Address;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
@@ -436,7 +438,6 @@
        queryWrapper.eq(pageWrap.getModel().getPayOrderId()!=null,Goodsorder::getPayOrderId,pageWrap.getModel().getPayOrderId());
        queryWrapper.eq(pageWrap.getModel().getStatus()!=null,Goodsorder::getStatus,pageWrap.getModel().getStatus());
        queryWrapper.eq(pageWrap.getModel().getIsdeleted()==null,Goodsorder::getIsdeleted,Constants.ZERO);
        queryWrapper.eq(pageWrap.getModel().getIsdeleted()!=null,Goodsorder::getIsdeleted,pageWrap.getModel().getIsdeleted());
        queryWrapper.orderByDesc(Goodsorder::getCreateDate);
        IPage<Goodsorder> result = goodsorderJoinMapper.selectJoinPage(page, Goodsorder.class, queryWrapper);
@@ -492,6 +493,82 @@
           model.setGoodsorderDetailList(goodsorderDetailList);
        }
        return PageData.from(result);
    }
    @Override
    public PageData<Goodsorder> findPageShop(PageWrap<Goodsorder> pageWrap) {
        IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        queryWrapper.selectAll(Goodsorder.class)
         .eq(pageWrap.getModel().getDistributionShopId()!=null,Goodsorder::getDistributionShopId,pageWrap.getModel().getDistributionShopId())
         .eq(pageWrap.getModel().getStatus()!=null,Goodsorder::getStatus,pageWrap.getModel().getStatus())
         .eq(pageWrap.getModel().getCode()!=null,Goodsorder::getCode,pageWrap.getModel().getCode())
         .ge(pageWrap.getModel().getStarttime()!=null,Goodsorder::getCreateDate,pageWrap.getModel().getStarttime())
         .le(pageWrap.getModel().getEndtime()!=null,Goodsorder::getCreateDate, pageWrap.getModel().getEndtime())
         .eq(Goodsorder::getIsdeleted,Constants.ZERO)
         .exists(StringUtils.isNotBlank(pageWrap.getModel().getGoodsName()),
                "select d.id from goodsorder_detail d where d.isdeleted=0 and d.order_id=t.id and (d.goods_sku_id ='"+pageWrap.getModel().getGoodsName()+"' or d.name like '%"+pageWrap.getModel().getGoodsName()+"%')")
         .orderByDesc(Goodsorder::getCreateDate);
        IPage<Goodsorder> result = goodsorderJoinMapper.selectJoinPage(page, Goodsorder.class, queryWrapper);
        PageData<Goodsorder> rr = PageData.from(result);
        if(result!=null && result.getRecords().size()>0) {
            List<Integer> idList = new ArrayList<>();
            for(Goodsorder model:result.getRecords()){
                idList.add(model.getId());
            }
            MPJLambdaWrapper<GoodsorderDetail> queryGoods = new MPJLambdaWrapper<>();
            queryGoods.selectAll(GoodsorderDetail.class);
            queryGoods.in(GoodsorderDetail::getOrderId,idList);
            queryGoods.eq(GoodsorderDetail::getIsdeleted,Constants.ZERO);
            queryGoods.and( StringUtils.isNotBlank(pageWrap.getModel().getGoodsName()),w ->{
                w.like(GoodsorderDetail::getName,pageWrap.getModel().getGoodsName() ).or().eq(GoodsorderDetail::getGoodsSkuId,pageWrap.getModel().getGoodsName());
            } );
            List<GoodsorderDetail> goodsorderDetailList=goodsorderDetailJoinMapper.selectList(queryGoods);
            for(Goodsorder model:result.getRecords()){
                model.setGoodsorderDetailList(getDetailListById(goodsorderDetailList,model.getId()));
            }
            if(pageWrap.getPage() == 1 && pageWrap.getModel().getDistributionShopId()!=null){
                //如果查询第一页,做经销商销售信息统计业务查询
                Goodsorder count = new Goodsorder();
                count.setOrderCount(rr.getTotal());
                List<GoodsorderDetail> list =  goodsorderDetailJoinMapper.selectJoinList(GoodsorderDetail.class,new MPJLambdaWrapper<GoodsorderDetail>()
                        .selectAll(GoodsorderDetail.class)
                        .leftJoin(Goodsorder.class,Goodsorder::getId,GoodsorderDetail::getOrderId)
                        .eq(pageWrap.getModel().getDistributionShopId()!=null,Goodsorder::getDistributionShopId,pageWrap.getModel().getDistributionShopId())
                        .eq(pageWrap.getModel().getStatus()!=null,Goodsorder::getStatus,pageWrap.getModel().getStatus())
                        .and( StringUtils.isNotBlank(pageWrap.getModel().getGoodsName()),w ->{
                            w.like(GoodsorderDetail::getName,pageWrap.getModel().getGoodsName() ).or().eq(GoodsorderDetail::getGoodsSkuId,pageWrap.getModel().getGoodsName());
                        } )
                        .eq(pageWrap.getModel().getCode()!=null,Goodsorder::getCode,pageWrap.getModel().getCode())
                        .ge(pageWrap.getModel().getStarttime()!=null,Goodsorder::getCreateDate,pageWrap.getModel().getStarttime())
                        .le(pageWrap.getModel().getEndtime()!=null,Goodsorder::getCreateDate, pageWrap.getModel().getEndtime())
                        .eq(Goodsorder::getIsdeleted,Constants.ZERO));
                if(list!=null && list.size()>0){
                    //商品总量
                    for (GoodsorderDetail d : list){
                        count.setGoodsNum(Constants.formatIntegerNum(count.getGoodsNum()) + Constants.formatIntegerNum(d.getGoodsNum()));
                        count.setOrderMoneyCount(Constants.formatBigdecimal(count.getOrderMoneyCount())
                                .add(Constants.formatBigdecimal(d.getPrice()).multiply(new BigDecimal(Constants.formatIntegerNum(d.getGoodsNum())))));
                    }
                }
                rr.setCountData(count);
            }
        }
        return rr;
    }
    private List<GoodsorderDetail> getDetailListById(List<GoodsorderDetail> goodsorderDetailList, Integer id) {
        List<GoodsorderDetail> list = new ArrayList<>();
        for(GoodsorderDetail d : goodsorderDetailList){
            if(Constants.equalsInteger(id,d.getOrderId())){
                list.add(d);
            }
        }
        return list;
    }
@@ -801,8 +878,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())){
@@ -1403,7 +1479,10 @@
                    );
                    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}
                        }
                    }