|
|
@@ -1,5 +1,6 @@
|
|
|
package com.cyksj.service.distribute.equipment.impl;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.date.DateField;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
@@ -109,13 +110,6 @@ public class EquipmentDistributeServiceImpl implements EquipmentDistributeServic
|
|
|
if (record != null) {
|
|
|
Long sharId = record.getShareId();
|
|
|
if (saveInviteRecord(sharId, userId, orderId, EquipmentUserChanceRecord.Status.hasPayment)) {
|
|
|
- SysConfig config = sysConfigService.getOne(Wrappers.lambdaQuery(SysConfig.class)
|
|
|
- .eq(SysConfig::getSysKey, Constant.EQUIPMENT_DISTRIBUTE_KEY).last("limit 1"));
|
|
|
- String sysValue = config.getSysValue();
|
|
|
- //未配置车票权益 不增加次数
|
|
|
- if (StrUtil.isEmpty(sysValue)) {
|
|
|
- return;
|
|
|
- }
|
|
|
EquipmentUserChance chance = equipmentUserChanceMapper.selectOne(Wrappers.lambdaQuery(EquipmentUserChance.class)
|
|
|
.eq(EquipmentUserChance::getUserId, sharId)
|
|
|
.last("limit 1"));
|
|
|
@@ -162,6 +156,33 @@ public class EquipmentDistributeServiceImpl implements EquipmentDistributeServic
|
|
|
}
|
|
|
|
|
|
public Boolean saveInviteRecord(Long sharId, Long userId, Long orderId, EquipmentUserChanceRecord.Status status) {
|
|
|
+ if (status == EquipmentUserChanceRecord.Status.hasPayment) {
|
|
|
+ //是否有配置车票权益
|
|
|
+ SysConfig config = sysConfigService.getOne(Wrappers.lambdaQuery(SysConfig.class)
|
|
|
+ .eq(SysConfig::getSysKey, Constant.EQUIPMENT_DISTRIBUTE_KEY).last("limit 1"));
|
|
|
+ String sysValue = config.getSysValue();
|
|
|
+ //未配置车票权益 不增加次数
|
|
|
+ if (StrUtil.isEmpty(sysValue)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ EquipmentConfigDto equipmentConfigDto = Jsons.parseObject(sysValue, EquipmentConfigDto.class);
|
|
|
+ if (equipmentConfigDto == null || CollUtil.isEmpty(equipmentConfigDto.getSkuList())) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (status == EquipmentUserChanceRecord.Status.refund) {
|
|
|
+ EquipmentUserChanceRecord record = equipmentUserChanceRecordMapper.selectOne(Wrappers.lambdaQuery(EquipmentUserChanceRecord.class)
|
|
|
+ .eq(EquipmentUserChanceRecord::getUserId, userId)
|
|
|
+ .eq(EquipmentUserChanceRecord::getStatus, EquipmentUserChanceRecord.Status.hasPayment)
|
|
|
+ .eq(EquipmentUserChanceRecord::getOrderId, orderId)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (record == null) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
EquipmentUserChanceRecord record = equipmentUserChanceRecordMapper.selectOne(Wrappers.lambdaQuery(EquipmentUserChanceRecord.class)
|
|
|
.eq(EquipmentUserChanceRecord::getUserId, userId)
|
|
|
.eq(EquipmentUserChanceRecord::getStatus, status)
|
|
|
@@ -233,10 +254,12 @@ public class EquipmentDistributeServiceImpl implements EquipmentDistributeServic
|
|
|
EquipmentConfigDto equipmentConfigDto = null;
|
|
|
try {
|
|
|
equipmentConfigDto = Jsons.parseObject(config.getSysValue(), EquipmentConfigDto.class);
|
|
|
- equipmentConfigDto.getCouponIds().forEach(couponId->{
|
|
|
- couponCommonService.sendCouponToUser(userId, couponId, null, null, null, CouponUser.Channel.equipment);
|
|
|
- });
|
|
|
- redisService.set(RedisService.key.EQUIPMENT_DISTRIBUTE_COUPON_KEY.getNameFormat(userId), userId, RedisService.key.EQUIPMENT_DISTRIBUTE_COUPON_KEY.getTimeout());
|
|
|
+ if (equipmentConfigDto != null && CollUtil.isNotEmpty(equipmentConfigDto.getCouponIds())) {
|
|
|
+ equipmentConfigDto.getCouponIds().forEach(couponId -> {
|
|
|
+ couponCommonService.sendCouponToUser(userId, couponId, null, null, null, CouponUser.Channel.equipment);
|
|
|
+ });
|
|
|
+ redisService.set(RedisService.key.EQUIPMENT_DISTRIBUTE_COUPON_KEY.getNameFormat(userId), userId, RedisService.key.EQUIPMENT_DISTRIBUTE_COUPON_KEY.getTimeout());
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
}
|
|
|
});
|