|
|
@@ -11,6 +11,7 @@ import com.cyksj.common.constant.Constant;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.common.snowflake.Sequence;
|
|
|
import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
|
|
|
+import com.cyksj.common.util.Jsons;
|
|
|
import com.cyksj.common.util.StringUtil;
|
|
|
import com.cyksj.dto.RedisKey;
|
|
|
import com.cyksj.dto.Result;
|
|
|
@@ -84,6 +85,8 @@ public class ExchangeCodeServiceImpl extends ServiceImpl<ExchangeCodeMapper, Exc
|
|
|
|
|
|
private final ChannelPopularizeMapper channelPopularizeMapper;
|
|
|
|
|
|
+ private final OrderDiscountPlusPurchaseSkuRelationMapper orderDiscountPlusPurchaseSkuRelationMapper;
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Throwable.class)
|
|
|
public List<ExcelExchangeCodeData> createExchangeCode(ExchangeCodeReq exchangeCodeReq) {
|
|
|
@@ -256,6 +259,37 @@ public class ExchangeCodeServiceImpl extends ServiceImpl<ExchangeCodeMapper, Exc
|
|
|
orderDon.setUserId(userId);
|
|
|
orderDon.setStatus(goodsDon.getType() == 1 && goodsDon.getSecondType() == 2 ? OrderDon.Status.complete : OrderDon.Status.hasPayment);
|
|
|
orderDonMapper.updateById(orderDon);
|
|
|
+ if (orderDon.getIsDp()) {
|
|
|
+ //是否已经发送优惠加购车票
|
|
|
+ OrderDiscountPlusPurchaseSkuRelation purchaseSkuRelation = orderDiscountPlusPurchaseSkuRelationMapper.selectOne(Wrappers.lambdaQuery(OrderDiscountPlusPurchaseSkuRelation.class)
|
|
|
+ .eq(OrderDiscountPlusPurchaseSkuRelation::getOrderId, orderDon.getId()));
|
|
|
+ if (purchaseSkuRelation != null) {
|
|
|
+ String plusSkuIdsStr = purchaseSkuRelation.getPlusSkuIds();
|
|
|
+ String relationIdsStr = purchaseSkuRelation.getRelationIds();
|
|
|
+ if (StrUtil.isNotEmpty(plusSkuIdsStr) && StrUtil.isEmpty(relationIdsStr)) {
|
|
|
+ try {
|
|
|
+ List<Long> plusSkuIds = Jsons.parseList(plusSkuIdsStr, Long.class);
|
|
|
+ //发送优惠加购 规格车票
|
|
|
+ List<Long> dis_relation_ids = new ArrayList<>();
|
|
|
+ plusSkuIds.forEach(plus_skuId -> {
|
|
|
+ GoodsDonSku plus_sku = goodsDonSkuMapper.selectById(plus_skuId);
|
|
|
+ if (plus_sku == null) {
|
|
|
+ log.error("订单id:{}优惠加购规格已被删除 skuId:{},车票未发送", orderDon.getId(), plus_skuId);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ GroupsRelation relationNoOrder = getRelationNoOrder(plus_sku, orderDon.getUserId());
|
|
|
+ dis_relation_ids.add(relationNoOrder.getId());
|
|
|
+ });
|
|
|
+ //保存订单关联优惠加购车票
|
|
|
+ orderDiscountPlusPurchaseSkuRelationMapper.update(null, Wrappers.lambdaUpdate(OrderDiscountPlusPurchaseSkuRelation.class)
|
|
|
+ .set(OrderDiscountPlusPurchaseSkuRelation::getRelationIds, dis_relation_ids.toString())
|
|
|
+ .eq(OrderDiscountPlusPurchaseSkuRelation::getOrderId, orderDon.getId())
|
|
|
+ .isNull(OrderDiscountPlusPurchaseSkuRelation::getRelationIds));
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
/* 生成订单 */
|
|
|
String donNo = SEQUENCE.nextId().toString();
|