Merge branch 'prod' into test
This commit is contained in:
@@ -135,6 +135,7 @@ public class ShopUserServiceImpl extends ServiceImpl<ShopUserMapper, ShopUser> i
|
||||
userInfo.setAmount(BigDecimal.ZERO);
|
||||
}
|
||||
userFlow.setUserId(userInfo.getUserId());
|
||||
userFlow.setShopUserId(shopUserEditDTO.getId());
|
||||
userFlow.setShopId(userInfo.getSourceShopId());
|
||||
userFlow.setAmount(shopUserEditDTO.getType() == 0 ? shopUserEditDTO.getMoney().negate() : shopUserEditDTO.getMoney());
|
||||
userFlow.setBalance(shopUserEditDTO.getType() == 0 ? userInfo.getAmount().subtract(shopUserEditDTO.getMoney()) : userInfo.getAmount().add(shopUserEditDTO.getMoney()));
|
||||
|
||||
@@ -179,6 +179,9 @@ public class UShopUserServiceImpl implements UShopUserService {
|
||||
if (StrUtil.isBlank(shopUser.getCode())) {
|
||||
shopUser.setCode(generateCode(shopId));
|
||||
}
|
||||
if (StrUtil.isBlank(shopUser.getBirthDay())) {
|
||||
shopUser.setBirthDay(null);
|
||||
}
|
||||
shopUser.setJoinTime(shopUser.getJoinTime() == null ? DateUtil.date().toLocalDateTime() : shopUser.getJoinTime());
|
||||
|
||||
|
||||
@@ -229,6 +232,7 @@ public class UShopUserServiceImpl implements UShopUserService {
|
||||
|
||||
shopUserDetailDTO.setFreeDineConfig(freeDineConfigService.getConfig(shopInfoService.getMainIdByShopId(shopId)));
|
||||
shopUserDetailDTO.setPayPwd(userInfo.getPayPwd());
|
||||
shopUserDetailDTO.setUsePayPwd(userInfo.getUsePayPwd());
|
||||
return shopUserDetailDTO;
|
||||
}
|
||||
|
||||
|
||||
@@ -546,10 +546,10 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
||||
ShopUser shopUserInfo = shopUserService.getById(shopUserId);
|
||||
Long mainShopId = shopInfoService.getMainIdByShopId(shopId);
|
||||
// BigDecimal finalAmount = shopInfoService.updateAmount(shopId, amount);
|
||||
// distributionAmountFlowService.save(new MkDistributionAmountFlow()
|
||||
// .setType(TableValueConstant.DistributionAmountFlow.Type.OPEN.getCode())
|
||||
// .setMainShopId(mainShopId).setShopId(shopId).setAmount(finalAmount).setChangeAmount(amount).setSourceId(sourceId)
|
||||
// .setRemark("分销员购买"));
|
||||
distributionAmountFlowService.save(new MkDistributionAmountFlow()
|
||||
.setType(TableValueConstant.DistributionAmountFlow.Type.OPEN.getCode())
|
||||
.setMainShopId(mainShopId).setShopId(shopId).setAmount(amount).setChangeAmount(amount).setSourceId(sourceId)
|
||||
.setRemark("分销员购买"));
|
||||
try {
|
||||
addDistributionUser(new MkDistributionUser().setShopId(shopId)
|
||||
.setUserId(shopUserInfo.getUserId())
|
||||
|
||||
@@ -31,6 +31,7 @@ import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.transaction.annotation.Isolation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -281,19 +282,32 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
return memberLevelVOS;
|
||||
}
|
||||
|
||||
static void main() {
|
||||
Integer expVal = 10;
|
||||
TableValueConstant.MemberExpFlow.Type type = TableValueConstant.MemberExpFlow.Type.PAY;
|
||||
long exp = 0;
|
||||
switch (type) {
|
||||
case PAY -> {
|
||||
exp = expVal;
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println(exp);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean deliver(Long shopId, Long userId, TableValueConstant.MemberExpFlow.Type type, BigDecimal money, Integer expVal, Long sourceId) {
|
||||
ShopUser shopUser = shopUserService.getOne(new QueryWrapper().eq(ShopUser::getSourceShopId, shopInfoService.getMainIdByShopId(shopId)).eq(ShopUser::getUserId, userId));
|
||||
public boolean deliver(ShopUser shopUser, TableValueConstant.MemberExpFlow.Type type, BigDecimal money, Integer expVal, Long sourceId) {
|
||||
if (shopUser == null || shopUser.getIsVip() == 0) {
|
||||
return false;
|
||||
}
|
||||
if (shopUser.getMemberLevelId() == null) {
|
||||
log.warn("会员等级不存在, 店铺id: {}, 用户id: {}", shopId, userId);
|
||||
log.warn("会员等级不存在, 店铺id: {}, 用户id: {}", shopUser.getMainShopId(), shopUser.getUserId());
|
||||
}
|
||||
MemberConfigVO memberConfig = detail(shopId);
|
||||
MemberConfigVO memberConfig = detail(shopUser.getMainShopId());
|
||||
if (memberConfig == null) {
|
||||
log.warn("会员配置不存在, 店铺id: {}", shopId);
|
||||
log.warn("会员配置不存在, 店铺id: {}", shopUser.getMainShopId());
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -304,11 +318,11 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
|
||||
MemberLevelVO levelVO = levelConfigService.detail(shopUser.getMemberLevelId());
|
||||
if (levelVO == null) {
|
||||
log.warn("会员等级配置不存在, 店铺id: {}, 等级id: {}", shopId, shopUser.getMemberLevelId());
|
||||
log.warn("会员等级配置不存在, 店铺id: {}, 等级id: {}", shopUser.getMainShopId(), shopUser.getMemberLevelId());
|
||||
return false;
|
||||
}
|
||||
|
||||
log.info("会员奖励发放,类型: {}, 金额: {}, userId: {}", type.getCode(), money, userId);
|
||||
log.info("会员奖励发放,类型: {}, 金额: {}, userId: {}, 经验值: {}", type.getCode(), money, shopUser.getUserId(), expVal);
|
||||
|
||||
long exp = 0;
|
||||
switch (type) {
|
||||
@@ -338,10 +352,10 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
|
||||
if (levelVO.getCycleRewardCouponList() != null && !levelVO.getCycleRewardCouponList().isEmpty()) {
|
||||
levelVO.getCycleRewardCouponList().forEach(item -> {
|
||||
shopCouponRecordService.grant(shopId, new MkRewardCouponDTO().setCouponId(item.getCoupon().getId())
|
||||
shopCouponRecordService.grant(shopUser.getMainShopId(), new MkRewardCouponDTO().setCouponId(item.getCoupon().getId())
|
||||
.setNum(item.getNum())
|
||||
.setUserId(shopUser.getUserId())
|
||||
.setShopId(shopId));
|
||||
.setShopId(shopUser.getMainShopId()));
|
||||
|
||||
});
|
||||
// couponGiftService.addCouponGift(memberOrderId, "会员开通赠券", 1, giftDTOS);
|
||||
@@ -356,8 +370,8 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
MemberExpFlow expFlow = new MemberExpFlow();
|
||||
expFlow.setContent(type.getMsg() + exp);
|
||||
expFlow.setType("+");
|
||||
expFlow.setUserId(userId);
|
||||
expFlow.setShopId(shopId);
|
||||
expFlow.setUserId(shopUser.getUserId());
|
||||
expFlow.setShopId(shopUser.getMainShopId());
|
||||
expFlow.setMoney(money);
|
||||
expFlow.setValue(exp);
|
||||
expFlow.setSourceId(sourceId);
|
||||
@@ -365,7 +379,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
|
||||
shopUser.setExperience(shopUser.getExperience() + exp);
|
||||
// 修改会员等级
|
||||
MemberLevelConfig nextConfig = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId)
|
||||
MemberLevelConfig nextConfig = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopUser.getMainShopId())
|
||||
.gt(MemberLevelConfig::getExperienceValue, levelVO.getExperienceValue()).orderBy(MemberLevelConfig::getExperienceValue, true).limit(1));
|
||||
if (nextConfig != null && shopUser.getExperience() >= nextConfig.getExperienceValue()) {
|
||||
shopUser.setMemberLevelId(nextConfig.getId());
|
||||
@@ -373,7 +387,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
shopUserService.updateInfo(shopUser);
|
||||
}
|
||||
|
||||
log.info("用户id: {}, 增加经验值: {}, 当前经验值: {}, 当前等级: {}", userId, exp, shopUser.getExperience(), shopUser.getMemberLevelId());
|
||||
log.info("用户id: {}, 增加经验值: {}, 当前经验值: {}, 当前等级: {}", shopUser.getUserId(), exp, shopUser.getExperience(), shopUser.getMemberLevelId());
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -430,7 +444,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
||||
public boolean joinMember(Long shopId, Long userId, Long memberOrderId) {
|
||||
MemberConfigVO memberConfigVO = detail(shopId);
|
||||
ShopUser shopUser = shopUserService.getShopUserInfo(shopId, userId);
|
||||
@@ -459,7 +473,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
}
|
||||
if (!OrderStatusEnums.UNPAID.getCode().equals(memberOrder.getStatus())) {
|
||||
log.warn("会员购买支付失败,会员订单状态不为待支付,会员订单id:{}", memberOrderId);
|
||||
// return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (memberOrder.getCircleUnit()) {
|
||||
@@ -501,10 +515,11 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
}
|
||||
|
||||
|
||||
memberOrder.setPayAmount(memberOrder.getAmount());
|
||||
memberOrder.setStatus(OrderStatusEnums.DONE.getCode());
|
||||
memberOrderService.updateById(memberOrder);
|
||||
if (memberOrder.getReward() != null) {
|
||||
deliver(shopId, userId, TableValueConstant.MemberExpFlow.Type.PAY, memberOrder.getPayAmount(), memberOrder.getReward(), memberOrderId);
|
||||
deliver(shopUser, TableValueConstant.MemberExpFlow.Type.PAY, memberOrder.getAmount(), memberOrder.getReward(), memberOrderId);
|
||||
}
|
||||
if (shopUser.getMemberLevelId() == null || shopUser.getMemberLevelId() == 0) {
|
||||
shopUser.setMemberLevelId(levelConfig.getId());
|
||||
|
||||
@@ -1050,7 +1050,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
}
|
||||
if (StrUtil.isNotBlank(payment.getTradeNumber())) {
|
||||
log.info("订单处理过,payment id:{}", payment.getId());
|
||||
// return;
|
||||
return;
|
||||
}
|
||||
payment.setTradeNumber(czgCallBackDto.getPayOrderId());
|
||||
payment.setRespJson(resultJson.toString());
|
||||
@@ -1068,7 +1068,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
// 会员加入
|
||||
memberConfigService.joinMemberByCondition(orderInfo.getShopId(), orderInfo.getUserId());
|
||||
// 会员消费赠送成长值
|
||||
memberConfigService.deliver(orderInfo.getShopId(), orderInfo.getUserId(), TableValueConstant.MemberExpFlow.Type.COST, orderInfo.getPayAmount(), null, orderInfo.getId());
|
||||
ShopUser shopUser = shopUserService.getShopUserInfo(orderInfo.getShopId(), orderInfo.getUserId());
|
||||
memberConfigService.deliver(shopUser, TableValueConstant.MemberExpFlow.Type.COST, orderInfo.getPayAmount(), null, orderInfo.getId());
|
||||
// 分销员升级等级
|
||||
distributionUserService.costUpgradeLevelBefore(orderInfo.getUserId(), orderInfo.getShopId());
|
||||
// 分销奖励
|
||||
@@ -1134,7 +1135,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
redisService.del(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId());
|
||||
// 发放成长值
|
||||
// 会员消费赠送成长值
|
||||
memberConfigService.deliver(orderInfo.getShopId(), orderInfo.getUserId(),
|
||||
memberConfigService.deliver(shopUser,
|
||||
TableValueConstant.MemberExpFlow.Type.RECHARGE,
|
||||
BigDecimal.valueOf(czgCallBackDto.getAmount()).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN), null, orderInfo.getId());
|
||||
if (TransactionSynchronizationManager.isSynchronizationActive()) {
|
||||
@@ -1170,9 +1171,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
} else if ("memberPay".equals(payment.getPayType())) {
|
||||
ShopUser shopUser = shopUserService.getById(payment.getSourceId());
|
||||
memberConfigService.joinMember(payment.getShopId(), shopUser.getUserId(), payment.getRelatedId());
|
||||
|
||||
// 充值赠送积分
|
||||
memberConfigService.deliver(shopUser.getMainShopId(), shopUser.getUserId(), TableValueConstant.MemberExpFlow.Type.COST, payment.getAmount(), null, payment.getId());
|
||||
// memberConfigService.deliver(shopUser.getMainShopId(), shopUser.getUserId(), TableValueConstant.MemberExpFlow.Type.COST, payment.getAmount(), null, payment.getId());
|
||||
|
||||
// 分销员开通
|
||||
} else if ("distribution".equals(payment.getPayType())) {
|
||||
|
||||
@@ -246,7 +246,7 @@ public class PayServiceImpl implements PayService {
|
||||
LocalDateTime.now(), flowId, PayEnums.VIP_PAY);
|
||||
|
||||
log.info("发放经验值");
|
||||
memberConfigService.deliver(orderInfo.getShopId(), orderInfo.getUserId(), TableValueConstant.MemberExpFlow.Type.COST, orderInfo.getOrderAmount(), null, orderInfo.getId());
|
||||
memberConfigService.deliver(shopUser, TableValueConstant.MemberExpFlow.Type.COST, orderInfo.getOrderAmount(), null, orderInfo.getId());
|
||||
|
||||
return CzgResult.success();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user