|
@@ -615,6 +615,13 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
if (relationId == null || relationId <= 0 || renewSkuId == null || payRequest.getNum() == null) {
|
|
if (relationId == null || relationId <= 0 || renewSkuId == null || payRequest.getNum() == null) {
|
|
|
throw new BusinessRuntimeException("缺少必填参数");
|
|
throw new BusinessRuntimeException("缺少必填参数");
|
|
|
}
|
|
}
|
|
|
|
|
+ //是否有其他规格的续费订单 若有请先关闭
|
|
|
|
|
+ Integer count = orderDonMapper.selectCount(Wrappers.lambdaQuery(OrderDon.class)
|
|
|
|
|
+ .eq(OrderDon::getRelationId, payRequest.getRelationId())
|
|
|
|
|
+ .eq(OrderDon::getStatus, OrderDon.Status.noPayment).eq(OrderDon::getOrderType, 2));
|
|
|
|
|
+ if (count > 0) {
|
|
|
|
|
+ throw BusinessRuntimeException.getInstance("您有该车票未支付的续费订单..");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
GoodsDonSku sku = goodsDonSkuMapper.selectById(renewSkuId);
|
|
GoodsDonSku sku = goodsDonSkuMapper.selectById(renewSkuId);
|
|
|
|
|
|
|
@@ -1027,6 +1034,14 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
}
|
|
}
|
|
|
if (relation != null) {
|
|
if (relation != null) {
|
|
|
Date expiryTime = relation.getExpiryTime();
|
|
Date expiryTime = relation.getExpiryTime();
|
|
|
|
|
+
|
|
|
|
|
+ if (orderDon.getIsChangeTicket()) {
|
|
|
|
|
+ UserRenewChangeTicketRecord record = userRenewChangeTicketRecordMapper.selectOne(Wrappers.lambdaQuery(UserRenewChangeTicketRecord.class)
|
|
|
|
|
+ .eq(UserRenewChangeTicketRecord::getRenewOrderId, orderDon.getId()).last("limit 1"));
|
|
|
|
|
+ if (record != null && relationId.equals(record.getPreRelationId())) {
|
|
|
|
|
+ relation = groupsRelationMapper.selectById(record.getAfterRelationId());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
if (isFlag) {
|
|
if (isFlag) {
|
|
|
relation.setUserId(0l);
|
|
relation.setUserId(0l);
|
|
|
relation.setStatus(GroupsRelation.Status.none);
|
|
relation.setStatus(GroupsRelation.Status.none);
|
|
@@ -1805,7 +1820,6 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
* @param afterSku 续费之后的规格
|
|
* @param afterSku 续费之后的规格
|
|
|
*/
|
|
*/
|
|
|
private void changeTicketAndRecord(Long preSkuId, Long preRelationId, Long orderId, Integer num, GoodsDonSku afterSku, Long userId) {
|
|
private void changeTicketAndRecord(Long preSkuId, Long preRelationId, Long orderId, Integer num, GoodsDonSku afterSku, Long userId) {
|
|
|
- Long afterSkuId = afterSku.getId();
|
|
|
|
|
//清理之前的车票
|
|
//清理之前的车票
|
|
|
GroupsRelation relation = groupsRelationMapper.selectById(preRelationId);
|
|
GroupsRelation relation = groupsRelationMapper.selectById(preRelationId);
|
|
|
if (relation != null) {
|
|
if (relation != null) {
|
|
@@ -1844,6 +1858,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
Date preExpiryTime = relation.getExpiryTime();
|
|
Date preExpiryTime = relation.getExpiryTime();
|
|
|
DateTime afterExpiryTime = DateUtil.offsetMonth(relationView.getExpiryTime(), num * afterSku.getMonths());
|
|
DateTime afterExpiryTime = DateUtil.offsetMonth(relationView.getExpiryTime(), num * afterSku.getMonths());
|
|
|
|
|
|
|
|
|
|
+ log.info("用户:{}重复续费,将过期时间累加到新车票:{}上", userId, relationView.getId());
|
|
|
relationView.setExpiryTime(afterExpiryTime);
|
|
relationView.setExpiryTime(afterExpiryTime);
|
|
|
groupsRelationMapper.update(null, Wrappers.lambdaUpdate(GroupsRelation.class)
|
|
groupsRelationMapper.update(null, Wrappers.lambdaUpdate(GroupsRelation.class)
|
|
|
.set(GroupsRelation::getExpiryTime, relationView.getExpiryTime())
|
|
.set(GroupsRelation::getExpiryTime, relationView.getExpiryTime())
|