| | |
| | | import com.ks.lijin.exception.TaoKeApiException; |
| | | import com.ks.lijin.mapper.LiJinExpendRecordMapper; |
| | | import com.ks.lijin.pojo.DO.LiJinExpendRecord; |
| | | import com.ks.lijin.pojo.DO.LiJinProviderAccount; |
| | | import com.ks.lijin.pojo.DO.LiJinProviderNotice; |
| | | import com.ks.lijin.pojo.DTO.LiJinCreateParam; |
| | | import com.ks.lijin.pojo.DTO.taobao.TaoBaoGoodsBrief; |
| | | import com.ks.lijin.pojo.DTO.taobao.TaoKeAppInfo; |
| | | import com.ks.lijin.pojo.DTO.taobao.TaoLiJinDTO; |
| | | import com.ks.lijin.pojo.Enums.NoticeTypeEnum; |
| | | import com.ks.lijin.query.ExpendRecordQuery; |
| | | import com.ks.lijin.service.LiJinExpendRecordService; |
| | | import com.ks.lijin.service.LiJinProviderAccountService; |
| | | import com.ks.lijin.service.LiJinProviderNoticeService; |
| | | import com.ks.lijin.utils.taobao.TaoKeApiUtil; |
| | | import org.apache.dubbo.config.annotation.Service; |
| | | import org.springframework.core.task.TaskExecutor; |
| | |
| | | @Resource |
| | | private LiJinExpendRecordMapper liJinExpendRecordMapper; |
| | | |
| | | @Resource |
| | | private LiJinProviderNoticeService liJinProviderNoticeService; |
| | | |
| | | @Resource |
| | | private LiJinProviderAccountService liJinProviderAccountService; |
| | | |
| | | @Override |
| | | public long count(LiJinExpendRecord obj) { |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public LiJinExpendRecord createLiJin(Long uid, BigDecimal money, TaoBaoGoodsBrief goods) |
| | | public LiJinExpendRecord createLiJin(String uid, BigDecimal money, TaoBaoGoodsBrief goods) |
| | | throws LiJinExpendRecordException { |
| | | |
| | | // TODO 验证次数 |
| | | int expendNum = countTodayNumByExpend(uid); |
| | | // TODO 验证金额 |
| | | BigDecimal bigDecimal = countTodayMoneyByExpend(uid); |
| | | |
| | | |
| | | Date date = new Date(); |
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); |
| | | SimpleDateFormat formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | |
| | | params.setSendEndTime(sendEndTime); |
| | | params.setNum(1); |
| | | params.setMoney(money); |
| | | |
| | | // params.setPid(); // pid缺少 TODO |
| | | // params.setAppkey(); |
| | | // params.setAppsecret(); |
| | | |
| | | return createTaoLiJin(params); |
| | | } |
| | |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public LiJinExpendRecord createTaoLiJin(LiJinCreateParam params) throws LiJinExpendRecordException { |
| | | |
| | | String appkey = ""; |
| | | String appsecret = ""; |
| | | |
| | | // 总金额 |
| | | //BigDecimal totalMoney = BigDecimalUtil.mul(params.getMoney(), new BigDecimal(params.getNum())); |
| | | String appkey =params.getAppkey(); |
| | | String appsecret = params.getAppsecret(); |
| | | |
| | | // 创建淘礼金红包 |
| | | TaoLiJinDTO taoLiJinDTO = null; |
| | |
| | | executor.execute(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | LiJinProviderAccount account = liJinProviderAccountService.getByAppInfo(appkey, appsecret); |
| | | if (account == null) { |
| | | return; |
| | | } |
| | | |
| | | LiJinProviderNotice notice = new LiJinProviderNotice(); |
| | | notice.setRead(false); |
| | | notice.setProviderId(account.getProviderId()); |
| | | |
| | | if (e.getCode() == LiJinException.CODE_TLJ_FORBIDDEN) { |
| | | // 该商品不支持创建淘礼金红包 |
| | | } else if (e.getCode() == LiJinException.CODE_TLJ_NO_MONEY) { |
| | | // 官方玩法钱包余额不足 |
| | | notice.setTitle("玩法钱包余额不足"); |
| | | notice.setContent("账号:"+ appkey +"官方玩法钱包余额不足"); |
| | | notice.setType(NoticeTypeEnum.noMoney.name()); |
| | | liJinProviderNoticeService.save(notice); |
| | | } else if (e.getCode() == LiJinException.CODE_TLJ_UN_PAID) { |
| | | // 未创建账户 |
| | | } |
| | |
| | | record.setCreateTime(new Date()); |
| | | liJinExpendRecordMapper.insertSelective(record); |
| | | |
| | | executor.execute(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | // 更新对应 限制次数和金额 |
| | | } |
| | | }); |
| | | return record; |
| | | } |
| | | |
| | | @Override |
| | | public int countTodayNumByExpend(String uid) { |
| | | return liJinExpendRecordMapper.countTodayNumByExpend(uid); |
| | | } |
| | | |
| | | @Override |
| | | public BigDecimal countTodayMoneyByExpend(String uid) { |
| | | return liJinExpendRecordMapper.countTodayMoneyByExpend(uid); |
| | | } |
| | | |
| | | } |