package com.ruoyi.account.service.impl; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.feignClient.AppUserVipDetailClient; import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.account.api.model.TAppUserVipDetail; import com.ruoyi.account.api.model.TInviteUser; import com.ruoyi.account.api.vo.GetAppUserVipDetail; import com.ruoyi.account.mapper.TInviteUserMapper; import com.ruoyi.account.service.TAppUserService; import com.ruoyi.account.service.TInviteUserService; import com.ruoyi.common.core.domain.R; import com.ruoyi.other.api.domain.TIntegralRule; import com.ruoyi.other.api.domain.TVip; import com.ruoyi.other.api.feignClient.IntegralRuleClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.Objects; /** *

* 服务实现类 *

* * @author luodangjia * @since 2024-08-06 */ @Service public class TInviteUserServiceImpl extends ServiceImpl implements TInviteUserService { @Autowired private IntegralRuleClient integralRuleClient; @Autowired private TAppUserService appUserService; @Resource private AppUserVipDetailClient vipDetailClient; /** * * @param appUserId 被邀请人 * @param beInvitedAppUserId 邀请人 */ @Override public void saveInviteUser(Long appUserId, Long beInvitedAppUserId) { // 查询用户信息 TAppUser user = appUserService.getById(beInvitedAppUserId); GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail(); getAppUserVipDetail.setAppUserId(beInvitedAppUserId); getAppUserVipDetail.setVipId(user.getVipId()); R appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail); TAppUserVipDetail data1 = appUserVipDetail.getData(); // 查询邀请用户获得积分配置 TIntegralRule integralRule = integralRuleClient.getSet().getData(); JSONObject jsonObject = JSONObject.parseObject(integralRule.getInviteUsersToEarnPoints()); TInviteUser inviteUser = new TInviteUser(); if(Objects.nonNull(data1)){ String vipJson = data1.getVipJson(); TVip vip = JSON.parseObject(vipJson, TVip.class); if(Objects.nonNull(vip) && vip.getDoubleIntegration() == 1){ inviteUser.setAward(jsonObject.getInteger("num1")*2); }else { inviteUser.setAward(jsonObject.getInteger("num1")); } }else { inviteUser.setAward(jsonObject.getInteger("num1")); } inviteUser.setAppUserId(beInvitedAppUserId); inviteUser.setBeInvitedAppUserId(appUserId); inviteUser.setCreateTime(LocalDateTime.now()); this.save(inviteUser); } }