diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index 2f5663a4..16aa4d2d 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -1006,13 +1006,13 @@ public class SaOrderServiceImpl extends ServiceImpl impl checkUpgrade = true; if (EGrade.VIP.getValue() == oldGradeDTO.getGradeValue()) { SaOrderExt gradeOrder = baseMapper.getLastOrderGrade(cuMember.getPkId()); - if (EGrade.MAKER.getValue() == gradeOrder.getGradeValue()) { + if (null == gradeOrder || EGrade.MAKER.getValue() == gradeOrder.getGradeValue()) { // 如果是1980赠送升级的9900,可以再买一个9900,但是等级不变 checkUpgrade = false; } } else if (EGrade.MAKER.getValue() == oldGradeDTO.getGradeValue()) { SaOrderExt gradeOrder = baseMapper.getLastOrderGrade(cuMember.getPkId()); - if (EGrade.YOU_KE.getValue() == gradeOrder.getGradeValue()) { + if (null == gradeOrder || EGrade.YOU_KE.getValue() == gradeOrder.getGradeValue()) { // 如果是660赠送升级的1980,可以再买一个1980,但是等级不变 checkUpgrade = false; } diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml index fc9c08cc..06d8b9d4 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml @@ -1540,7 +1540,12 @@ from sa_order so where so.del_flag = 0 and so.order_status = 1 - and so.order_type in (1, 2) + and ( + so.order_type in (1, 2) + or + (so.order_type = 3 and + so.order_type_extend = 1) + ) and so.pk_member = #{pkMember} order by so.pay_time desc) so where rownum = 1) so