From d1f849ba8d64be6061cc8dd15a38ea26c13dd8c6 Mon Sep 17 00:00:00 2001
From: zhangli <123879394@qq.com>
Date: Sat, 16 Aug 2025 21:01:44 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=92=B1=E5=8C=85=E3=80=81?=
=?UTF-8?q?=E5=8F=98=E6=9B=B4=E4=BF=A1=E6=81=AF=EF=BC=8C=E5=BC=95=E8=8D=90?=
=?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/enums/WalletChangeTypeEnum.java | 23 +++++++
.../controller/UserFeedbackController.java | 38 +++++++++++
.../controller/UserWithdrawalController.java | 45 +++++++++++++
.../user/controller/WalletController.java | 54 +++++++++++++++
.../user/convert/BaseUserFeedbackConvert.java | 13 ++++
.../convert/BaseUserWithdrawalConvert.java | 17 +++++
.../user/convert/BaseWalletChangeConvert.java | 16 +++++
.../sczx/user/convert/BaseWalletConvert.java | 12 ++++
.../sczx/user/dto/BaseUserFeedbackDTO.java | 24 +++++++
.../sczx/user/dto/BaseUserWithdrawalDTO.java | 37 +++++++++++
.../sczx/user/dto/BaseWalletChangeDTO.java | 33 ++++++++++
.../java/com/sczx/user/dto/BaseWalletDTO.java | 30 +++++++++
.../com/sczx/user/dto/SimpleUserInfoDTO.java | 4 ++
.../sczx/user/dto/WalletChangeQueryReq.java | 16 +++++
.../user/mapper/BaseUserFeedbackMapper.java | 16 +++++
.../user/mapper/BaseUserWithdrawalMapper.java | 16 +++++
.../user/mapper/BaseWalletChangeMapper.java | 16 +++++
.../sczx/user/mapper/BaseWalletMapper.java | 16 +++++
.../com/sczx/user/po/BaseUserFeedbackPO.java | 56 ++++++++++++++++
.../java/com/sczx/user/po/BaseUserPO.java | 3 +
.../sczx/user/po/BaseUserWithdrawalPO.java | 66 +++++++++++++++++++
.../com/sczx/user/po/BaseWalletChangePO.java | 63 ++++++++++++++++++
.../java/com/sczx/user/po/BaseWalletPO.java | 60 +++++++++++++++++
.../user/repository/BaseUserFeedbackRepo.java | 16 +++++
.../repository/BaseUserWithdrawalRepo.java | 16 +++++
.../user/repository/BaseWalletChangeRepo.java | 16 +++++
.../sczx/user/repository/BaseWalletRepo.java | 16 +++++
.../impl/BaseUserFeedbackRepoImpl.java | 20 ++++++
.../impl/BaseUserWithdrawalRepoImpl.java | 20 ++++++
.../impl/BaseWalletChangeRepoImpl.java | 20 ++++++
.../repository/impl/BaseWalletRepoImpl.java | 20 ++++++
.../user/service/IUserFeedbackService.java | 12 ++++
.../user/service/IUserWithdrawalService.java | 14 ++++
.../com/sczx/user/service/IWalletService.java | 25 +++++++
.../service/impl/UserFeedbackServiceImpl.java | 24 +++++++
.../impl/UserWithdrawalServiceImpl.java | 29 ++++++++
.../user/service/impl/WalletServiceImpl.java | 44 +++++++++++++
.../mapper/BaseUserFeedbackMapper.xml | 5 ++
.../mapper/BaseUserWithdrawalMapper.xml | 5 ++
.../mapper/BaseWalletChangeMapper.xml | 5 ++
.../resources/mapper/BaseWalletMapper.xml | 5 ++
41 files changed, 986 insertions(+)
create mode 100644 src/main/java/com/sczx/user/common/enums/WalletChangeTypeEnum.java
create mode 100644 src/main/java/com/sczx/user/controller/UserFeedbackController.java
create mode 100644 src/main/java/com/sczx/user/controller/UserWithdrawalController.java
create mode 100644 src/main/java/com/sczx/user/controller/WalletController.java
create mode 100644 src/main/java/com/sczx/user/convert/BaseUserFeedbackConvert.java
create mode 100644 src/main/java/com/sczx/user/convert/BaseUserWithdrawalConvert.java
create mode 100644 src/main/java/com/sczx/user/convert/BaseWalletChangeConvert.java
create mode 100644 src/main/java/com/sczx/user/convert/BaseWalletConvert.java
create mode 100644 src/main/java/com/sczx/user/dto/BaseUserFeedbackDTO.java
create mode 100644 src/main/java/com/sczx/user/dto/BaseUserWithdrawalDTO.java
create mode 100644 src/main/java/com/sczx/user/dto/BaseWalletChangeDTO.java
create mode 100644 src/main/java/com/sczx/user/dto/BaseWalletDTO.java
create mode 100644 src/main/java/com/sczx/user/dto/WalletChangeQueryReq.java
create mode 100644 src/main/java/com/sczx/user/mapper/BaseUserFeedbackMapper.java
create mode 100644 src/main/java/com/sczx/user/mapper/BaseUserWithdrawalMapper.java
create mode 100644 src/main/java/com/sczx/user/mapper/BaseWalletChangeMapper.java
create mode 100644 src/main/java/com/sczx/user/mapper/BaseWalletMapper.java
create mode 100644 src/main/java/com/sczx/user/po/BaseUserFeedbackPO.java
create mode 100644 src/main/java/com/sczx/user/po/BaseUserWithdrawalPO.java
create mode 100644 src/main/java/com/sczx/user/po/BaseWalletChangePO.java
create mode 100644 src/main/java/com/sczx/user/po/BaseWalletPO.java
create mode 100644 src/main/java/com/sczx/user/repository/BaseUserFeedbackRepo.java
create mode 100644 src/main/java/com/sczx/user/repository/BaseUserWithdrawalRepo.java
create mode 100644 src/main/java/com/sczx/user/repository/BaseWalletChangeRepo.java
create mode 100644 src/main/java/com/sczx/user/repository/BaseWalletRepo.java
create mode 100644 src/main/java/com/sczx/user/repository/impl/BaseUserFeedbackRepoImpl.java
create mode 100644 src/main/java/com/sczx/user/repository/impl/BaseUserWithdrawalRepoImpl.java
create mode 100644 src/main/java/com/sczx/user/repository/impl/BaseWalletChangeRepoImpl.java
create mode 100644 src/main/java/com/sczx/user/repository/impl/BaseWalletRepoImpl.java
create mode 100644 src/main/java/com/sczx/user/service/IUserFeedbackService.java
create mode 100644 src/main/java/com/sczx/user/service/IUserWithdrawalService.java
create mode 100644 src/main/java/com/sczx/user/service/IWalletService.java
create mode 100644 src/main/java/com/sczx/user/service/impl/UserFeedbackServiceImpl.java
create mode 100644 src/main/java/com/sczx/user/service/impl/UserWithdrawalServiceImpl.java
create mode 100644 src/main/java/com/sczx/user/service/impl/WalletServiceImpl.java
create mode 100644 src/main/resources/mapper/BaseUserFeedbackMapper.xml
create mode 100644 src/main/resources/mapper/BaseUserWithdrawalMapper.xml
create mode 100644 src/main/resources/mapper/BaseWalletChangeMapper.xml
create mode 100644 src/main/resources/mapper/BaseWalletMapper.xml
diff --git a/src/main/java/com/sczx/user/common/enums/WalletChangeTypeEnum.java b/src/main/java/com/sczx/user/common/enums/WalletChangeTypeEnum.java
new file mode 100644
index 0000000..b68c286
--- /dev/null
+++ b/src/main/java/com/sczx/user/common/enums/WalletChangeTypeEnum.java
@@ -0,0 +1,23 @@
+package com.sczx.user.common.enums;
+
+import lombok.Getter;
+
+/**
+ * 小程序类型枚举
+ */
+@Getter
+public enum WalletChangeTypeEnum {
+ REFERRAL("REFERRAL", "引荐"),
+ WITHDRAWAL("WITHDRAWAL", "提现");
+
+ private final String code;
+
+ private final String desc;
+
+
+ WalletChangeTypeEnum(String code, String desc) {
+ this.code = code;
+ this.desc = desc;
+ }
+
+}
diff --git a/src/main/java/com/sczx/user/controller/UserFeedbackController.java b/src/main/java/com/sczx/user/controller/UserFeedbackController.java
new file mode 100644
index 0000000..660fe22
--- /dev/null
+++ b/src/main/java/com/sczx/user/controller/UserFeedbackController.java
@@ -0,0 +1,38 @@
+package com.sczx.user.controller;
+
+
+import com.sczx.user.common.Result;
+import com.sczx.user.dto.BaseUserFeedbackDTO;
+import com.sczx.user.service.IUserFeedbackService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 用户反馈记录 前端控制器
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 18:00:57
+ */
+@Api(value = "用户反馈", tags = "用户反馈")
+@RestController
+@RequestMapping("/feedback")
+public class UserFeedbackController {
+
+ @Autowired
+ private IUserFeedbackService userService;
+
+ @ApiOperation(value = "提交反馈", notes = "提交反馈")
+ @PostMapping("/submitFeedback")
+ public Result submitFeedback(
+ @RequestBody BaseUserFeedbackDTO baseUserFeedbackDTO) {
+ userService.submitFeedback(baseUserFeedbackDTO);
+ return Result.ok(true);
+ }
+}
diff --git a/src/main/java/com/sczx/user/controller/UserWithdrawalController.java b/src/main/java/com/sczx/user/controller/UserWithdrawalController.java
new file mode 100644
index 0000000..89ba40c
--- /dev/null
+++ b/src/main/java/com/sczx/user/controller/UserWithdrawalController.java
@@ -0,0 +1,45 @@
+package com.sczx.user.controller;
+
+
+import com.sczx.user.common.Result;
+import com.sczx.user.dto.BaseUserWithdrawalDTO;
+import com.sczx.user.service.IUserWithdrawalService;
+import com.sczx.user.util.JwtUtil;
+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;
+
+import java.util.List;
+
+/**
+ *
+ * 用户提现记录 前端控制器
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 20:22:19
+ */
+@Api(value = "提现", tags = "提现")
+@RestController
+@RequestMapping("/withdrawal")
+public class UserWithdrawalController {
+
+ @Autowired
+ private JwtUtil jwtUtil;
+
+ @Autowired
+ private IUserWithdrawalService userWithdrawalService;
+
+ @ApiOperation(value = "获取提现列表", notes = "获取提现列表")
+ @GetMapping("/listWithdrawal")
+ public Result> listWithdrawal(@RequestParam(value = "userId", required = false) Long userId) {
+ if (userId == null) {
+ userId = (long) jwtUtil.getUserInfoFromToken().getUserId();
+ }
+ return Result.ok(userWithdrawalService.getUserWithdrawalList(userId));
+ }
+}
diff --git a/src/main/java/com/sczx/user/controller/WalletController.java b/src/main/java/com/sczx/user/controller/WalletController.java
new file mode 100644
index 0000000..a1b277f
--- /dev/null
+++ b/src/main/java/com/sczx/user/controller/WalletController.java
@@ -0,0 +1,54 @@
+package com.sczx.user.controller;
+
+
+import com.sczx.user.common.Result;
+import com.sczx.user.dto.BaseWalletChangeDTO;
+import com.sczx.user.dto.BaseWalletDTO;
+import com.sczx.user.dto.WalletChangeQueryReq;
+import com.sczx.user.service.IWalletService;
+import com.sczx.user.util.JwtUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ *
+ * 钱包信息 前端控制器
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 17:45:46
+ */
+@Api(value = "钱包控制器", tags = "钱包")
+@RestController
+@RequestMapping("/wallet")
+public class WalletController {
+
+ @Autowired
+ private IWalletService walletService;
+
+ @Autowired
+ private JwtUtil jwtUtil;
+
+ @ApiOperation(value = "获取钱包信息", notes = "获取钱包信息")
+ @GetMapping("/walletInfo")
+ public Result walletInfo(@RequestParam(value = "userId", required = false) Long userId) {
+ if (userId == null) {
+ userId = (long) jwtUtil.getUserInfoFromToken().getUserId();
+ }
+ return Result.ok(walletService.getWalletInfo(userId));
+ }
+
+ @ApiOperation(value = "获取钱包变更信息列表", notes = "获取钱包变更信息列表")
+ @PostMapping("/listWalletChange")
+ public Result> listWalletChange(@RequestBody WalletChangeQueryReq baseWalletChangeQueryReq) {
+ if (baseWalletChangeQueryReq.getUserId() == null) {
+ Long userId = (long) jwtUtil.getUserInfoFromToken().getUserId();
+ baseWalletChangeQueryReq.setUserId(userId);
+ }
+ return Result.ok(walletService.listWalletChange(baseWalletChangeQueryReq));
+ }
+}
diff --git a/src/main/java/com/sczx/user/convert/BaseUserFeedbackConvert.java b/src/main/java/com/sczx/user/convert/BaseUserFeedbackConvert.java
new file mode 100644
index 0000000..d3640b3
--- /dev/null
+++ b/src/main/java/com/sczx/user/convert/BaseUserFeedbackConvert.java
@@ -0,0 +1,13 @@
+package com.sczx.user.convert;
+
+import com.sczx.user.dto.BaseUserFeedbackDTO;
+import com.sczx.user.po.BaseUserFeedbackPO;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+@Mapper
+public interface BaseUserFeedbackConvert {
+ BaseUserFeedbackConvert INSTANCE = Mappers.getMapper(BaseUserFeedbackConvert.class);
+ BaseUserFeedbackDTO po2Dto(BaseUserFeedbackPO po);
+ BaseUserFeedbackPO dto2Po(BaseUserFeedbackDTO dto);
+}
diff --git a/src/main/java/com/sczx/user/convert/BaseUserWithdrawalConvert.java b/src/main/java/com/sczx/user/convert/BaseUserWithdrawalConvert.java
new file mode 100644
index 0000000..26f25dc
--- /dev/null
+++ b/src/main/java/com/sczx/user/convert/BaseUserWithdrawalConvert.java
@@ -0,0 +1,17 @@
+package com.sczx.user.convert;
+
+import com.sczx.user.dto.BaseUserWithdrawalDTO;
+import com.sczx.user.po.BaseUserWithdrawalPO;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+@Mapper
+public interface BaseUserWithdrawalConvert {
+ BaseUserWithdrawalConvert INSTANCE = Mappers.getMapper(BaseUserWithdrawalConvert.class);
+ BaseUserWithdrawalDTO po2Dto(BaseUserWithdrawalPO po);
+ BaseUserWithdrawalPO dto2Po(BaseUserWithdrawalDTO dto);
+
+ List pos2Dtos(List pos);
+}
diff --git a/src/main/java/com/sczx/user/convert/BaseWalletChangeConvert.java b/src/main/java/com/sczx/user/convert/BaseWalletChangeConvert.java
new file mode 100644
index 0000000..16a47b0
--- /dev/null
+++ b/src/main/java/com/sczx/user/convert/BaseWalletChangeConvert.java
@@ -0,0 +1,16 @@
+package com.sczx.user.convert;
+
+import com.sczx.user.dto.BaseWalletChangeDTO;
+import com.sczx.user.po.BaseWalletChangePO;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+@Mapper
+public interface BaseWalletChangeConvert {
+ BaseWalletChangeConvert INSTANCE = Mappers.getMapper(BaseWalletChangeConvert.class);
+ BaseWalletChangeDTO po2Dto(BaseWalletChangePO baseWalletPO);
+ BaseWalletChangePO dto2Po(BaseWalletChangeDTO baseWalletDTO);
+ List pos2Dtos(List baseWalletPOs);
+}
diff --git a/src/main/java/com/sczx/user/convert/BaseWalletConvert.java b/src/main/java/com/sczx/user/convert/BaseWalletConvert.java
new file mode 100644
index 0000000..7c44b42
--- /dev/null
+++ b/src/main/java/com/sczx/user/convert/BaseWalletConvert.java
@@ -0,0 +1,12 @@
+package com.sczx.user.convert;
+
+import com.sczx.user.dto.BaseWalletDTO;
+import com.sczx.user.po.BaseWalletPO;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+@Mapper
+public interface BaseWalletConvert {
+ BaseWalletConvert INSTANCE = Mappers.getMapper(BaseWalletConvert.class);
+ BaseWalletDTO po2Dto(BaseWalletPO baseWalletPO);
+}
diff --git a/src/main/java/com/sczx/user/dto/BaseUserFeedbackDTO.java b/src/main/java/com/sczx/user/dto/BaseUserFeedbackDTO.java
new file mode 100644
index 0000000..a7114c0
--- /dev/null
+++ b/src/main/java/com/sczx/user/dto/BaseUserFeedbackDTO.java
@@ -0,0 +1,24 @@
+package com.sczx.user.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel(value = "BaseUserFeedbackDTO对象", description = "用户反馈记录")
+@Data
+public class BaseUserFeedbackDTO {
+ @ApiModelProperty("id主键")
+ private Long id;
+
+ @ApiModelProperty("用户id")
+ private Long userId;
+
+ @ApiModelProperty("用户名")
+ private String userName;
+
+ @ApiModelProperty("手机号")
+ private String phoneNumber;
+
+ @ApiModelProperty("反馈内容")
+ private String feedbackContent;
+}
diff --git a/src/main/java/com/sczx/user/dto/BaseUserWithdrawalDTO.java b/src/main/java/com/sczx/user/dto/BaseUserWithdrawalDTO.java
new file mode 100644
index 0000000..4cbbcb6
--- /dev/null
+++ b/src/main/java/com/sczx/user/dto/BaseUserWithdrawalDTO.java
@@ -0,0 +1,37 @@
+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.LocalDateTime;
+
+@ApiModel(value = "BaseUserWithdrawalDTO对象", description = "用户提现记录")
+@Data
+public class BaseUserWithdrawalDTO {
+
+ @ApiModelProperty("id主键")
+ private Long id;
+
+ @ApiModelProperty("用户id")
+ private Long userId;
+
+ @ApiModelProperty("用户名")
+ private String userName;
+
+ @ApiModelProperty("手机号")
+ private String phoneNumber;
+
+ @ApiModelProperty("提现渠道")
+ private String withdrawalChannel;
+
+ @ApiModelProperty("提现金额(元)")
+ private BigDecimal withdrawalAmount;
+
+ @ApiModelProperty("提现时间")
+ private LocalDateTime withdrawalTime;
+
+ @ApiModelProperty("提现状态")
+ private String withdrawalStatus;
+}
diff --git a/src/main/java/com/sczx/user/dto/BaseWalletChangeDTO.java b/src/main/java/com/sczx/user/dto/BaseWalletChangeDTO.java
new file mode 100644
index 0000000..393cce6
--- /dev/null
+++ b/src/main/java/com/sczx/user/dto/BaseWalletChangeDTO.java
@@ -0,0 +1,33 @@
+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.LocalDateTime;
+
+@ApiModel(value = "BaseWalletChangeDTO对象", description = "钱包变更记录")
+@Data
+public class BaseWalletChangeDTO {
+ @ApiModelProperty("id主键")
+ private Long id;
+
+ @ApiModelProperty("用户id")
+ private Long userId;
+
+ @ApiModelProperty("变更类型")
+ private String changeType;
+
+ @ApiModelProperty("支付类型")
+ private String payType;
+
+ @ApiModelProperty("变更时间")
+ private LocalDateTime changeTime;
+
+ @ApiModelProperty("变更金额(元)")
+ private BigDecimal changeAmount;
+
+ @ApiModelProperty("引荐订单")
+ private String referralOrderNo;
+}
diff --git a/src/main/java/com/sczx/user/dto/BaseWalletDTO.java b/src/main/java/com/sczx/user/dto/BaseWalletDTO.java
new file mode 100644
index 0000000..2d000a8
--- /dev/null
+++ b/src/main/java/com/sczx/user/dto/BaseWalletDTO.java
@@ -0,0 +1,30 @@
+package com.sczx.user.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@ApiModel(value = "BaseWalletDTO对象", description = "钱包信息")
+@Data
+public class BaseWalletDTO {
+
+ @ApiModelProperty("用户id")
+ private Long userId;
+
+ @ApiModelProperty("用户名")
+ private String userName;
+
+ @ApiModelProperty("手机号")
+ private String phoneNumber;
+
+ @ApiModelProperty("余额(元)")
+ private BigDecimal balance;
+
+ @ApiModelProperty("可用金额(元)")
+ private BigDecimal availableAmount;
+
+ @ApiModelProperty("冻结金额(元)")
+ private BigDecimal freezeAmount;
+}
diff --git a/src/main/java/com/sczx/user/dto/SimpleUserInfoDTO.java b/src/main/java/com/sczx/user/dto/SimpleUserInfoDTO.java
index 7da5317..9c5ac3d 100644
--- a/src/main/java/com/sczx/user/dto/SimpleUserInfoDTO.java
+++ b/src/main/java/com/sczx/user/dto/SimpleUserInfoDTO.java
@@ -25,4 +25,8 @@ public class SimpleUserInfoDTO {
@ApiModelProperty("头像")
private String avatarUrl;
+
+ @ApiModelProperty("是否认证0未认证1已认证")
+ private Integer authed;
+
}
diff --git a/src/main/java/com/sczx/user/dto/WalletChangeQueryReq.java b/src/main/java/com/sczx/user/dto/WalletChangeQueryReq.java
new file mode 100644
index 0000000..ed8b4db
--- /dev/null
+++ b/src/main/java/com/sczx/user/dto/WalletChangeQueryReq.java
@@ -0,0 +1,16 @@
+package com.sczx.user.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel(value = "钱包变更记录查询请求对象")
+@Data
+public class WalletChangeQueryReq {
+
+ @ApiModelProperty("用户id")
+ private Long userId;
+
+ @ApiModelProperty("变更类型")
+ private String changeType;
+}
diff --git a/src/main/java/com/sczx/user/mapper/BaseUserFeedbackMapper.java b/src/main/java/com/sczx/user/mapper/BaseUserFeedbackMapper.java
new file mode 100644
index 0000000..1881f13
--- /dev/null
+++ b/src/main/java/com/sczx/user/mapper/BaseUserFeedbackMapper.java
@@ -0,0 +1,16 @@
+package com.sczx.user.mapper;
+
+import com.sczx.user.po.BaseUserFeedbackPO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 用户反馈记录 Mapper 接口
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 18:00:57
+ */
+public interface BaseUserFeedbackMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/sczx/user/mapper/BaseUserWithdrawalMapper.java b/src/main/java/com/sczx/user/mapper/BaseUserWithdrawalMapper.java
new file mode 100644
index 0000000..17e4fd1
--- /dev/null
+++ b/src/main/java/com/sczx/user/mapper/BaseUserWithdrawalMapper.java
@@ -0,0 +1,16 @@
+package com.sczx.user.mapper;
+
+import com.sczx.user.po.BaseUserWithdrawalPO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 用户提现记录 Mapper 接口
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 20:22:19
+ */
+public interface BaseUserWithdrawalMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/sczx/user/mapper/BaseWalletChangeMapper.java b/src/main/java/com/sczx/user/mapper/BaseWalletChangeMapper.java
new file mode 100644
index 0000000..c143116
--- /dev/null
+++ b/src/main/java/com/sczx/user/mapper/BaseWalletChangeMapper.java
@@ -0,0 +1,16 @@
+package com.sczx.user.mapper;
+
+import com.sczx.user.po.BaseWalletChangePO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 钱包变更记录 Mapper 接口
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 20:36:42
+ */
+public interface BaseWalletChangeMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/sczx/user/mapper/BaseWalletMapper.java b/src/main/java/com/sczx/user/mapper/BaseWalletMapper.java
new file mode 100644
index 0000000..ecbdc5a
--- /dev/null
+++ b/src/main/java/com/sczx/user/mapper/BaseWalletMapper.java
@@ -0,0 +1,16 @@
+package com.sczx.user.mapper;
+
+import com.sczx.user.po.BaseWalletPO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 钱包信息 Mapper 接口
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 17:45:46
+ */
+public interface BaseWalletMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/sczx/user/po/BaseUserFeedbackPO.java b/src/main/java/com/sczx/user/po/BaseUserFeedbackPO.java
new file mode 100644
index 0000000..7fc7a91
--- /dev/null
+++ b/src/main/java/com/sczx/user/po/BaseUserFeedbackPO.java
@@ -0,0 +1,56 @@
+package com.sczx.user.po;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ *
+ * 用户反馈记录
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 18:00:57
+ */
+@Getter
+@Setter
+@TableName("zc_base_user_feedback")
+@ApiModel(value = "BaseUserFeedbackPO对象", description = "用户反馈记录")
+public class BaseUserFeedbackPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("id主键")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty("用户id")
+ private Long userId;
+
+ @ApiModelProperty("用户名")
+ private String userName;
+
+ @ApiModelProperty("手机号")
+ private String phoneNumber;
+
+ @ApiModelProperty("反馈内容")
+ private String feedbackContent;
+
+ @ApiModelProperty("删除标志(0代表存在 2代表删除)")
+ private String delFlag;
+
+ @ApiModelProperty("创建时间")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("更新时间")
+ private LocalDateTime updateTime;
+
+
+}
diff --git a/src/main/java/com/sczx/user/po/BaseUserPO.java b/src/main/java/com/sczx/user/po/BaseUserPO.java
index 7f2d715..b3eb90e 100644
--- a/src/main/java/com/sczx/user/po/BaseUserPO.java
+++ b/src/main/java/com/sczx/user/po/BaseUserPO.java
@@ -55,6 +55,9 @@ public class BaseUserPO implements Serializable {
@ApiModelProperty("支付宝小程序 userid")
private String alipayUserid;
+ @ApiModelProperty("是否认证0未认证1已认证")
+ private Integer authed;
+
@ApiModelProperty("删除标志(0代表存在 2代表删除)")
private String delFlag;
diff --git a/src/main/java/com/sczx/user/po/BaseUserWithdrawalPO.java b/src/main/java/com/sczx/user/po/BaseUserWithdrawalPO.java
new file mode 100644
index 0000000..f5a1f9c
--- /dev/null
+++ b/src/main/java/com/sczx/user/po/BaseUserWithdrawalPO.java
@@ -0,0 +1,66 @@
+package com.sczx.user.po;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *
+ * 用户提现记录
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 20:22:19
+ */
+@Getter
+@Setter
+@TableName("zc_base_user_withdrawal")
+@ApiModel(value = "BaseUserWithdrawalPO对象", description = "用户提现记录")
+public class BaseUserWithdrawalPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("id主键")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty("用户id")
+ private Long userId;
+
+ @ApiModelProperty("用户名")
+ private String userName;
+
+ @ApiModelProperty("手机号")
+ private String phoneNumber;
+
+ @ApiModelProperty("提现渠道")
+ private String withdrawalChannel;
+
+ @ApiModelProperty("提现金额(元)")
+ private BigDecimal withdrawalAmount;
+
+ @ApiModelProperty("提现时间")
+ private LocalDateTime withdrawalTime;
+
+ @ApiModelProperty("提现状态")
+ private String withdrawalStatus;
+
+ @ApiModelProperty("删除标志(0代表存在 2代表删除)")
+ private String delFlag;
+
+ @ApiModelProperty("创建时间")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("更新时间")
+ private LocalDateTime updateTime;
+
+
+}
diff --git a/src/main/java/com/sczx/user/po/BaseWalletChangePO.java b/src/main/java/com/sczx/user/po/BaseWalletChangePO.java
new file mode 100644
index 0000000..a1db5a9
--- /dev/null
+++ b/src/main/java/com/sczx/user/po/BaseWalletChangePO.java
@@ -0,0 +1,63 @@
+package com.sczx.user.po;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *
+ * 钱包变更记录
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 20:36:42
+ */
+@Getter
+@Setter
+@TableName("zc_base_wallet_change")
+@ApiModel(value = "BaseWalletChangePO对象", description = "钱包变更记录")
+public class BaseWalletChangePO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("id主键")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty("用户id")
+ private Long userId;
+
+ @ApiModelProperty("变更类型")
+ private String changeType;
+
+ @ApiModelProperty("支付类型")
+ private String payType;
+
+ @ApiModelProperty("变更时间")
+ private LocalDateTime changeTime;
+
+ @ApiModelProperty("变更金额(元)")
+ private BigDecimal changeAmount;
+
+ @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/po/BaseWalletPO.java b/src/main/java/com/sczx/user/po/BaseWalletPO.java
new file mode 100644
index 0000000..ba38ff4
--- /dev/null
+++ b/src/main/java/com/sczx/user/po/BaseWalletPO.java
@@ -0,0 +1,60 @@
+package com.sczx.user.po;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *
+ * 钱包信息
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 17:45:46
+ */
+@Getter
+@Setter
+@TableName("zc_base_wallet")
+@ApiModel(value = "BaseWalletPO对象", description = "钱包信息")
+public class BaseWalletPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("用户id主键")
+ @TableId(value = "user_id", type = IdType.AUTO)
+ private Long userId;
+
+ @ApiModelProperty("用户名")
+ private String userName;
+
+ @ApiModelProperty("手机号")
+ private String phoneNumber;
+
+ @ApiModelProperty("余额(元)")
+ private BigDecimal balance;
+
+ @ApiModelProperty("可用金额(元)")
+ private BigDecimal availableAmount;
+
+ @ApiModelProperty("冻结金额(元)")
+ private BigDecimal freezeAmount;
+
+ @ApiModelProperty("删除标志(0代表存在 2代表删除)")
+ private String delFlag;
+
+ @ApiModelProperty("创建时间")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("更新时间")
+ private LocalDateTime updateTime;
+
+
+}
diff --git a/src/main/java/com/sczx/user/repository/BaseUserFeedbackRepo.java b/src/main/java/com/sczx/user/repository/BaseUserFeedbackRepo.java
new file mode 100644
index 0000000..85947f1
--- /dev/null
+++ b/src/main/java/com/sczx/user/repository/BaseUserFeedbackRepo.java
@@ -0,0 +1,16 @@
+package com.sczx.user.repository;
+
+import com.sczx.user.po.BaseUserFeedbackPO;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 用户反馈记录 服务类
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 18:00:57
+ */
+public interface BaseUserFeedbackRepo extends IService {
+
+}
diff --git a/src/main/java/com/sczx/user/repository/BaseUserWithdrawalRepo.java b/src/main/java/com/sczx/user/repository/BaseUserWithdrawalRepo.java
new file mode 100644
index 0000000..e38cf15
--- /dev/null
+++ b/src/main/java/com/sczx/user/repository/BaseUserWithdrawalRepo.java
@@ -0,0 +1,16 @@
+package com.sczx.user.repository;
+
+import com.sczx.user.po.BaseUserWithdrawalPO;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 用户提现记录 服务类
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 20:22:19
+ */
+public interface BaseUserWithdrawalRepo extends IService {
+
+}
diff --git a/src/main/java/com/sczx/user/repository/BaseWalletChangeRepo.java b/src/main/java/com/sczx/user/repository/BaseWalletChangeRepo.java
new file mode 100644
index 0000000..df0fafd
--- /dev/null
+++ b/src/main/java/com/sczx/user/repository/BaseWalletChangeRepo.java
@@ -0,0 +1,16 @@
+package com.sczx.user.repository;
+
+import com.sczx.user.po.BaseWalletChangePO;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 钱包变更记录 服务类
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 20:36:42
+ */
+public interface BaseWalletChangeRepo extends IService {
+
+}
diff --git a/src/main/java/com/sczx/user/repository/BaseWalletRepo.java b/src/main/java/com/sczx/user/repository/BaseWalletRepo.java
new file mode 100644
index 0000000..b96194c
--- /dev/null
+++ b/src/main/java/com/sczx/user/repository/BaseWalletRepo.java
@@ -0,0 +1,16 @@
+package com.sczx.user.repository;
+
+import com.sczx.user.po.BaseWalletPO;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 钱包信息 服务类
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 17:45:46
+ */
+public interface BaseWalletRepo extends IService {
+
+}
diff --git a/src/main/java/com/sczx/user/repository/impl/BaseUserFeedbackRepoImpl.java b/src/main/java/com/sczx/user/repository/impl/BaseUserFeedbackRepoImpl.java
new file mode 100644
index 0000000..1fcdf41
--- /dev/null
+++ b/src/main/java/com/sczx/user/repository/impl/BaseUserFeedbackRepoImpl.java
@@ -0,0 +1,20 @@
+package com.sczx.user.repository.impl;
+
+import com.sczx.user.po.BaseUserFeedbackPO;
+import com.sczx.user.mapper.BaseUserFeedbackMapper;
+import com.sczx.user.repository.BaseUserFeedbackRepo;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 用户反馈记录 服务实现类
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 18:00:57
+ */
+@Service
+public class BaseUserFeedbackRepoImpl extends ServiceImpl implements BaseUserFeedbackRepo {
+
+}
diff --git a/src/main/java/com/sczx/user/repository/impl/BaseUserWithdrawalRepoImpl.java b/src/main/java/com/sczx/user/repository/impl/BaseUserWithdrawalRepoImpl.java
new file mode 100644
index 0000000..e059990
--- /dev/null
+++ b/src/main/java/com/sczx/user/repository/impl/BaseUserWithdrawalRepoImpl.java
@@ -0,0 +1,20 @@
+package com.sczx.user.repository.impl;
+
+import com.sczx.user.po.BaseUserWithdrawalPO;
+import com.sczx.user.mapper.BaseUserWithdrawalMapper;
+import com.sczx.user.repository.BaseUserWithdrawalRepo;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 用户提现记录 服务实现类
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 20:22:19
+ */
+@Service
+public class BaseUserWithdrawalRepoImpl extends ServiceImpl implements BaseUserWithdrawalRepo {
+
+}
diff --git a/src/main/java/com/sczx/user/repository/impl/BaseWalletChangeRepoImpl.java b/src/main/java/com/sczx/user/repository/impl/BaseWalletChangeRepoImpl.java
new file mode 100644
index 0000000..929d2af
--- /dev/null
+++ b/src/main/java/com/sczx/user/repository/impl/BaseWalletChangeRepoImpl.java
@@ -0,0 +1,20 @@
+package com.sczx.user.repository.impl;
+
+import com.sczx.user.po.BaseWalletChangePO;
+import com.sczx.user.mapper.BaseWalletChangeMapper;
+import com.sczx.user.repository.BaseWalletChangeRepo;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 钱包变更记录 服务实现类
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 20:36:42
+ */
+@Service
+public class BaseWalletChangeRepoImpl extends ServiceImpl implements BaseWalletChangeRepo {
+
+}
diff --git a/src/main/java/com/sczx/user/repository/impl/BaseWalletRepoImpl.java b/src/main/java/com/sczx/user/repository/impl/BaseWalletRepoImpl.java
new file mode 100644
index 0000000..9d04b7d
--- /dev/null
+++ b/src/main/java/com/sczx/user/repository/impl/BaseWalletRepoImpl.java
@@ -0,0 +1,20 @@
+package com.sczx.user.repository.impl;
+
+import com.sczx.user.po.BaseWalletPO;
+import com.sczx.user.mapper.BaseWalletMapper;
+import com.sczx.user.repository.BaseWalletRepo;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 钱包信息 服务实现类
+ *
+ *
+ * @author zhangli
+ * @since 2025-08-16 17:45:46
+ */
+@Service
+public class BaseWalletRepoImpl extends ServiceImpl implements BaseWalletRepo {
+
+}
diff --git a/src/main/java/com/sczx/user/service/IUserFeedbackService.java b/src/main/java/com/sczx/user/service/IUserFeedbackService.java
new file mode 100644
index 0000000..3894f73
--- /dev/null
+++ b/src/main/java/com/sczx/user/service/IUserFeedbackService.java
@@ -0,0 +1,12 @@
+package com.sczx.user.service;
+
+import com.sczx.user.dto.BaseUserFeedbackDTO;
+
+public interface IUserFeedbackService {
+
+ /**
+ * 提交反馈
+ * @param baseUserFeedbackDTO
+ */
+ void submitFeedback(BaseUserFeedbackDTO baseUserFeedbackDTO);
+}
diff --git a/src/main/java/com/sczx/user/service/IUserWithdrawalService.java b/src/main/java/com/sczx/user/service/IUserWithdrawalService.java
new file mode 100644
index 0000000..0c3fb05
--- /dev/null
+++ b/src/main/java/com/sczx/user/service/IUserWithdrawalService.java
@@ -0,0 +1,14 @@
+package com.sczx.user.service;
+
+import com.sczx.user.dto.BaseUserWithdrawalDTO;
+
+import java.util.List;
+
+public interface IUserWithdrawalService {
+ /**
+ * 根据用户id获取提现记录
+ * @param userId
+ * @return
+ */
+ List getUserWithdrawalList(Long userId);
+}
diff --git a/src/main/java/com/sczx/user/service/IWalletService.java b/src/main/java/com/sczx/user/service/IWalletService.java
new file mode 100644
index 0000000..5369d3f
--- /dev/null
+++ b/src/main/java/com/sczx/user/service/IWalletService.java
@@ -0,0 +1,25 @@
+package com.sczx.user.service;
+
+import com.sczx.user.dto.BaseWalletChangeDTO;
+import com.sczx.user.dto.BaseWalletDTO;
+import com.sczx.user.dto.WalletChangeQueryReq;
+
+import java.util.List;
+
+public interface IWalletService {
+
+ /**
+ * 根据用户id获取钱包信息
+ *
+ * @param userId
+ * @return
+ */
+ BaseWalletDTO getWalletInfo(Long userId);
+
+ /**
+ * 根据条件获取钱包变更记录
+ * @param baseWalletChangeQueryReq
+ * @return
+ */
+ List listWalletChange(WalletChangeQueryReq baseWalletChangeQueryReq);
+}
diff --git a/src/main/java/com/sczx/user/service/impl/UserFeedbackServiceImpl.java b/src/main/java/com/sczx/user/service/impl/UserFeedbackServiceImpl.java
new file mode 100644
index 0000000..6569af5
--- /dev/null
+++ b/src/main/java/com/sczx/user/service/impl/UserFeedbackServiceImpl.java
@@ -0,0 +1,24 @@
+package com.sczx.user.service.impl;
+
+import com.sczx.user.convert.BaseUserFeedbackConvert;
+import com.sczx.user.dto.BaseUserFeedbackDTO;
+import com.sczx.user.po.BaseUserFeedbackPO;
+import com.sczx.user.repository.BaseUserFeedbackRepo;
+import com.sczx.user.service.IUserFeedbackService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Slf4j
+@Service
+public class UserFeedbackServiceImpl implements IUserFeedbackService {
+
+ @Autowired
+ private BaseUserFeedbackRepo baseUserFeedbackRepo;
+
+ @Override
+ public void submitFeedback(BaseUserFeedbackDTO baseUserFeedbackDTO) {
+ BaseUserFeedbackPO baseUserFeedbackPO = BaseUserFeedbackConvert.INSTANCE.dto2Po(baseUserFeedbackDTO);
+ baseUserFeedbackRepo.save(baseUserFeedbackPO);
+ }
+}
diff --git a/src/main/java/com/sczx/user/service/impl/UserWithdrawalServiceImpl.java b/src/main/java/com/sczx/user/service/impl/UserWithdrawalServiceImpl.java
new file mode 100644
index 0000000..078a76b
--- /dev/null
+++ b/src/main/java/com/sczx/user/service/impl/UserWithdrawalServiceImpl.java
@@ -0,0 +1,29 @@
+package com.sczx.user.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sczx.user.convert.BaseUserWithdrawalConvert;
+import com.sczx.user.dto.BaseUserWithdrawalDTO;
+import com.sczx.user.po.BaseUserWithdrawalPO;
+import com.sczx.user.repository.BaseUserWithdrawalRepo;
+import com.sczx.user.service.IUserWithdrawalService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Slf4j
+@Service
+public class UserWithdrawalServiceImpl implements IUserWithdrawalService {
+
+ @Autowired
+ private BaseUserWithdrawalRepo baseUserWithdrawalRepo;
+ @Override
+ public List getUserWithdrawalList(Long userId) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(BaseUserWithdrawalPO::getUserId, userId).orderByDesc(BaseUserWithdrawalPO::getWithdrawalTime);
+ List baseUserWithdrawalPOList = baseUserWithdrawalRepo.list(queryWrapper);
+
+ return BaseUserWithdrawalConvert.INSTANCE.pos2Dtos(baseUserWithdrawalPOList);
+ }
+}
diff --git a/src/main/java/com/sczx/user/service/impl/WalletServiceImpl.java b/src/main/java/com/sczx/user/service/impl/WalletServiceImpl.java
new file mode 100644
index 0000000..41eecfb
--- /dev/null
+++ b/src/main/java/com/sczx/user/service/impl/WalletServiceImpl.java
@@ -0,0 +1,44 @@
+package com.sczx.user.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sczx.user.convert.BaseWalletChangeConvert;
+import com.sczx.user.convert.BaseWalletConvert;
+import com.sczx.user.dto.BaseWalletChangeDTO;
+import com.sczx.user.dto.BaseWalletDTO;
+import com.sczx.user.dto.WalletChangeQueryReq;
+import com.sczx.user.po.BaseWalletChangePO;
+import com.sczx.user.po.BaseWalletPO;
+import com.sczx.user.repository.BaseWalletChangeRepo;
+import com.sczx.user.repository.BaseWalletRepo;
+import com.sczx.user.service.IWalletService;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class WalletServiceImpl implements IWalletService {
+
+ @Autowired
+ private BaseWalletRepo baseWalletRepo;
+
+ @Autowired
+ private BaseWalletChangeRepo baseWalletChangeRepo;
+
+ @Override
+ public BaseWalletDTO getWalletInfo(Long userId) {
+ BaseWalletPO baseWalletPO = baseWalletRepo.getById(userId);
+ return BaseWalletConvert.INSTANCE.po2Dto(baseWalletPO);
+ }
+
+ @Override
+ public List listWalletChange(WalletChangeQueryReq baseWalletChangeQueryReq) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(BaseWalletChangePO::getUserId, baseWalletChangeQueryReq.getUserId())
+ .eq(StringUtils.isNotBlank(baseWalletChangeQueryReq.getChangeType()),BaseWalletChangePO::getChangeType, baseWalletChangeQueryReq.getChangeType())
+ .orderByDesc(BaseWalletChangePO::getChangeTime);
+ List baseWalletChangePOList = baseWalletChangeRepo.list(queryWrapper);
+ return BaseWalletChangeConvert.INSTANCE.pos2Dtos(baseWalletChangePOList);
+ }
+}
diff --git a/src/main/resources/mapper/BaseUserFeedbackMapper.xml b/src/main/resources/mapper/BaseUserFeedbackMapper.xml
new file mode 100644
index 0000000..62d89a9
--- /dev/null
+++ b/src/main/resources/mapper/BaseUserFeedbackMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/main/resources/mapper/BaseUserWithdrawalMapper.xml b/src/main/resources/mapper/BaseUserWithdrawalMapper.xml
new file mode 100644
index 0000000..ce02668
--- /dev/null
+++ b/src/main/resources/mapper/BaseUserWithdrawalMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/main/resources/mapper/BaseWalletChangeMapper.xml b/src/main/resources/mapper/BaseWalletChangeMapper.xml
new file mode 100644
index 0000000..a64f2e6
--- /dev/null
+++ b/src/main/resources/mapper/BaseWalletChangeMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/main/resources/mapper/BaseWalletMapper.xml b/src/main/resources/mapper/BaseWalletMapper.xml
new file mode 100644
index 0000000..d5adcd1
--- /dev/null
+++ b/src/main/resources/mapper/BaseWalletMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+