|
@@ -16,6 +16,7 @@ import com.cyksj.dto.RedisKey;
|
|
|
import com.cyksj.dto.Result;
|
|
import com.cyksj.dto.Result;
|
|
|
import com.cyksj.enums.GatewayResponse;
|
|
import com.cyksj.enums.GatewayResponse;
|
|
|
import com.cyksj.mapper.*;
|
|
import com.cyksj.mapper.*;
|
|
|
|
|
+import com.cyksj.mapper.channel.ChannelPopularizeMapper;
|
|
|
import com.cyksj.mapper.manage.exchange.ExchangeCodeMapper;
|
|
import com.cyksj.mapper.manage.exchange.ExchangeCodeMapper;
|
|
|
import com.cyksj.mapper.market.draw.LuckyDrawRecordMapper;
|
|
import com.cyksj.mapper.market.draw.LuckyDrawRecordMapper;
|
|
|
import com.cyksj.model.entity.*;
|
|
import com.cyksj.model.entity.*;
|
|
@@ -81,6 +82,8 @@ public class ExchangeCodeServiceImpl extends ServiceImpl<ExchangeCodeMapper, Exc
|
|
|
|
|
|
|
|
private final GroupRelationFrontService groupRelationFrontService;
|
|
private final GroupRelationFrontService groupRelationFrontService;
|
|
|
|
|
|
|
|
|
|
+ private final ChannelPopularizeMapper channelPopularizeMapper;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Throwable.class)
|
|
@Transactional(rollbackFor = Throwable.class)
|
|
|
public List<ExcelExchangeCodeData> createExchangeCode(ExchangeCodeReq exchangeCodeReq) {
|
|
public List<ExcelExchangeCodeData> createExchangeCode(ExchangeCodeReq exchangeCodeReq) {
|
|
@@ -153,6 +156,22 @@ public class ExchangeCodeServiceImpl extends ServiceImpl<ExchangeCodeMapper, Exc
|
|
|
.eq(OrderDon::getExCode, exchangeCode.getCode())
|
|
.eq(OrderDon::getExCode, exchangeCode.getCode())
|
|
|
.notIn(OrderDon::getStatus, Constant.noOrderStatus)
|
|
.notIn(OrderDon::getStatus, Constant.noOrderStatus)
|
|
|
.last("limit 1"));
|
|
.last("limit 1"));
|
|
|
|
|
+ Long popularizeId = orderDon.getPopularizeId();
|
|
|
|
|
+
|
|
|
|
|
+ //360 渠道兑换规则验证.
|
|
|
|
|
+ if(popularizeId != null && popularizeId != 0){
|
|
|
|
|
+ String channel = channelPopularizeMapper.selectChannelByPid(popularizeId);
|
|
|
|
|
+ if (Constant.CHANNEL_NAME_360.equals(channel)) {
|
|
|
|
|
+ //查询该用户之前是否存在订单.
|
|
|
|
|
+ Integer count = orderDonMapper.selectCount(Wrappers.lambdaQuery(OrderDon.class)
|
|
|
|
|
+ .eq(OrderDon::getUserId, userId)
|
|
|
|
|
+ .notIn(OrderDon::getStatus, Constant.noOrderStatus));
|
|
|
|
|
+ if (count > 0) {
|
|
|
|
|
+ throw new BusinessRuntimeException("您不符合360活动条件.");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if (orderDon != null && orderDon.getStatus() == OrderDon.Status.refund) {
|
|
if (orderDon != null && orderDon.getStatus() == OrderDon.Status.refund) {
|
|
|
throw BusinessRuntimeException.getInstance("您的订单已退款,无法使用该兑换码");
|
|
throw BusinessRuntimeException.getInstance("您的订单已退款,无法使用该兑换码");
|
|
|
}
|
|
}
|