| | |
| | | import com.yeshi.fanli.entity.bus.user.UserInfo;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
|
| | | import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
|
| | | import com.yeshi.fanli.entity.bus.user.UserSystemCouponGiveRecord;
|
| | | import com.yeshi.fanli.entity.bus.user.UserSystemCouponRecord;
|
| | | import com.yeshi.fanli.entity.common.JumpDetailV2;
|
| | | import com.yeshi.fanli.entity.money.UserMoneyDetail;
|
| | |
| | | import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
|
| | | import com.yeshi.fanli.service.inter.user.UserInfoService;
|
| | | import com.yeshi.fanli.service.inter.user.UserMoneyDetailService;
|
| | | import com.yeshi.fanli.service.inter.user.UserSystemCouponGiveRecordService;
|
| | | import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
|
| | | import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.MoneyBigDecimalUtil;
|
| | | import com.yeshi.fanli.util.RedisManager;
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | | import com.yeshi.fanli.util.account.UserUtil;
|
| | | import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
|
| | | import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
| | |
| | | @Resource
|
| | | private UserSystemCouponMapper userSystemCouponMapper;
|
| | |
|
| | | @Resource
|
| | | private UserSystemCouponGiveRecordService userSystemCouponGiveRecordService;
|
| | | |
| | | @Resource
|
| | | private ConfigService configService;
|
| | |
|
| | |
| | | if (type != CouponTypeEnum.freeCouponGive && type != CouponTypeEnum.rebatePercentCoupon )
|
| | | throw new UserSystemCouponException(1, "该券不支持赠送");
|
| | |
|
| | | TokenTypeEnum tokenTypeEnum = null;
|
| | | if (type == CouponTypeEnum.freeCouponGive) {
|
| | | tokenTypeEnum = TokenTypeEnum.freeCoupon;
|
| | | } else if (type == CouponTypeEnum.rebatePercentCoupon){
|
| | | tokenTypeEnum = TokenTypeEnum.rebatePercentCoupon;
|
| | | } else {
|
| | | throw new UserSystemCouponException(1, "该券不支持赠送");
|
| | | }
|
| | |
|
| | | Date startTime = new Date();
|
| | | Date endTime = DateUtil.plusDayDate(3, new Date());
|
| | | String token = null;
|
| | | Date nowDate = new Date();
|
| | | TokenRecord record = tokenRecordService.getNearByTypeAndIdentify(tokenTypeEnum.name(), id+"");
|
| | | if (record != null && record.getEndTime().getTime() > nowDate.getTime()) {
|
| | | token = record.getToken();
|
| | | } else {
|
| | | for (int i = 0; i < 5; i++) {
|
| | | try {
|
| | | // TODO 口令生成规则待定
|
| | | long num = 10000 + (long) (Math.random() * 10000);
|
| | | token = UserUtil.getInviteCode(num);
|
| | | |
| | | TokenRecord tokenRecord = new TokenRecord();
|
| | | tokenRecord.setUid(uid);
|
| | | tokenRecord.setIdentify(id+"");
|
| | | tokenRecord.setType(tokenTypeEnum);
|
| | | tokenRecord.setStartTime(nowDate);
|
| | | tokenRecord.setEndTime(DateUtil.plusDayDate(3, nowDate));
|
| | | tokenRecord.setToken(token);
|
| | | tokenRecord.setState(0);
|
| | | tokenRecordService.insertSelective(tokenRecord);
|
| | | } catch (Exception e) {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | token = null;
|
| | | }
|
| | | |
| | | if(!StringUtil.isNullOrEmpty(token)) {
|
| | | break;
|
| | | }
|
| | | }
|
| | | |
| | | if(StringUtil.isNullOrEmpty(token))
|
| | | throw new UserSystemCouponException(1, "口令生成失败");
|
| | | |
| | | // 插入赠送记录
|
| | | UserSystemCouponGiveRecord giveRecord = new UserSystemCouponGiveRecord();
|
| | | giveRecord.setCouponId(id);
|
| | | giveRecord.setGiveUid(uid);
|
| | | giveRecord.setGiveTime(nowDate);
|
| | | userSystemCouponGiveRecordService.insertSelective(giveRecord);
|
| | | }
|
| | |
|
| | | long num = 10000 + (long) (Math.random() * 10000);
|
| | | String token = UserUtil.getInviteCode(num);
|
| | | |
| | | TokenRecord tokenRecord = new TokenRecord();
|
| | | tokenRecord.setUid(uid);
|
| | | tokenRecord.setIdentify(id+"");
|
| | | tokenRecord.setType(TokenTypeEnum.coupon);
|
| | | tokenRecord.setEndTime(endTime);
|
| | | tokenRecord.setStartTime(startTime);
|
| | | tokenRecord.setToken(token);
|
| | | tokenRecord.setState(state);
|
| | | tokenRecordService.insertSelective(tokenRecord);
|
| | | |
| | | if(StringUtil.isNullOrEmpty(token))
|
| | | throw new UserSystemCouponException(1, "口令生成失败");
|
| | |
|
| | | String tips = "送给你一张返利奖励券快去领取吧,复制本条消息[&%s&],打开[返利券]App领取,使用后可让返利加倍。\r\n"
|
| | | +"----------------------------\r\n"
|
| | | + "下载[返利券]App链接:http://t.cn/2H7AXAH\r\n"
|
| | | + "下载[返利券]App链接:%s\r\n"
|
| | | + "PS:口令将会24小时内失效,请及时领取。";
|
| | |
|
| | | tips = String.format(tips, token);
|
| | | tips = String.format(tips, token, configService.get("app_down_link"));
|
| | |
|
| | | return tips;
|
| | | }
|