rk
15 小时以前 77970ad391881f9c49a3f15dda8bb447e9326fd2
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
@@ -70,24 +70,32 @@
    @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+"】个优惠券查询无效,请刷新页面重新!");
            }
            BigDecimal maxPrice = BigDecimal.ZERO;
            if(Constants.equalsInteger(coupon.getCouponType(),Constants.ZERO)){
                maxPrice = coupon.getPrice();
            }else if(Constants.equalsInteger(coupon.getCouponType(),Constants.ONE)){
                maxPrice = coupon.getLimitPrice().subtract(coupon.getLimitPrice().multiply(coupon.getPrice()).divide(new BigDecimal("100"),2, RoundingMode.HALF_UP));
            }
            for(Member member : memberList){
                for (int i = 0; i < Constants.formatLongNum(param.getNum()); i++) {
                    MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,member,now,Constants.TWO,loginUserInfo);
                    memberCoupon.setMaxPrice(maxPrice);
                    //挨个送
                    addList.add(MemberCoupon.couponToBean(coupon,member,now,Constants.TWO,loginUserInfo));
                    addList.add(memberCoupon);
                }
            }
            index++;
@@ -97,7 +105,6 @@
            memberCouponMapper.insert(addList);
        }
        return "操作成功,成功人员数量:"+memberList.size()+",共发放优惠券数量:"+addList.size();
    }
/*