MrShi
16 小时以前 d295f1f7706e51b158cb7252b6ac633b1f9a1982
server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
@@ -68,6 +68,9 @@
    private GoodsorderMapper goodsorderMapper;
    @Autowired
    private GoodsorderDetailMapper goodsorderDetailMapper;
    @Autowired
    private NoticeService noticeService;
    @Autowired
@@ -147,6 +150,14 @@
    @Override
    @Transactional(rollbackFor = {Exception.class, BusinessException.class})
    public Integer dealIntegral(DealIntegralRequest dealIntegralRequest,Member member) {
        // 积分取整:获取向下取整,消耗向上取整
        if(dealIntegralRequest.getIntegralNum() != null){
            if(Constants.equalsInteger(dealIntegralRequest.getDealType(),Constants.ZERO)){
                dealIntegralRequest.setIntegralNum(dealIntegralRequest.getIntegralNum().setScale(0, BigDecimal.ROUND_DOWN));
            }else{
                dealIntegralRequest.setIntegralNum(dealIntegralRequest.getIntegralNum().setScale(0, BigDecimal.ROUND_UP));
            }
        }
        if(member == null){
              member = memberMapper.selectById(dealIntegralRequest.getMemberId());
        }
@@ -160,7 +171,7 @@
        integral.setIsdeleted(Constants.ZERO);
        integral.setTitle(dealIntegralRequest.getIntegralObjType().getName());
        String info = dealIntegralRequest.getIntegralObjType().getNoteinfo();
        info = info.replace("${param}",dealIntegralRequest.getIntegralNum().intValue()+"");
        info = info.replace("${param}",dealIntegralRequest.getIntegralNum().toBigInteger().toString());
        if(StringUtils.isNotBlank(dealIntegralRequest.getParam1())){
            info = info .replace("${param1}",dealIntegralRequest.getParam1());
        }
@@ -185,7 +196,7 @@
        //站内信
        noticeService.saveMemberIntegralNotice(
                dealIntegralRequest.getIntegralObjType(),Constants.ONE,member.getId(),dealIntegralRequest.getIntegralNum(),
                dealIntegralRequest.getIntegralObjType(),Constants.ZERO,member.getId(),dealIntegralRequest.getIntegralNum(),
                integral.getId(), info
        );
        return integral.getId();
@@ -193,6 +204,14 @@
    @Override
    public Integer dealShopIntegral(DealIntegralRequest dealIntegralRequest,Shop shop) {
        // 积分取整:获取向下取整,消耗向上取整
        if(dealIntegralRequest.getIntegralNum() != null){
            if(Constants.equalsInteger(dealIntegralRequest.getDealType(),Constants.ZERO)){
                dealIntegralRequest.setIntegralNum(dealIntegralRequest.getIntegralNum().setScale(0, BigDecimal.ROUND_DOWN));
            }else{
                dealIntegralRequest.setIntegralNum(dealIntegralRequest.getIntegralNum().setScale(0, BigDecimal.ROUND_UP));
            }
        }
        if(shop ==null){
            shop = shopMapper.selectById(dealIntegralRequest.getMemberId());
        }
@@ -205,7 +224,7 @@
        integral.setIsdeleted(Constants.ZERO);
        integral.setTitle( dealIntegralRequest.getIntegralObjType()!=null?dealIntegralRequest.getIntegralObjType().getName():"");
        String info = dealIntegralRequest.getIntegralObjType().getNoteinfo();
        info = info.replace("${param}",dealIntegralRequest.getIntegralNum().toString());
        info = info.replace("${param}",dealIntegralRequest.getIntegralNum().toBigInteger().toString());
        if(StringUtils.isNotBlank(dealIntegralRequest.getParam1())){
            info = info .replace("${param1}",dealIntegralRequest.getParam1());
        }
@@ -268,9 +287,9 @@
        shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
                .eq(Shop::getId,shop.getId())
                .set(Shop::getEditDate,new Date())
                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"total_integral = ifnull(total_integral,0)+" + dealIntegralRequest.getIntegralNum())//累计增加
                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"integral = ifnull(integral,0)+" +  dealIntegralRequest.getIntegralNum())
                .setSql(dealIntegralRequest.getDealType().equals(Constants.ONE),"integral = ifnull(integral,0)-" + dealIntegralRequest.getIntegralNum()));
                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"TOTAL_AMOUNT = ifnull(TOTAL_AMOUNT,0)+" + dealIntegralRequest.getIntegralNum())//累计增加
                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"AMOUNT = ifnull(AMOUNT,0)+" +  dealIntegralRequest.getIntegralNum())
                .setSql(dealIntegralRequest.getDealType().equals(Constants.ONE),"AMOUNT = ifnull(AMOUNT,0)-" + dealIntegralRequest.getIntegralNum()));
        return integral.getId();
    }
@@ -615,12 +634,14 @@
                                .reduce(BigDecimal.ZERO, BigDecimal::add)
                );
                integralDataResponse.setWaitPayAmount(
                        goodsorderMapper.selectList(new QueryWrapper<Goodsorder>().lambda()
                        goodsorderDetailMapper.selectJoinList(GoodsorderDetail.class,new MPJLambdaWrapper<GoodsorderDetail>()
                                .selectAll(GoodsorderDetail.class)
                                .leftJoin(Goodsorder.class,Goodsorder::getId,GoodsorderDetail::getOrderId)
                                .eq(Goodsorder::getDistributionShopId,model.getMemberId())
                                .in(Goodsorder::getStatus,Constants.OrderStatus.WAIT_PAY.getKey(),
                                        Constants.OrderStatus.PAY_DONE.getKey(),
                                        Constants.OrderStatus.WAIT_RECEIVE.getKey())
                        ).stream().map(Goodsorder::getShopSettlement)
                        ).stream().map(GoodsorderDetail::getShopSettlement)
                        .reduce(BigDecimal.ZERO, BigDecimal::add)
                );
            }