Administrator
2025-05-08 81844d308f0bb3a1c64152d0acfcac61856f24b4
refactor(mall): 重构签到积分功能

- 修改积分设置页面布局和提示信息
- 更新 ApiScoreController 类,调整其包路径和注释
- 修改 ScoreServiceImpl 中的签到逻辑,增加对超过 7 天签到的处理
- 更新 MallMemberWallet 实体类中的 prizeScore 字段注释
1 files renamed
3 files modified
94 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/signActivity/ApiScoreController.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallMemberWallet.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/score/setting.html 77 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/signActivity/ApiScoreController.java
File was renamed from src/main/java/cc/mrbird/febs/mall/controller/ApiScoreController.java
@@ -1,4 +1,4 @@
package cc.mrbird.febs.mall.controller;
package cc.mrbird.febs.mall.controller.signActivity;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.service.ICommonService;
@@ -24,11 +24,10 @@
@CrossOrigin("*")
@RequiredArgsConstructor
@RequestMapping(value = "/api/score")
@Api(value = "ApiScoreController", tags = "积分接口类")
@Api(value = "ApiScoreController", tags = "365签到接口类")
public class ApiScoreController {
    private final IScoreService scoreService;
    @ApiOperation(value = "积分签到", notes = "积分签到")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ScoreSignVo.class)
src/main/java/cc/mrbird/febs/mall/entity/MallMemberWallet.java
@@ -35,7 +35,7 @@
    private BigDecimal totalScore;
    /**
     * 抽奖积分
     * 抽奖积分,签到积分,下单赠送积分
     */
    private BigDecimal prizeScore;
src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
@@ -150,6 +150,16 @@
                }
                mallScoreSignRecord.setScore(scoreSetting.getSignInSeven());
                break;
            default:
                if (scoreSetting.getSignInOne() == null) {
                    throw new FebsException("积分未设置");
                }
                if(days > 7){
                    mallScoreSignRecord.setScore(scoreSetting.getSignInSeven());
                }else{
                    mallScoreSignRecord.setScore(scoreSetting.getSignInOne());
                }
                break;
        }
        mallScoreSignRecord.setMemberId(member.getId());
src/main/resources/templates/febs/views/modules/score/setting.html
@@ -3,67 +3,82 @@
        <form class="layui-form" action="" lay-filter="score-setting-form">
            <div class="layui-card">
                <div class="layui-card-body">
                    <blockquote class="layui-elem-quote blue-border">基本规则:</blockquote>
                    <div class="layui-form-item">
                        <label class="layui-form-label ">连续签到1天:</label>
                        <div class="layui-input-block">
                        <label class="layui-form-label ">每次签到获得</label>
                        <div class="layui-input-inline" style="width: 120px">
                            <input type="text" name="signInOne" lay-verify="number" th:value="${obj != null ? obj.signInOne : null}" autocomplete="off" class="layui-input">
                        </div>
                        <div class="layui-form-mid">积分</div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label ">连续签到2天:</label>
                        <div class="layui-input-block">
                        <label class="layui-form-label ">连续签到2天获得</label>
                        <div class="layui-input-inline" style="width: 120px">
                            <input type="text" name="signInTwo" lay-verify="number" th:value="${obj != null ? obj.signInTwo : null}" autocomplete="off" class="layui-input">
                        </div>
                        <div class="layui-form-mid">积分</div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label ">连续签到3天:</label>
                        <div class="layui-input-block">
                        <label class="layui-form-label ">连续签到3天获得</label>
                        <div class="layui-input-inline" style="width: 120px">
                            <input type="text" name="signInThree" lay-verify="number" th:value="${obj != null ? obj.signInThree : null}" autocomplete="off" class="layui-input">
                        </div>
                        <div class="layui-form-mid">积分</div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label ">连续签到4天:</label>
                        <div class="layui-input-block">
                        <label class="layui-form-label ">连续签到4天获得</label>
                        <div class="layui-input-inline" style="width: 120px">
                            <input type="text" name="signInFour" lay-verify="number" th:value="${obj != null ? obj.signInFour : null}" autocomplete="off" class="layui-input">
                        </div>
                        <div class="layui-form-mid">积分</div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label ">连续签到5天:</label>
                        <div class="layui-input-block">
                        <label class="layui-form-label ">连续签到5天获得</label>
                        <div class="layui-input-inline" style="width: 120px">
                            <input type="text" name="signInFive" lay-verify="number" th:value="${obj != null ? obj.signInFive : null}" autocomplete="off" class="layui-input">
                        </div>
                        <div class="layui-form-mid">积分</div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label ">连续签到6天:</label>
                        <div class="layui-input-block">
                        <label class="layui-form-label ">连续签到6天获得</label>
                        <div class="layui-input-inline" style="width: 120px">
                            <input type="text" name="signInSix" lay-verify="number" th:value="${obj != null ? obj.signInSix : null}" autocomplete="off" class="layui-input">
                        </div>
                        <div class="layui-form-mid">积分</div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label ">连续签到7天:</label>
                        <div class="layui-input-block">
                        <label class="layui-form-label ">连续签到7天获得</label>
                        <div class="layui-input-inline" style="width: 120px">
                            <input type="text" name="signInSeven" lay-verify="number" th:value="${obj != null ? obj.signInSeven : null}" autocomplete="off" class="layui-input">
                        </div>
                        <div class="layui-form-mid">积分</div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label ">连续签到</label>
                        <div class="layui-input-inline" style="width: 120px">
                            <input type="text" name="signInTotal" lay-verify="number" th:value="${obj != null ? obj.signInTotal : null}" autocomplete="off" class="layui-input">
                        </div>
                        <div class="layui-form-mid">天,可获得额外</div>
                        <div class="layui-input-inline" style="width: 120px">
                            <input type="text" name="signInMore" lay-verify="number" th:value="${obj != null ? obj.signInMore : null}" autocomplete="off" class="layui-input">
                        </div>
                        <div class="layui-form-mid">竞猜积分</div>
                    </div>
<!--                    <div class="layui-form-item">-->
<!--                        <label class="layui-form-label ">连续签到</label>-->
<!--                        <div class="layui-input-inline" style="width: 120px">-->
<!--                            <input type="text" name="signInTotal" lay-verify="number" th:value="${obj != null ? obj.signInTotal : null}" autocomplete="off" class="layui-input">-->
<!--                        </div>-->
<!--                        <div class="layui-form-mid">天,可获得</div>-->
<!--                        <div class="layui-input-inline" style="width: 120px">-->
<!--                            <input type="text" name="signInMore" lay-verify="number" th:value="${obj != null ? obj.signInMore : null}" autocomplete="off" class="layui-input">-->
<!--                        </div>-->
<!--                        <div class="layui-form-mid">积分</div>-->
<!--                    </div>-->
                    <div class="layui-form-item">
                        <label class="layui-form-label ">最多可得积分:</label>
                        <div class="layui-input-block">
                            <input type="text" name="mostSignIn" lay-verify="number" th:value="${obj != null ? obj.mostSignIn : null}" autocomplete="off" class="layui-input">
                        </div>
                    </div>
<!--                    <div class="layui-form-item">-->
<!--                        <label class="layui-form-label ">每次签到获得:</label>-->
<!--                        <div class="layui-input-block">-->
<!--                            <input type="text" name="mostSignIn" lay-verify="number" th:value="${obj != null ? obj.mostSignIn : null}" autocomplete="off" class="layui-input">-->
<!--                        </div>-->
<!--                    </div>-->
                </div>
                <div class="layui-card-footer">