yujian
2020-06-29 645c16466ce9dbe563c03943b0ab5fd46c8eed00
免单券类型获得
3个文件已修改
83 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserSystemCouponService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java
@@ -687,8 +687,8 @@
        
        // 赠送购买者一张免单券
        try {
            userSystemCouponService.freeCouponWinBySystem(orderUid, CouponTypeEnum.freeCouponBuy,
                    UserSystemCoupon.SOURCE_PULL_NEW, 1, true, 2);
            userSystemCouponService.freeCouponWinBySystem(orderUid, CouponTypeEnum.freeCoupon,
                    UserSystemCoupon.SOURCE_PULL_NEW, 1, true, 2, 1);
        } catch (UserSystemCouponException e) {
            e.printStackTrace();
        } catch (Exception e) {
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java
@@ -322,7 +322,7 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public UserSystemCoupon freeCouponWinBySystem(Long uid, CouponTypeEnum typeEnum, String source, int num, boolean notify,
            Integer expiryDay) throws UserSystemCouponException, Exception {
            Integer expiryDay, Integer activated) throws UserSystemCouponException, Exception {
        if (typeEnum == null || uid == null || StringUtil.isNullOrEmpty(source) || num < 1) {
            throw new UserSystemCouponException(1, "参数不正确");
        }
@@ -333,15 +333,14 @@
        }
        // 激活状态
        int stateActivated = 0;
        // 自购免单券、赠送免单券可直接使用
        if (coupon.getType() == CouponTypeEnum.freeCouponBuy || coupon.getType() == CouponTypeEnum.freeCouponGive) {
            stateActivated = 1;
            activated = 1;
        }
        // 有效时长
        if (expiryDay == null) {
            if (stateActivated == 0)
            if (activated == 0)
                expiryDay = coupon.getActivateDay();
            if (expiryDay == null || expiryDay == 0)
                expiryDay = coupon.getExpiryDay();
@@ -363,7 +362,7 @@
            userCoupon.setSource(source);
            userCoupon.setSystemCoupon(coupon);
            userCoupon.setState(UserSystemCoupon.STATE_CAN_USE);
            userCoupon.setStateActivated(stateActivated);
            userCoupon.setStateActivated(activated);
            userCoupon.setStartTime(nowTime);
            userCoupon.setEndTime(endTime);
            userCoupon.setCreateTime(nowTime);
@@ -1655,62 +1654,6 @@
        }
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void exchangeCoupon(Long uid, String couponType, String source, BigDecimal percent)
            throws UserSystemCouponException, Exception {
        if (couponType == null || uid == null) {
            throw new UserSystemCouponException(1, "参数不正确");
        }
        SystemCoupon coupon = null;
        if (couponType.equals(CouponTypeEnum.rebatePercentCoupon.name())) {
            coupon = systemCouponService.getCouponByTypeAndPercent(couponType, percent);
        } else {
            coupon = systemCouponService.getCouponByType(couponType);
        }
        if (coupon == null) {
            throw new UserSystemCouponException(1, "券类型不正确");
        }
        int stateActivated = 1;
        if (couponType == CouponTypeEnum.freeCoupon.name()) {
            stateActivated = 0; //
        } else if (couponType == CouponTypeEnum.welfareFreeCoupon.name()
                && threeSaleSerivce.countFirstTeam(uid) <= 0) {
            stateActivated = 0; // 无下级队员 --待激活
        }
        Integer expiryDay = null;
        if (stateActivated == 0)
            expiryDay = coupon.getActivateDay();
        if (expiryDay == null || expiryDay == 0)
            expiryDay = coupon.getExpiryDay();
        // 计算结束日期:今天在内 减去一天
        String endDay = DateUtil.plusDay(expiryDay - 1, new Date());
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        if (endDay != null && endDay.trim().length() > 0) {
            endDay += " 23:59:59";
        }
        Date endTime = format.parse(endDay);
        UserSystemCoupon userCoupon = new UserSystemCoupon();
        userCoupon.setUid(uid);
        userCoupon.setSource(source);
        userCoupon.setSystemCoupon(coupon);
        userCoupon.setStateActivated(stateActivated);
        userCoupon.setStartTime(new Date());
        userCoupon.setEndTime(endTime);
        userCoupon.setGive(false);
        userCoupon.setCreateTime(new Date());
        userCoupon.setUpdateTime(new Date());
        userCoupon.setState(UserSystemCoupon.STATE_CAN_USE);
        insertSelective(userCoupon);
    }
    @Transactional(rollbackFor = Exception.class)
    @Override
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserSystemCouponService.java
@@ -163,18 +163,6 @@
    public int countTodatyUserCouponBySource(Long uid, String source);
    
    
    /**
     * 添加券
     * @param uid
     * @param couponType
     * @param source
     * @throws UserSystemCouponException
     */
    public void exchangeCoupon(Long uid, String couponType, String source,
            BigDecimal percent) throws UserSystemCouponException, Exception;
    /**
     * 券列表 1.6.5
     * @param start
@@ -327,7 +315,7 @@
     * @throws Exception
     */
    public UserSystemCoupon freeCouponWinBySystem(Long uid, CouponTypeEnum typeEnum, String source, int num, boolean notify,
            Integer expiryDay) throws UserSystemCouponException, Exception;
            Integer expiryDay, Integer activated) throws UserSystemCouponException, Exception;
    /**
     * 获取有效免单券列表