| | |
| | | import com.yeshi.fanli.entity.common.JumpDetailV2;
|
| | | import com.yeshi.fanli.entity.money.UserMoneyDetail;
|
| | | import com.yeshi.fanli.entity.order.CommonOrder;
|
| | | import com.yeshi.fanli.entity.order.HongBaoOrder;
|
| | | import com.yeshi.fanli.entity.system.ConfigKeyEnum;
|
| | | import com.yeshi.fanli.entity.system.SystemCoupon;
|
| | | import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
|
| | |
| | | return userSystemCouponMapper.countUserCouponList(uid);
|
| | | }
|
| | |
|
| | | |
| | | |
| | | @Override
|
| | | @Transactional(rollbackFor=Exception.class)
|
| | | public UserSystemCoupon freeCouponWin(Long uid, CouponTypeEnum typeEnum, String source, int num, boolean notify) throws UserSystemCouponException, Exception{
|
| | | public UserSystemCoupon freeCouponWin(Long uid, CouponTypeEnum typeEnum, String source, int num, boolean notify)
|
| | | throws UserSystemCouponException, Exception {
|
| | | if (typeEnum == null || uid == null || StringUtil.isNullOrEmpty(source) || num < 1) {
|
| | | throw new UserSystemCouponException(1, "参数不正确");
|
| | | }
|
| | |
| | | public void run() {
|
| | | if (notify) { // 消息推送
|
| | | try {
|
| | | userOtherMsgNotificationService.freeCouponWinMsg(uid, typeEnum.getDesc(), source, |
| | | num, "成功获得", nowTime, endTime);
|
| | | userOtherMsgNotificationService.freeCouponWinMsg(uid, typeEnum.getDesc(), source, num, "成功获得",
|
| | | nowTime, endTime);
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
| | | return userSystemCoupon;
|
| | | }
|
| | |
|
| | | |
| | |
|
| | | @Override
|
| | | @Transactional(rollbackFor=Exception.class)
|
| | | public UserSystemCoupon rewardCouponWin(Long uid, String source, int num, boolean notify, |
| | | BigDecimal percent) throws UserSystemCouponException, Exception{
|
| | | public UserSystemCoupon rewardCouponWin(Long uid, String source, int num, boolean notify, BigDecimal percent)
|
| | | throws UserSystemCouponException, Exception {
|
| | | if (uid == null || percent == null|| StringUtil.isNullOrEmpty(source) || num < 1) {
|
| | | throw new UserSystemCouponException(1, "参数不正确");
|
| | | }
|
| | |
| | |
|
| | | return userSystemCoupon;
|
| | | }
|
| | | |
| | | |
| | | |
| | | |
| | |
|
| | | @Transactional(rollbackFor=Exception.class)
|
| | | @Override
|
| | |
| | | return userSystemCouponMapper.countUsableByUid(uid, listCouponId);
|
| | | }
|
| | |
|
| | | |
| | | @Override
|
| | | public long countGiveFreeCoupon(Long uid) {
|
| | | if (uid == null)
|
| | |
| | |
|
| | | return userSystemCouponMapper.countUsableByUid(uid, listCouponId);
|
| | | }
|
| | |
|
| | | |
| | |
|
| | | @Override
|
| | | public long countUsableRewardCoupon(Long uid) {
|
| | |
| | | throw new UserSystemCouponException(1, "亲,很遗憾,售后维权订单不能使用返利奖励券~");
|
| | | }
|
| | |
|
| | | |
| | | // 订单
|
| | | List<CommonOrderVO> listVo = commonOrderService.listGroupOrderNoByUid(0, 1, uid, 2, 1,1, orderNo, null, |
| | | null, null, sourceType);
|
| | | List<CommonOrderVO> listVo = commonOrderService.listGroupOrderNoByUid(0, 1, uid, 2, 1, 1, orderNo, null, null,
|
| | | null, sourceType);
|
| | | if (listVo == null || listVo.size() == 0)
|
| | | throw new UserSystemCouponException(1, "亲,很遗憾,该订单已不能使用返利奖励券~");
|
| | |
|
| | |
| | | // 2.插入关联
|
| | | orderHongBaoMapService.addOrderHongBaoMap(hongBaoV2, order);
|
| | |
|
| | | // 计算该订单原有返利
|
| | | List<HongBaoOrder> hongBaoOrderlist = hongBaoOrderService
|
| | | .listDetailByOrderIdAndSourceType(order.getOrderId(), order.getOrderType());
|
| | | BigDecimal originalMoney = new BigDecimal(0);
|
| | | if (hongBaoOrderlist != null)
|
| | | for (HongBaoOrder ho : hongBaoOrderlist) {
|
| | | if (ho.getHongBaoV2() != null && ho.getHongBaoV2().getState() == HongBaoV2.STATE_YILINGQU)
|
| | | originalMoney = originalMoney.add(ho.getHongBaoV2().getMoney());
|
| | | }
|
| | |
|
| | | // 3.插入资金明细,用户余额
|
| | | UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createOrderReward(order.getOrderId(),
|
| | | order.getOrderType(), money, new UserInfo(uid));
|
| | | order.getOrderType(), money, originalMoney, new UserInfo(uid));
|
| | | userMoneyDetailService.addUserMoneyDetail(userMoneyDetail);
|
| | | userInfoService.addMoney(new UserInfo(uid), money);
|
| | |
|
| | |
| | | return userRecordVO;
|
| | | }
|
| | |
|
| | |
|
| | | @Transactional(rollbackFor=Exception.class)
|
| | | @Override
|
| | | public void updateStateByDrawback(String orderNo) throws Exception {
|
| | |
| | | record.setState(UserSystemCouponRecord.STATE_SUCCESS);
|
| | | userSystemCouponRecordService.updateByPrimaryKeySelective(record);
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | public List<UserSystemCoupon> getCounponNowInvalid(int count) {
|
| | |
| | |
|
| | | return isfree;
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | /**
|
| | | * 随机券比例
|
| | |
| | | continue;
|
| | | }
|
| | |
|
| | | |
| | | try { // 消息推送
|
| | | Long uid = userCoupon.getUid();
|
| | | String source = userCoupon.getSource();
|
| | | if (baseCoupon.getType() == CouponTypeEnum.freeCoupon || baseCoupon.getType() == CouponTypeEnum.freeCouponBuy) {
|
| | | if (baseCoupon.getType() == CouponTypeEnum.freeCoupon
|
| | | || baseCoupon.getType() == CouponTypeEnum.freeCouponBuy) {
|
| | | userOtherMsgNotificationService.freeCouponEndMsg(uid, "自购免单券", source, 1, "已过期");
|
| | | } else if (baseCoupon.getType() == CouponTypeEnum.freeCouponGive) {
|
| | | userOtherMsgNotificationService.freeCouponEndMsg(uid, "赠送免单券", source, 1, "已过期");
|
| | | } if (baseCoupon.getType() == CouponTypeEnum.rebatePercentCoupon) {
|
| | | }
|
| | | if (baseCoupon.getType() == CouponTypeEnum.rebatePercentCoupon) {
|
| | | userOtherMsgNotificationService.rewardCouponEndMsg(uid, source, 1, "已过期");
|
| | | }
|
| | | } catch (Exception e) {
|
| | |
| | | userOtherMsgNotificationService.freeCouponWinMsg(uid, type.getDesc(), source, 1, "使用退回",
|
| | | userCoupon.getStartTime(), userCoupon.getEndTime());
|
| | | } else if (CouponTypeEnum.rebatePercentCoupon == systemCoupon.getType()) {
|
| | | userOtherMsgNotificationService.rewardCouponWinMsg(uid, source, 1, "使用退回",
|
| | | userCoupon.getStartTime(), userCoupon.getEndTime());
|
| | | userOtherMsgNotificationService.rewardCouponWinMsg(uid, source, 1, "使用退回", userCoupon.getStartTime(),
|
| | | userCoupon.getEndTime());
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | userOtherMsgNotificationService.freeCouponWinMsg(uid, type.getDesc(), source, 1, "使用退回",
|
| | | userCoupon.getStartTime(), userCoupon.getEndTime());
|
| | | } else if (CouponTypeEnum.rebatePercentCoupon == systemCoupon.getType()) {
|
| | | userOtherMsgNotificationService.rewardCouponWinMsg(uid, source, 1, "使用退回",
|
| | | userCoupon.getStartTime(), userCoupon.getEndTime());
|
| | | userOtherMsgNotificationService.rewardCouponWinMsg(uid, source, 1, "使用退回", userCoupon.getStartTime(),
|
| | | userCoupon.getEndTime());
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | // 过期券
|
| | | updateInvalidSate(uid);
|
| | |
|
| | | List<UserSystemCouponVO> listCoupon = userSystemCouponMapper.getValidByUidAndType(uid, CouponTypeEnum.rebatePercentCoupon.name());
|
| | | List<UserSystemCouponVO> listCoupon = userSystemCouponMapper.getValidByUidAndType(uid,
|
| | | CouponTypeEnum.rebatePercentCoupon.name());
|
| | | if (listCoupon == null || listCoupon.size() == 0)
|
| | | return false;
|
| | | return true;
|
| | | }
|
| | |
|
| | |
|
| | | @Override
|
| | | public List<UserSystemCouponVO> listIncludeNotExchange(Long uid) throws Exception {
|
| | |
| | | // 退回券
|
| | | sendBackTimeOutCoupon(uid);
|
| | |
|
| | |
|
| | | List<UserSystemCouponVO> listCoupon = userSystemCouponMapper.getValidByUidAndType(uid, CouponTypeEnum.rebatePercentCoupon.name());
|
| | | List<UserSystemCouponVO> listCoupon = userSystemCouponMapper.getValidByUidAndType(uid,
|
| | | CouponTypeEnum.rebatePercentCoupon.name());
|
| | | if (listCoupon == null || listCoupon.size() == 0)
|
| | | return null;
|
| | |
|
| | |
| | | public void run() {
|
| | | Long uid = coupon.getUid();
|
| | | String source = coupon.getSource();
|
| | | userOtherMsgNotificationService.freeCouponWinMsg(uid, "自购免单券", source, 1,
|
| | | "激活成功", nowDate, endTime);
|
| | | userOtherMsgNotificationService.freeCouponWinMsg(uid, "自购免单券", source, 1, "激活成功", nowDate, endTime);
|
| | | }
|
| | | });
|
| | | } catch (Exception e) {
|