MrShi
17 小时以前 297734ace4c05848b28a792fa89f38bee67be3c1
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
@@ -70,24 +70,25 @@
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public    String addBatch(MemberCouponAddDTO memberCoupon){
        checkAddBatchParamValid(memberCoupon);
    public    String addBatch(MemberCouponAddDTO memberCouponAddDTO){
        checkAddBatchParamValid(memberCouponAddDTO);
        List<Coupon> couponList = getCouponListByParam(memberCoupon);
        List<Member> memberList = getMemberListByParam(memberCoupon);
        List<Coupon> couponList = getCouponListByParam(memberCouponAddDTO);
        List<Member> memberList = getMemberListByParam(memberCouponAddDTO);
        List<MemberCoupon>  addList = new ArrayList<>();
        int index =1;
        LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
        Date now = new Date();
        for(Coupon param  : memberCoupon.getAddCouponList()){
        for(Coupon param  : memberCouponAddDTO.getAddCouponList()){
            Coupon  coupon = getCouponFromListById(param.getId(),couponList);
            if(coupon == null){
                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第【"+index+"】个优惠券查询无效,请刷新页面重新!");
            }
            for(Member member : memberList){
                for (int i = 0; i < Constants.formatLongNum(param.getNum()); i++) {
                    MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,member,now,Constants.TWO,loginUserInfo);
                    //挨个送
                    addList.add(MemberCoupon.couponToBean(coupon,member,now,Constants.TWO,loginUserInfo));
                    addList.add(memberCoupon);
                }
            }
            index++;
@@ -97,7 +98,6 @@
            memberCouponMapper.insert(addList);
        }
        return "操作成功,成功人员数量:"+memberList.size()+",共发放优惠券数量:"+addList.size();
    }
/*
@@ -325,13 +325,16 @@
        queryWrapper.leftJoin(Goodsorder.class,Goodsorder::getId,MemberCoupon::getOrderId);
        queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,MemberCoupon::getCreator);
        queryWrapper.eq(MemberCoupon::getIsdeleted, Constants.ZERO);
        if(pageWrap.getModel().getStatus()!=null && pageWrap.getModel().getStatus()!=2){
            queryWrapper.eq(pageWrap.getModel().getStatus()!=null,MemberCoupon::getStatus, pageWrap.getModel().getStatus());
        } else if (pageWrap.getModel().getStatus()!=null && pageWrap.getModel().getStatus()==2) {
            //查询已过期(未使用,切已过了使用期限)
            queryWrapper.eq( MemberCoupon::getStatus, Constants.ZERO);
            queryWrapper.lt( MemberCoupon::getEndDate, new Date());
        if(Constants.equalsInteger(pageWrap.getModel().getStatus(),0)&&pageWrap.getModel().getIsexpire()!=null && pageWrap.getModel().getIsexpire()== 0){
            queryWrapper.gt( MemberCoupon::getEndDate, new Date());
        } else if (Constants.equalsInteger(pageWrap.getModel().getStatus(),0)&&pageWrap.getModel().getIsexpire()!=null && pageWrap.getModel().getIsexpire()== 1) {
            queryWrapper.le( MemberCoupon::getEndDate, new Date());
        }
        queryWrapper.in(pageWrap.getModel().getMethodList()!=null,MemberCoupon::getGetMethod, pageWrap.getModel().getMethodList());
        queryWrapper.eq(pageWrap.getModel().getStatus()!=null,MemberCoupon::getStatus, pageWrap.getModel().getStatus());
        queryWrapper.eq(pageWrap.getModel().getCouponType()!=null,MemberCoupon::getCouponType, pageWrap.getModel().getCouponType());
        queryWrapper.eq(pageWrap.getModel().getCouponId()!=null,MemberCoupon::getCouponId, pageWrap.getModel().getCouponId());
        queryWrapper.like(pageWrap.getModel().getName()!=null,MemberCoupon::getName, pageWrap.getModel().getName());
        queryWrapper.eq(pageWrap.getModel().getOrderCode()!=null,Goodsorder::getCode, pageWrap.getModel().getOrderCode());
        queryWrapper.eq(pageWrap.getModel().getGetMethod()!=null,MemberCoupon::getGetMethod, pageWrap.getModel().getGetMethod());
        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getNikeName()),ms -> ms.like( Member::getNickname,  pageWrap.getModel().getNikeName()).
@@ -346,7 +349,9 @@
                        && model.getEndDate()!=null
                        && model.getEndDate().before(new Date())){
                    //已过期
                    model.setStatus(Constants.TWO);
                    model.setIsexpire(Constants.ONE);
                }else if(Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
                    model.setIsexpire(Constants.ZERO);
                }
            }
        }
@@ -520,10 +525,7 @@
        memberCoupon.setBackIntegral(BigDecimal.ZERO);
        memberCoupon.setName(coupon.getName());
        memberCouponMapper.insert(memberCoupon);
        //TODO 添加积分变动记录
        //更新用户积分
        memberMapper.subtractIntegral(memberId,memberCoupon.getIntegral());
    }