判断插入逻辑

This commit is contained in:
liaozetao
2023-08-22 12:13:27 +08:00
parent adac466e2b
commit 187d7665a2
3 changed files with 34 additions and 5 deletions

View File

@@ -6,7 +6,9 @@ import com.accompany.admin.dto.charge.ChargeChannelAdminDto;
import com.accompany.admin.service.charge.ChargeChannelAdminService;
import com.accompany.admin.vo.charge.ChargeChannelAdminVo;
import com.accompany.common.constant.Constant;
import com.accompany.common.redis.RedisKey;
import com.accompany.core.exception.ServiceException;
import com.accompany.core.service.common.JedisService;
import com.accompany.payment.mapper.ChargeProdMapper;
import com.accompany.payment.model.ChargeChannel;
import com.accompany.payment.model.ChargeProd;
@@ -18,6 +20,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.redisson.api.RMap;
import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -36,6 +40,9 @@ import java.util.List;
@Service
public class ChargeChannelAdminServiceImpl implements ChargeChannelAdminService {
@Autowired
private RedissonClient redissonClient;
@Autowired
private ChargeProdMapper chargeProdMapper;
@@ -45,6 +52,9 @@ public class ChargeChannelAdminServiceImpl implements ChargeChannelAdminService
@Autowired
private ChargeChannelService chargeChannelService;
@Autowired
private JedisService jedisService;
@Override
public Page<ChargeChannelAdminVo> page(Integer regionType) {
List<ChargeRegion> chargeRegions = chargeRegionService.list(Wrappers.<ChargeRegion>lambdaQuery()
@@ -71,7 +81,8 @@ public class ChargeChannelAdminServiceImpl implements ChargeChannelAdminService
ChargeProdExample example = new ChargeProdExample();
ChargeProdExample.Criteria criteria = example.createCriteria();
criteria.andCountryEqualTo(regionCode)
.andPayChannelEqualTo(payChannel);
.andPayChannelEqualTo(payChannel)
.andProdStatusEqualTo(Constant.ChargeProdStatus.using);
//需要特殊的产品,例如点数卡是固定数额
if (chargeChannel.isSpecial() && StringUtils.isNotBlank(paymentType)){
criteria.andPaymentTypeEqualTo(paymentType);
@@ -136,7 +147,10 @@ public class ChargeChannelAdminServiceImpl implements ChargeChannelAdminService
chargeProdIdList.add(String.valueOf(money));
}
chargeProdId = CollectionUtil.join(chargeProdIdList, StrUtil.UNDERLINE);
isInsert = true;
ChargeProd chargeProdDb = chargeProdMapper.selectByPrimaryKey(chargeProdId);
if (chargeProdDb == null) {
isInsert = true;
}
}
chargeProd.setChargeProdId(chargeProdId);
chargeProd.setProdStatus(Constant.ChargeProdStatus.using);
@@ -156,7 +170,7 @@ public class ChargeChannelAdminServiceImpl implements ChargeChannelAdminService
chargeProd.setChangeGoldRate(0);
chargeProd.setGiftGoldNum(0);
chargeProd.setFirstGiftGoldNum(0);
chargeProd.setProdName(chargeGoldNum + "钻石");
chargeProd.setProdName(chargeGoldNum.longValue() + "钻石");
chargeProd.setChannel(Constant.ChargeProdChannel.payermax_h5_charge);
chargeProdMapper.insertSelective(chargeProd);
} else {
@@ -164,5 +178,10 @@ public class ChargeChannelAdminServiceImpl implements ChargeChannelAdminService
}
}
chargeChannelService.saveOrUpdate(chargeChannel);
jedisService.del(RedisKey.charge_prod.getKey());
RMap<Object, Object> rMap = redissonClient.getMap(RedisKey.charge_channel.getKey());
if (CollectionUtil.isNotEmpty(rMap)) {
rMap.delete();
}
}
}

View File

@@ -4,11 +4,14 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.accompany.admin.service.charge.ChargeRegionAdminService;
import com.accompany.business.service.withdraw.ExchangeRateService;
import com.accompany.common.redis.RedisKey;
import com.accompany.payment.model.ChargeRegion;
import com.accompany.payment.service.ChargeRegionService;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RMap;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -25,6 +28,9 @@ import java.util.List;
@Service
public class ChargeRegionAdminServiceImpl implements ChargeRegionAdminService {
@Autowired
private RedissonClient redissonClient;
@Autowired
private ChargeRegionService chargeRegionService;
@@ -58,5 +64,9 @@ public class ChargeRegionAdminServiceImpl implements ChargeRegionAdminService {
BigDecimal rate = chargeRegion.getRate();
//更新汇率
exchangeRateService.updateRate(currency, rate);
RMap<Object, Object> rMap = redissonClient.getMap(RedisKey.charge_region.getKey());
if (CollectionUtil.isNotEmpty(rMap)) {
rMap.delete();
}
}
}

View File

@@ -251,8 +251,8 @@
var seq = 0;
var isCheck = false;
for (let j = 0; j < typeArray.length; j++) {
console.log(typeArray[i]);
if (typeArray[i] && region.type == typeArray[i].value) {
console.log(typeArray[j]);
if (typeArray[j] && region.type == typeArray[j].value) {
seq = $('#seq' + region.type).val();
isCheck = true;
break;