| | |
| | | import com.aliyun.openservices.ons.api.transaction.LocalTransactionExecuter;
|
| | | import com.aliyun.openservices.ons.api.transaction.TransactionProducer;
|
| | | import com.aliyun.openservices.ons.api.transaction.TransactionStatus;
|
| | | import com.google.gson.Gson;
|
| | | import com.yeshi.fanli.dao.mybatis.user.UserSystemCouponMapper;
|
| | | import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
|
| | | import com.yeshi.fanli.dto.mq.user.body.UserSystemCouponUseMQMsg;
|
| | |
| | | import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
|
| | | import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
|
| | | import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
|
| | | import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.MoneyBigDecimalUtil;
|
| | | import com.yeshi.fanli.util.RedisManager;
|
| | |
| | |
|
| | | @Resource(name = "producer")
|
| | | private Producer producer;
|
| | | |
| | | @Resource
|
| | | private UserVIPInfoService userVIPInfoService;
|
| | |
|
| | |
|
| | |
|
| | |
| | | } else {
|
| | | coupon = systemCouponService.getCouponByTypeAndPercent(couponType, percent);
|
| | | }
|
| | | } else if (couponType.equals(CouponTypeEnum.freeCouponGive.name())) {
|
| | | coupon = systemCouponService.getCouponByType(couponType);
|
| | | }
|
| | |
|
| | | if (coupon == null) {
|
| | |
| | | jumpBtn.put("params", jumpLink);
|
| | | jumpBtn.put("jumpDetail", jumpDetailV2Service.getByTypeCache("web"));
|
| | | } else if (CouponTypeEnum.rebatePercentCoupon == type) {
|
| | | // 可使用、 可赠送
|
| | | userCouponVO.setState(UserSystemCoupon.STATE_USE_GIVE);
|
| | |
|
| | | // 订单列表
|
| | | jumpLink.put("state", "2"); // 已收货
|
| | | jumpLink.put("showNav", false); // 不显示上方统计信息
|
| | | jumpLink.put("type", "1"); // 返利订单
|
| | | jumpLink.put("title", "返利订单"); // 标题名
|
| | | jumpLink.put("goodsType", "0"); // 订单来源
|
| | | jumpBtn = new HashMap<String, Object>();
|
| | | jumpBtn.put("params", jumpLink);
|
| | | jumpBtn.put("jumpDetail", jumpDetailV2Service.getByTypeCache("order_screen_list"));
|
| | | if (userVIPInfoService.isVIP(uid)) { // 会员只可赠送
|
| | | userCouponVO.setState(UserSystemCoupon.STATE_GIVE_ONLY);
|
| | | } else {// 可使用 可赠送
|
| | | userCouponVO.setState(UserSystemCoupon.STATE_USE_GIVE);
|
| | | |
| | | jumpLink.put("state", "2"); // 已收货
|
| | | jumpLink.put("showNav", false); // 不显示上方统计信息
|
| | | jumpLink.put("type", "1"); // 返利订单
|
| | | jumpLink.put("title", "返利订单"); // 标题名
|
| | | jumpLink.put("goodsType", "0"); // 订单来源
|
| | | jumpBtn = new HashMap<String, Object>();
|
| | | jumpBtn.put("params", jumpLink);
|
| | | jumpBtn.put("jumpDetail", jumpDetailV2Service.getByTypeCache("order_screen_list"));
|
| | | }
|
| | | }
|
| | | } else if (UserSystemCoupon.STATE_IN_USE == state && give) {
|
| | | userCouponVO.setCouponEffect("赠送中");
|
| | |
| | | }
|
| | |
|
| | | @Override
|
| | | public boolean getIncludeExchange(Long uid) {
|
| | | public boolean getValidRebateCoupon(Long uid) {
|
| | | // 过期券
|
| | | updateInvalidSate(uid);
|
| | |
|
| | | String percent = configService.get("exchange_rebate_percent");
|
| | | if (StringUtil.isNullOrEmpty(percent))
|
| | | percent = "35";
|
| | | List<UserSystemCoupon> listCoupon = userSystemCouponMapper.getIncludeExchange(uid, Integer.parseInt(percent),
|
| | | CouponTypeEnum.rebatePercentCoupon.name());
|
| | | |
| | | List<UserSystemCouponVO> listCoupon = userSystemCouponMapper.getValidByUidAndType(uid, CouponTypeEnum.rebatePercentCoupon.name());
|
| | | if (listCoupon == null || listCoupon.size() == 0)
|
| | | return false;
|
| | | return true;
|
| | | }
|
| | |
|
| | | @Override
|
| | | public boolean getIncludeNotExchange(Long uid) {
|
| | | // 过期券
|
| | | updateInvalidSate(uid);
|
| | |
|
| | | String percent = configService.get("exchange_rebate_percent");
|
| | | if (StringUtil.isNullOrEmpty(percent))
|
| | | percent = "35";
|
| | | List<UserSystemCouponVO> listCoupon = userSystemCouponMapper.getIncludeNotExchange(uid,
|
| | | Integer.parseInt(percent), CouponTypeEnum.rebatePercentCoupon.name());
|
| | | if (listCoupon == null || listCoupon.size() == 0)
|
| | | return false;
|
| | | return true;
|
| | | }
|
| | |
|
| | | @Override
|
| | | public List<UserSystemCouponVO> listIncludeNotExchange(Long uid) throws Exception {
|
| | |
| | | // 退回券
|
| | | sendBackTimeOutCoupon(uid);
|
| | |
|
| | | String percent = configService.get("exchange_rebate_percent");
|
| | | if (StringUtil.isNullOrEmpty(percent))
|
| | | percent = "35";
|
| | |
|
| | | List<UserSystemCouponVO> listCoupon = userSystemCouponMapper.getIncludeNotExchange(uid,
|
| | | Integer.parseInt(percent), CouponTypeEnum.rebatePercentCoupon.name());
|
| | | List<UserSystemCouponVO> listCoupon = userSystemCouponMapper.getValidByUidAndType(uid, CouponTypeEnum.rebatePercentCoupon.name());
|
| | | if (listCoupon == null || listCoupon.size() == 0)
|
| | | return null;
|
| | |
|