From e84e66b4fab056b7fe7e9b04c0abdcb6ebc0f1bb Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 20 Nov 2024 11:35:21 +0800
Subject: [PATCH] feat(mall): 添加会员余额和积分相关功能

---
 src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java     |    2 +-
 src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java                 |    3 ++-
 src/main/resources/mapper/modules/MallMemberMapper.xml                         |   11 +++++++++++
 src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java         |    2 ++
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java |   12 +++++++-----
 src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html |   13 ++++++++-----
 6 files changed, 31 insertions(+), 12 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
index 156b641..1caebf6 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
@@ -79,7 +79,7 @@
     @GetMapping("mallSystemPay/{type}/{id}")
     @RequiresPermissions("mallSystemPay:update")
     public String systemPay(@PathVariable long id, @PathVariable Integer type, Model model) {
-        MallMemberVo data = mallMemberService.getMallMemberInfoById(id);
+        MallMemberVo data = mallMemberService.getMallMemberWalletById(id);
         model.addAttribute("systemPay", data);
         model.addAttribute("type", type);
         return FebsUtil.view("modules/mallMember/mallSystemPay");
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
index 29e8ac8..e9f8e9d 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -3,7 +3,6 @@
 import cc.mrbird.febs.mall.dto.AgentDto;
 import cc.mrbird.febs.mall.dto.AgentLevelDto;
 import cc.mrbird.febs.mall.dto.RankAwardDto;
-import cc.mrbird.febs.mall.dto.RankListDto;
 import cc.mrbird.febs.mall.entity.AppVersion;
 import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.vo.*;
@@ -31,6 +30,8 @@
 
     MallMemberVo getMallMemberInfoById(@Param("id")long id);
 
+    MallMemberVo getMallMemberWalletById(@Param("id")long id);
+
     List<TeamListVo> selectTeamListByInviteId(@Param("inviteId") String inviteId);
 
     BigDecimal selectOwnOrderAmountByInviteId(@Param("inviteId") String inviteId);
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
index 810b4d7..b337336 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
@@ -23,6 +23,8 @@
 
     MallMemberVo getMallMemberInfoById(@NotNull(message = "{required}") long id);
 
+    MallMemberVo getMallMemberWalletById(@NotNull(message = "{required}") long id);
+
     IPage<AdminMallMoneyFlowVo> moneyFlow(QueryRequest request, MallMember mallMember);
 
     IPage<AdminMoneyFlowListVo> getMoneyFlowListInPage(MoneyFlowListDto moneyFlowListDto, QueryRequest request);
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 0bce76e..49a765d 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -3,16 +3,12 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
-import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
 import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.AppContants;
-import cc.mrbird.febs.common.utils.LoginUserUtil;
-import cc.mrbird.febs.common.utils.MallUtils;
 import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.*;
-import cc.mrbird.febs.mall.entity.MallNewsInfo;
 import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IAdminMallMemberService;
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
@@ -33,10 +29,10 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.xmlbeans.impl.store.Query;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
@@ -150,6 +146,12 @@
     }
 
     @Override
+    public MallMemberVo getMallMemberWalletById(@NotNull(message = "{required}") long id) {
+        MallMemberVo mallMemberVo = mallMemberMapper.getMallMemberWalletById(id);
+        return mallMemberVo;
+    }
+
+    @Override
     public IPage<AdminMallMoneyFlowVo> moneyFlow(QueryRequest request, MallMember mallMember) {
         Page<AdminMallMoneyFlowVo> page = new Page<>(request.getPageNum(), request.getPageSize());
         IPage<AdminMallMoneyFlowVo> adminMallMoneyFlowVos = mallMoneyFlowMapper.selectMoneyFlowInPage(page, mallMember);
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index 5677764..aa5c75d 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -67,6 +67,17 @@
             GROUP BY a.id
     </select>
 
+    <select id="getMallMemberWalletById" resultType="cc.mrbird.febs.mall.vo.MallMemberVo">
+        SELECT a.id,
+               a.name,
+               IFNULL(c.balance,0) balance,
+               IFNULL(c.score,0) score,
+               IFNULL(c.prize_score,0) prizeScore
+        FROM mall_member a
+                 LEFT JOIN mall_member_wallet c on c.member_id = a.id
+        where a.id = #{id}
+    </select>
+
     <select id="selectInfoByAccount" resultType="cc.mrbird.febs.mall.entity.MallMember">
         select * from mall_member where phone=#{account} or email=#{account} or invite_id=#{account}
     </select>
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index 86fb5e5..7513d12 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -104,6 +104,9 @@
 </style>
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="balance">余额充值</button>
+        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="prizeScore">积分充值</button>
+        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="resetPwd">登录密码重置</button>
         <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="updateReferer">修改推荐人</button>
         <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="updateVipLevel">修改会员等级</button>
         <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="addCoupon">优惠券派送</button>
@@ -394,7 +397,7 @@
             }
 
             if (layEvent === 'resetPwd') {
-                febs.modal.confirm('重置登录密码', '是否重置选中账号登录密码?', function () {
+                febs.modal.confirm('重置登录密码', '是否重置选中账号登录密码为:【a123456】?', function () {
                     var ids = [];
                     layui.each(checkData, function (key, item) {
                         ids.push(item.id)
@@ -418,21 +421,21 @@
                 if (checkData.length > 1) {
                     febs.alert.warn('请选择一个用户');
                 }
-                systemPay("修改余额", checkData[0].id, 1);
+                systemPay("余额充值", checkData[0].id, 1);
             }
 
             if (layEvent === 'score') {
                 if (checkData.length > 1) {
                     febs.alert.warn('请选择一个用户');
                 }
-                systemPay("修改赠送积分", checkData[0].id, 2);
+                systemPay("积分充值", checkData[0].id, 2);
             }
 
             if (layEvent === 'prizeScore') {
                 if (checkData.length > 1) {
                     febs.alert.warn('请选择一个用户');
                 }
-                systemPay("修改竞猜积分", checkData[0].id, 3);
+                systemPay("积分充值", checkData[0].id, 3);
             }
 
             if (layEvent === 'agentLevel') {
@@ -461,7 +464,7 @@
         });
 
         function systemPay(text, id, type) {
-            febs.modal.open('text', 'modules/mallMember/mallSystemPay/' + type +'/'+ id, {
+            febs.modal.open(text, 'modules/mallMember/mallSystemPay/' + type +'/'+ id, {
                 btn: ['提交', '取消'],
                 yes: function (index, layero) {
                     $('#systemPay-update').find('#submit').trigger('click');

--
Gitblit v1.9.1