diff --git a/mall-portal/pom.xml b/mall-portal/pom.xml
index 2255830..aa0845a 100644
--- a/mall-portal/pom.xml
+++ b/mall-portal/pom.xml
@@ -59,6 +59,7 @@
org.projectlombok
lombok
true
+ 1.18.20
diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/controller/MyWalletController.java b/mall-portal/src/main/java/com/buy507/mall/portal/controller/MyWalletController.java
new file mode 100644
index 0000000..a51c6e2
--- /dev/null
+++ b/mall-portal/src/main/java/com/buy507/mall/portal/controller/MyWalletController.java
@@ -0,0 +1,41 @@
+package com.buy507.mall.portal.controller;
+
+import com.buy507.mall.common.api.CommonResult;
+import com.buy507.mall.portal.service.MyWalletService;
+import com.buy507.mall.portal.vo.WalletCashVo;
+import com.buy507.mall.portal.vo.WalletPointsVo;
+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;
+
+@RestController
+@RequestMapping("/wallet")
+public class MyWalletController {
+
+ @Autowired
+ private MyWalletService myWalletService;
+
+ /**
+ * 获取现金余额和流水
+ * @param userId
+ * @return
+ */
+ @GetMapping("/balance")
+ public CommonResult getBalance(@RequestParam Long userId){
+ WalletCashVo walletCashVo = myWalletService.getBalanceAndCashFlow(userId);
+ return CommonResult.success(walletCashVo);
+ }
+
+ /**
+ * 获取积分余额和流水
+ * @param userId
+ * @return
+ */
+ @GetMapping("/points")
+ public CommonResult getIntegration(@RequestParam Long userId){
+ WalletPointsVo walletPointsVo = myWalletService.getIntegrationAndPointsFlow(userId);
+ return CommonResult.success(walletPointsVo);
+ }
+}
diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/dao/MyWalletMapper.java b/mall-portal/src/main/java/com/buy507/mall/portal/dao/MyWalletMapper.java
new file mode 100644
index 0000000..a142017
--- /dev/null
+++ b/mall-portal/src/main/java/com/buy507/mall/portal/dao/MyWalletMapper.java
@@ -0,0 +1,47 @@
+package com.buy507.mall.portal.dao;
+
+import com.buy507.mall.portal.vo.TransactionCashVo;
+import com.buy507.mall.portal.vo.TransactionPointsVo;
+import com.buy507.mall.portal.vo.WalletCashVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Mapper
+public interface MyWalletMapper {
+ /**
+ * 获取用户现金余额
+ * @param userId
+ * @return
+ */
+ @Select("SELECT balance FROM ums_member WHERE id = #{userId}")
+ BigDecimal getBalance(Long userId);
+
+ /**
+ * 获取用户现金流水
+ * @param userId
+ * @return
+ */
+ @Select("SELECT revenue_amount, remarks, transfer_payment_time FROM ums_member_account_transaction " +
+ "WHERE ums_member_account_transaction.member_id = #{userId} ORDER BY transfer_payment_time DESC")
+ List getCashFlow(Long userId);
+
+ /**
+ * 获取用户积分余额
+ * @param userId
+ * @return
+ */
+ @Select("SELECT integration FROM ums_member WHERE id = #{userId}")
+ Integer getIntegration(Long userId);
+
+ /**
+ * 获取用户积分流水
+ * @param userId
+ * @return
+ */
+ @Select("SELECT revenue_points, remarks, transfer_payment_time FROM ums_member_account_transaction " +
+ "WHERE ums_member_account_transaction.member_id = #{userId} ORDER BY transfer_payment_time DESC")
+ List getPointsFlow(Long userId);
+}
diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/service/MyWalletService.java b/mall-portal/src/main/java/com/buy507/mall/portal/service/MyWalletService.java
new file mode 100644
index 0000000..c40c13a
--- /dev/null
+++ b/mall-portal/src/main/java/com/buy507/mall/portal/service/MyWalletService.java
@@ -0,0 +1,21 @@
+package com.buy507.mall.portal.service;
+
+import com.buy507.mall.portal.vo.WalletCashVo;
+import com.buy507.mall.portal.vo.WalletPointsVo;
+
+public interface MyWalletService {
+
+ /**
+ * 获取现金余额和流水
+ * @param userId
+ * @return
+ */
+ WalletCashVo getBalanceAndCashFlow(Long userId);
+
+ /**
+ * 获取积分余额和流水
+ * @param userId
+ * @return
+ */
+ WalletPointsVo getIntegrationAndPointsFlow(Long userId);
+}
diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/MyWalletServiceImpl.java b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/MyWalletServiceImpl.java
new file mode 100644
index 0000000..806b477
--- /dev/null
+++ b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/MyWalletServiceImpl.java
@@ -0,0 +1,49 @@
+package com.buy507.mall.portal.service.impl;
+
+import com.buy507.mall.portal.dao.MyWalletMapper;
+import com.buy507.mall.portal.service.MyWalletService;
+import com.buy507.mall.portal.vo.WalletCashVo;
+import com.buy507.mall.portal.vo.WalletPointsVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class MyWalletServiceImpl implements MyWalletService {
+
+ @Autowired
+ private MyWalletMapper myWalletMapper;
+
+ /**
+ * 获取现金余额和流水
+ * @param userId
+ * @return
+ */
+ @Override
+ public WalletCashVo getBalanceAndCashFlow(Long userId) {
+
+ WalletCashVo walletCashVo = new WalletCashVo();
+ //获取现金余额
+ walletCashVo.setBalance(myWalletMapper.getBalance(userId));
+ //获取现金流水
+ walletCashVo.setCashVoList(myWalletMapper.getCashFlow(userId));
+
+ return walletCashVo;
+ }
+
+ /**
+ * 获取积分余额和流水
+ * @param userId
+ * @return
+ */
+ @Override
+ public WalletPointsVo getIntegrationAndPointsFlow(Long userId) {
+ WalletPointsVo walletPointsVo = new WalletPointsVo();
+
+ //获取积分余额
+ walletPointsVo.setIntegration(myWalletMapper.getIntegration(userId));
+ //获取积分流水
+ walletPointsVo.setPointsVoList(myWalletMapper.getPointsFlow(userId));
+
+ return walletPointsVo;
+ }
+}
diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/vo/TransactionCashVo.java b/mall-portal/src/main/java/com/buy507/mall/portal/vo/TransactionCashVo.java
new file mode 100644
index 0000000..ad45480
--- /dev/null
+++ b/mall-portal/src/main/java/com/buy507/mall/portal/vo/TransactionCashVo.java
@@ -0,0 +1,22 @@
+package com.buy507.mall.portal.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TransactionCashVo implements Serializable {
+
+ //现金数额
+ private Integer revenueAmount;
+
+ //备注
+ private String remarks;
+
+ //时间
+ private Data transferPaymentTime;
+}
diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/vo/TransactionPointsVo.java b/mall-portal/src/main/java/com/buy507/mall/portal/vo/TransactionPointsVo.java
new file mode 100644
index 0000000..df7d12a
--- /dev/null
+++ b/mall-portal/src/main/java/com/buy507/mall/portal/vo/TransactionPointsVo.java
@@ -0,0 +1,21 @@
+package com.buy507.mall.portal.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TransactionPointsVo implements Serializable {
+ //积分数额
+ private Integer revenuePoints;
+
+ //备注
+ private String remarks;
+
+ //时间
+ private Data transferPaymentTime;
+}
diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/vo/WalletCashVo.java b/mall-portal/src/main/java/com/buy507/mall/portal/vo/WalletCashVo.java
new file mode 100644
index 0000000..934f8da
--- /dev/null
+++ b/mall-portal/src/main/java/com/buy507/mall/portal/vo/WalletCashVo.java
@@ -0,0 +1,16 @@
+package com.buy507.mall.portal.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class WalletCashVo {
+
+ // 余额现金
+ private BigDecimal balance;
+
+ //现金流水
+ private List cashVoList;
+}
diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/vo/WalletPointsVo.java b/mall-portal/src/main/java/com/buy507/mall/portal/vo/WalletPointsVo.java
new file mode 100644
index 0000000..55b0fdc
--- /dev/null
+++ b/mall-portal/src/main/java/com/buy507/mall/portal/vo/WalletPointsVo.java
@@ -0,0 +1,15 @@
+package com.buy507.mall.portal.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class WalletPointsVo {
+ // 余额积分
+ private Integer integration;
+
+ //积分流水
+ private List pointsVoList;
+}
diff --git a/mall-portal/src/main/resources/dao/MyWalletMapper.xml b/mall-portal/src/main/resources/dao/MyWalletMapper.xml
new file mode 100644
index 0000000..0daca2c
--- /dev/null
+++ b/mall-portal/src/main/resources/dao/MyWalletMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file