From 06f3bd9e4c1b700e25f4bc3bcd222374234c3676 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Sun, 24 Aug 2025 00:57:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7=E6=8E=A8?= =?UTF-8?q?=E8=8D=90=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserReferralController.java | 27 +++++++++ .../user/convert/BaseUserReferralConvert.java | 13 +++++ .../sczx/user/dto/BaseUserReferralDTO.java | 57 +++++++++++++++++++ .../user/service/IUserReferralService.java | 7 +++ .../service/impl/UserReferralServiceImpl.java | 27 +++++++++ 5 files changed, 131 insertions(+) create mode 100644 src/main/java/com/sczx/user/controller/UserReferralController.java create mode 100644 src/main/java/com/sczx/user/convert/BaseUserReferralConvert.java create mode 100644 src/main/java/com/sczx/user/dto/BaseUserReferralDTO.java create mode 100644 src/main/java/com/sczx/user/service/IUserReferralService.java create mode 100644 src/main/java/com/sczx/user/service/impl/UserReferralServiceImpl.java diff --git a/src/main/java/com/sczx/user/controller/UserReferralController.java b/src/main/java/com/sczx/user/controller/UserReferralController.java new file mode 100644 index 0000000..328d672 --- /dev/null +++ b/src/main/java/com/sczx/user/controller/UserReferralController.java @@ -0,0 +1,27 @@ +package com.sczx.user.controller; + +import com.sczx.user.common.Result; +import com.sczx.user.dto.BaseUserReferralDTO; +import com.sczx.user.service.IUserReferralService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@Api(value = "用户推荐", tags = "用户推荐") +@RestController +@RequestMapping("/referral") +public class UserReferralController { + + @Autowired + private IUserReferralService userReferralService; + + @ApiOperation(value = "获取用户推荐信息", notes = "获取用户推荐信息") + @GetMapping("/getUserReferralByUserId") + public Result getUserReferralByUserId(@RequestParam("userId") Long userId) { + return Result.ok(userReferralService.getUserReferral(userId)); + } +} diff --git a/src/main/java/com/sczx/user/convert/BaseUserReferralConvert.java b/src/main/java/com/sczx/user/convert/BaseUserReferralConvert.java new file mode 100644 index 0000000..5616e68 --- /dev/null +++ b/src/main/java/com/sczx/user/convert/BaseUserReferralConvert.java @@ -0,0 +1,13 @@ +package com.sczx.user.convert; + +import com.sczx.user.dto.BaseUserReferralDTO; +import com.sczx.user.po.BaseUserReferralPO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +@Mapper +public interface BaseUserReferralConvert { + BaseUserReferralConvert INSTANCE = Mappers.getMapper(BaseUserReferralConvert.class); + BaseUserReferralDTO po2Dto(BaseUserReferralPO po); + BaseUserReferralPO dto2Po(BaseUserReferralDTO dto); +} diff --git a/src/main/java/com/sczx/user/dto/BaseUserReferralDTO.java b/src/main/java/com/sczx/user/dto/BaseUserReferralDTO.java new file mode 100644 index 0000000..e6feb65 --- /dev/null +++ b/src/main/java/com/sczx/user/dto/BaseUserReferralDTO.java @@ -0,0 +1,57 @@ +package com.sczx.user.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + *

+ * 用户引荐信息 + *

+ * + * @author zhangli + * @since 2025-08-19 23:47:42 + */ +@Data +@ApiModel(value = "BaseUserReferralDTO对象", description = "用户引荐信息") +public class BaseUserReferralDTO{ + + @ApiModelProperty("id主键") + private Long id; + + @ApiModelProperty("被引荐人id") + private Long userId; + + @ApiModelProperty("被引荐人手机号") + private String userPhoneNumber; + + @ApiModelProperty("引荐人id") + private Long referralUserId; + + @ApiModelProperty("引荐人手机号") + private String referralUserPhoneNumber; + + @ApiModelProperty("奖励截止日期") + private LocalDate awardDeadline; + + @ApiModelProperty("奖励比例") + private BigDecimal awardRate; + + @ApiModelProperty("引荐订单") + private String referralOrderNo; + + @ApiModelProperty("删除标志(0代表存在 2代表删除)") + private String delFlag; + + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + @ApiModelProperty("更新时间") + private LocalDateTime updateTime; + + +} diff --git a/src/main/java/com/sczx/user/service/IUserReferralService.java b/src/main/java/com/sczx/user/service/IUserReferralService.java new file mode 100644 index 0000000..881c97b --- /dev/null +++ b/src/main/java/com/sczx/user/service/IUserReferralService.java @@ -0,0 +1,7 @@ +package com.sczx.user.service; + +import com.sczx.user.dto.BaseUserReferralDTO; + +public interface IUserReferralService { + BaseUserReferralDTO getUserReferral(Long userId); +} diff --git a/src/main/java/com/sczx/user/service/impl/UserReferralServiceImpl.java b/src/main/java/com/sczx/user/service/impl/UserReferralServiceImpl.java new file mode 100644 index 0000000..f54c2d8 --- /dev/null +++ b/src/main/java/com/sczx/user/service/impl/UserReferralServiceImpl.java @@ -0,0 +1,27 @@ +package com.sczx.user.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.sczx.user.convert.BaseUserReferralConvert; +import com.sczx.user.dto.BaseUserReferralDTO; +import com.sczx.user.po.BaseUserReferralPO; +import com.sczx.user.repository.BaseUserReferralRepo; +import com.sczx.user.service.IUserReferralService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +public class UserReferralServiceImpl implements IUserReferralService { + + @Autowired + private BaseUserReferralRepo baseUserReferralRepo; + + @Override + public BaseUserReferralDTO getUserReferral(Long userId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BaseUserReferralPO::getUserId, userId).orderByDesc(BaseUserReferralPO::getCreateTime).last(" limit 1"); + BaseUserReferralPO baseUserReferralPO = baseUserReferralRepo.getOne(queryWrapper); + return BaseUserReferralConvert.INSTANCE.po2Dto(baseUserReferralPO); + } +}