| | |
| | | try { |
| | | goldCornManager.drawbackGoldCorn(record); |
| | | } catch (Exception e) { |
| | | throw new GoldCornException(1, "影视豆退款成功"); |
| | | throw new GoldCornException(1, "影视豆退款失败"); |
| | | } |
| | | } |
| | | |
| | |
| | | record.setState(OrderRecord.STATE_CANCEL); |
| | | record.setUpdateTime(new Date()); |
| | | record.setRemarks(reason); |
| | | vipOrderRecordDao.update(record); |
| | | session.update(record); |
| | | orderLogger.info("取消订单成功:id-{}", id); |
| | | } |
| | | |
| | | @Override |
| | | public List<OrderRecord> getCanCancelOrderList(int page, int pageSize) { |
| | | |
| | | OrderRecordDao.DaoQuery daoQuery = new OrderRecordDao.DaoQuery(); |
| | | daoQuery.state = OrderRecord.STATE_NOT_PAY; |
| | | //30分钟未支付取消订单 |
| | | daoQuery.maxCreateTime = new Date(System.currentTimeMillis() - 1000 * 60 * 30); |
| | | daoQuery.minCreateTime = new Date(daoQuery.maxCreateTime.getTime() - 1000 * 60 * 60L * 24); |
| | | |
| | | return vipOrderRecordDao.list(daoQuery); |
| | | } |
| | | |
| | | |
| | |
| | | return record; |
| | | |
| | | switch (record.getPayWay()) { |
| | | case OrderRecord.PAY_WAY_ALIPAY_GOLDCORN: |
| | | case OrderRecord.PAY_WAY_ALIPAY: { |
| | | //支付宝 |
| | | AlipayTradeQueryResponse res = null; |
| | |
| | | } |
| | | |
| | | break; |
| | | case OrderRecord.PAY_WAY_WX_GOLDCORN: |
| | | case OrderRecord.PAY_WAY_WX: { |
| | | //微信 |
| | | try { |
| | |
| | | UserVIPInfo vip = new UserVIPInfo(); |
| | | vip.setUid(uid); |
| | | vip.setCreateTime(new Date()); |
| | | vip.setExpireDate(getExpireTime(payTime, null, type)); |
| | | |
| | | Date[] expireDate = getExpireTime(payTime, null, type); |
| | | vip.setExpireDate(expireDate[1]); |
| | | session.save(vip); |
| | | return new Date[]{payTime, vip.getExpireDate()}; |
| | | return expireDate; |
| | | } else { |
| | | //修改 |
| | | UserVIPInfo vipInfo = (UserVIPInfo) list.get(0); |
| | | Date expireDate = getExpireTime(payTime, vipInfo.getExpireDate(), type); |
| | | session.createQuery("update UserVIPInfo i set i.expireDate=? ,i.updateTime=? where i.uid=?").setParameter(0, expireDate).setParameter(1, new Date()).setParameter(2, uid).executeUpdate(); |
| | | Date[] expireDate = getExpireTime(payTime, vipInfo.getExpireDate(), type); |
| | | session.createQuery("update UserVIPInfo i set i.expireDate=? ,i.updateTime=? where i.uid=?").setParameter(0, expireDate[1]).setParameter(1, new Date()).setParameter(2, uid).executeUpdate(); |
| | | |
| | | return new Date[]{vipInfo.getExpireDate() == null ? new Date() : vipInfo.getExpireDate(), expireDate}; |
| | | return expireDate; |
| | | } |
| | | } |
| | | |
| | |
| | | * @param type |
| | | * @return |
| | | */ |
| | | private Date getExpireTime(Date payTime, Date expireTime, VIPPriceType type) { |
| | | private Date[] getExpireTime(Date payTime, Date expireTime, VIPPriceType type) { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | if (expireTime != null) { |
| | | calendar.setTimeInMillis(expireTime.getTime()); |
| | | //之前续期时间是否大于付款时间 |
| | | if (payTime.getTime() < expireTime.getTime()) |
| | | calendar.setTimeInMillis(expireTime.getTime()); |
| | | else |
| | | calendar.setTimeInMillis(payTime.getTime()); |
| | | } else { |
| | | calendar.setTimeInMillis(payTime.getTime()); |
| | | } |
| | | long startTime = calendar.getTimeInMillis(); |
| | | if (type == VIPPriceType.day) { |
| | | calendar.add(Calendar.DAY_OF_WEEK, 1); |
| | | } else if (type == VIPPriceType.week) { |
| | |
| | | } else if (type == VIPPriceType.year) { |
| | | calendar.add(Calendar.YEAR, 1); |
| | | } |
| | | return new Date(calendar.getTimeInMillis()); |
| | | return new Date[]{new Date(startTime), new Date(calendar.getTimeInMillis())}; |
| | | } |
| | | |
| | | |