积分模块相关代码

This commit is contained in:
谭凯凯
2024-11-01 17:25:40 +08:00
committed by Tankaikai
parent 02a756d32d
commit 0b86ed1459

View File

@@ -141,7 +141,7 @@ public class TbPointsExchangeRecordServiceImpl extends ServiceImpl<TbPointsExcha
}
private void verify(TbPointsExchangeRecord record, TbPointsBasicSetting basic, TbPointsGoodsSetting goods, TbMemberPoints memberPoints) {
private Object[] verify(TbPointsExchangeRecord record) {
try {
Assert.notNull(record.getShopId(), "{}({})不能为空", "店铺id", "shopId");
Assert.notNull(record.getPointsGoodsId(), "{}({})不能为空", "积分商品id", "pointsGoodsId");
@@ -152,14 +152,14 @@ public class TbPointsExchangeRecordServiceImpl extends ServiceImpl<TbPointsExcha
} catch (IllegalArgumentException e) {
throw new MsgException(e.getMessage());
}
basic = tbPointsBasicSettingMapper.selectOne(Wrappers.<TbPointsBasicSetting>lambdaQuery().eq(TbPointsBasicSetting::getShopId, record.getShopId()));
TbPointsBasicSetting basic = tbPointsBasicSettingMapper.selectOne(Wrappers.<TbPointsBasicSetting>lambdaQuery().eq(TbPointsBasicSetting::getShopId, record.getShopId()));
if (basic == null) {
throw new MsgException("商家未配置积分锁客基本设置");
}
if (basic.getEnablePointsMall() != 1) {
throw new MsgException("积分商城未开启");
}
goods = tbPointsGoodsSettingMapper.selectById(record.getPointsGoodsId());
TbPointsGoodsSetting goods = tbPointsGoodsSettingMapper.selectById(record.getPointsGoodsId());
if (goods == null) {
throw new MsgException("兑换的商品信息不存在");
}
@@ -177,7 +177,7 @@ public class TbPointsExchangeRecordServiceImpl extends ServiceImpl<TbPointsExcha
if (quantity <= 0) {
throw new MsgException("兑换的商品库存不足");
}
memberPoints = tbMemberPointsMapper.selectOne(Wrappers.<TbMemberPoints>lambdaQuery().eq(TbMemberPoints::getMemberId, record.getMemberId()));
TbMemberPoints memberPoints = tbMemberPointsMapper.selectOne(Wrappers.<TbMemberPoints>lambdaQuery().eq(TbMemberPoints::getMemberId, record.getMemberId()));
if (memberPoints == null) {
throw new MsgException("会员积分不足无法兑换此商品");
}
@@ -186,14 +186,15 @@ public class TbPointsExchangeRecordServiceImpl extends ServiceImpl<TbPointsExcha
if (accountPoints < requiredPoints) {
throw new MsgException("会员积分不足无法兑换此商品");
}
return new Object[]{basic, goods, memberPoints};
}
@Override
public TbPointsExchangeRecord create(TbPointsExchangeRecord record) {
TbPointsBasicSetting basic = null;
TbPointsGoodsSetting goods = null;
TbMemberPoints memberPoints = null;
verify(record, basic, goods, memberPoints);
Object[] verify = verify(record);
TbPointsBasicSetting basic = (TbPointsBasicSetting) verify[0];
TbPointsGoodsSetting goods = (TbPointsGoodsSetting) verify[1];
TbMemberPoints memberPoints = (TbMemberPoints) verify[2];
record.setExtraPaymentAmount(goods.getExtraPrice());
record.setSpendPoints(goods.getRequiredPoints());
Snowflake seqNo = IdUtil.getSnowflake(0, 0);
@@ -220,7 +221,10 @@ public class TbPointsExchangeRecordServiceImpl extends ServiceImpl<TbPointsExcha
TbPointsGoodsSetting goods = null;
TbMemberPoints memberPoints = null;
try {
verify(entity, basic, goods, memberPoints);
Object[] verify = verify(record);
basic = (TbPointsBasicSetting) verify[0];
goods = (TbPointsGoodsSetting) verify[1];
memberPoints = (TbMemberPoints) verify[2];
} catch (Exception e) {
throw new MsgException(e.getMessage().concat(",请您取消订单"));
}
@@ -481,7 +485,7 @@ public class TbPointsExchangeRecordServiceImpl extends ServiceImpl<TbPointsExcha
}
OrderReturnResp returnResp = publicResp.getObjData();
if (!"SUCCESS".equals(returnResp.getState())) {
throw new MsgException(StrUtil.format("退款失败原因:{}",returnResp.getState()));
throw new MsgException(StrUtil.format("退款失败原因:{}", returnResp.getState()));
}
}