| | |
| | | import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService;
|
| | | import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinReportService;
|
| | | import com.yeshi.fanli.service.inter.user.TokenRecordService;
|
| | | import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
|
| | | import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
|
| | | import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.MoneyBigDecimalUtil;
|
| | | import com.yeshi.fanli.util.RedisManager;
|
| | |
| | | import com.yeshi.fanli.util.TaoBaoConstant;
|
| | | import com.yeshi.fanli.util.TokenUtil;
|
| | | import com.yeshi.fanli.util.factory.CommonGoodsFactory;
|
| | | import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoLiJinUtil;
|
| | | import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
|
| | |
| | |
|
| | | @Resource
|
| | | private RedisManager redisManager;
|
| | | |
| | |
|
| | | @Resource
|
| | | private ConfigService configService;
|
| | |
|
| | |
| | |
|
| | | @Resource
|
| | | private ShareHotGoodsService shareHotGoodsService;
|
| | | |
| | |
|
| | | @Resource
|
| | | private TokenRecordService tokenRecordService;
|
| | | |
| | |
|
| | | @Resource
|
| | | private UserTaoLiJinGiveRecordService userTaoLiJinGiveRecordService;
|
| | | |
| | |
|
| | | @Override
|
| | | public UserTaoLiJinRecord selectByPrimaryKey(Long id) {
|
| | | return userTaoLiJinRecordMapper.selectByPrimaryKey(id);
|
| | |
| | | // 新人红包 自购一元
|
| | | BigDecimal perface = new BigDecimal(1);
|
| | |
|
| | | if (goods.getMaterialLibType() == null || goods.getMaterialLibType() == 0) {// 非返利库商品
|
| | | if (!TaoBaoUtil.isSpecialGoods(goods.getMaterialLibType())) {// 非返利库商品
|
| | | String relationId = null;
|
| | | try {
|
| | | relationId = taoBaoBuyRelationMapService.getRelationId(uid);
|
| | |
| | | public UserTaoLiJinRecord getByRightsId(String rightsId) {
|
| | | return userTaoLiJinRecordMapper.getByRightsId(rightsId);
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | public String giveTaolijin(Long uid, BigDecimal amount) throws UserTaoLiJinRecordException{
|
| | | if (uid == null || amount == null) |
| | | throw new UserTaoLiJinRecordException(1,"参数不正确");
|
| | | |
| | | public String giveTaolijin(Long uid, BigDecimal amount) throws UserTaoLiJinRecordException {
|
| | | if (uid == null || amount == null)
|
| | | throw new UserTaoLiJinRecordException(1, "参数不正确");
|
| | |
|
| | | String giveMin = configTaoLiJinService.getValueByKey("give_min_amount");
|
| | | if (amount.compareTo(new BigDecimal(giveMin)) < 0)
|
| | | throw new UserTaoLiJinRecordException(1,"赠送推广红包金额至少" + giveMin + "元");
|
| | | |
| | | throw new UserTaoLiJinRecordException(1, "赠送推广红包金额至少" + giveMin + "元");
|
| | |
|
| | | // 用户剩余可以淘礼金验证
|
| | | UserMoneyExtra userMoneyExtra = userMoneyExtraService.selectByPrimaryKey(uid);
|
| | | if (userMoneyExtra == null || userMoneyExtra.getTlj() == null)
|
| | | throw new UserTaoLiJinRecordException(1, "红包余额不足");
|
| | | |
| | |
|
| | | BigDecimal tlj = userMoneyExtra.getTlj();
|
| | | if (amount.compareTo(tlj) > 0)
|
| | | throw new UserTaoLiJinRecordException(1, "红包余额不足");
|
| | | |
| | |
|
| | | Date nowDate = new Date();
|
| | | // 赠送记录
|
| | | UserTaoLiJinGiveRecord giveRecord = new UserTaoLiJinGiveRecord();
|
| | |
| | | giveRecord.setGiveTime(nowDate);
|
| | | giveRecord.setEndTime(DateUtil.plusDayDate(Constant.GIVE_DAYS, new Date()));
|
| | | userTaoLiJinGiveRecordService.insertSelective(giveRecord);
|
| | | |
| | |
|
| | | // 口令记录
|
| | | TokenRecord tokenRecord = new TokenRecord();
|
| | | tokenRecord.setUid(uid);
|
| | |
| | | tokenRecord.setEndTime(DateUtil.plusDayDate(Constant.TOKEN_DAYS, new Date()));
|
| | | tokenRecord.setState(0);
|
| | | tokenRecordService.insertSelective(tokenRecord);
|
| | | |
| | |
|
| | | // 创建口令
|
| | | String token = TokenUtil.createToken(tokenRecord.getId());
|
| | | tokenRecord.setToken(token);
|
| | | tokenRecordService.updateByPrimaryKeySelective(tokenRecord);
|
| | | |
| | |
|
| | | // 更新余额
|
| | | UserMoneyExtra updateExtra = new UserMoneyExtra();
|
| | | updateExtra.setUid(uid);
|
| | | updateExtra.setTlj(MoneyBigDecimalUtil.sub(tlj, amount));
|
| | | updateExtra.setUpdateTime(new Date());
|
| | | userMoneyExtraService.updateByPrimaryKeySelective(updateExtra);
|
| | | |
| | |
|
| | | String tips = configTaoLiJinService.getValueByKey("give_taolijin_tips");
|
| | | String projectChineseName = Constant.systemCommonConfig.getProjectChineseName();
|
| | | while(tips.contains("{APP名称}")) {
|
| | | while (tips.contains("{APP名称}")) {
|
| | | tips = tips.replace("{APP名称}", projectChineseName);
|
| | | }
|
| | | tips = tips.replace("{口令}", token).replace("{下载链接}", configService.get("app_down_link"))
|
| | | .replace("{面额}", amount.setScale(0).toString());
|
| | | |
| | | tips = tips.replace("{口令}", token).replace("{下载链接}", configService.get("app_down_link")).replace("{面额}",
|
| | | amount.setScale(0).toString());
|
| | |
|
| | | executor.execute(new Runnable() {
|
| | | @Override
|
| | | public void run() {
|
| | |
| | | }
|
| | | }
|
| | | });
|
| | | |
| | |
|
| | | return tips;
|
| | | }
|
| | | |
| | |
|
| | | }
|