From 96054b44d4f7a45717700c0e663f28442200b9b1 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 13 Mar 2023 14:56:54 +0800 Subject: [PATCH] 签到设置 --- src/main/java/cc/mrbird/febs/mall/dto/HlmScoreSetDto.java | 8 ++ src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java | 8 ++ src/main/resources/templates/febs/views/modules/system/hlmScoreSet.html | 32 +++++++- src/main/java/cc/mrbird/febs/mall/dto/ApiMallScoreSignRecordDto.java | 4 + src/main/java/cc/mrbird/febs/mall/mapper/MallScoreSignRecordMapper.java | 2 src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java | 14 +++ src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java | 8 ++ src/main/resources/mapper/modules/MallScoreSignRecordMapper.xml | 14 +++ src/main/resources/templates/febs/views/modules/order/refundList.html | 7 + src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java | 20 ++++ src/main/resources/templates/febs/views/modules/order/orderList.html | 22 ++--- src/main/resources/templates/febs/views/modules/system/indexData.html | 64 ++++++++-------- 12 files changed, 150 insertions(+), 53 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java index d55a623..2ceea29 100644 --- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java +++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java @@ -31,6 +31,14 @@ */ SHARE_PERK("PERK_SET","SHARE_PERK"), /** + * 签到设置-签到积分后续获得积分数量 + */ + SIGN_SCORE_CNT("SIGN_SET","SIGN_SCORE_CNT"), + /** + * 签到设置-签到积分开始天数 + */ + SIGN_SCORE_DAYS("SIGN_SET","SIGN_SCORE_DAYS"), + /** * 签到设置-签到积分 */ SIGN_SCORE("SIGN_SET","SIGN_SCORE"), diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java index fef1c03..a8e9d18 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java @@ -56,6 +56,14 @@ DataDictionaryEnum.SIGN_SCORE.getCode(), hlmScoreSetDto.getSignScore()); commonService.updateDataDic( + DataDictionaryEnum.SIGN_SCORE_DAYS.getType(), + DataDictionaryEnum.SIGN_SCORE_DAYS.getCode(), + hlmScoreSetDto.getSignScoreDays()); + commonService.updateDataDic( + DataDictionaryEnum.SIGN_SCORE_CNT.getType(), + DataDictionaryEnum.SIGN_SCORE_CNT.getCode(), + hlmScoreSetDto.getSignScoreCnt()); + commonService.updateDataDic( DataDictionaryEnum.SCORE_PERCENT.getType(), DataDictionaryEnum.SCORE_PERCENT.getCode(), hlmScoreSetDto.getScorePercent()); diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java index 087cdc4..35ad3da 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java @@ -62,6 +62,20 @@ String signScore = ObjectUtil.isEmpty(signScoreDic.getValue()) ? "0" : signScoreDic.getValue(); hlmScoreSetDto.setSignScore(signScore); } + DataDictionaryCustom signScoreDaysDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.SIGN_SCORE_DAYS.getType(), + DataDictionaryEnum.SIGN_SCORE_DAYS.getCode()); + if (signScoreDaysDic != null) { + String signScoreDays = ObjectUtil.isEmpty(signScoreDaysDic.getValue()) ? "0" : signScoreDaysDic.getValue(); + hlmScoreSetDto.setSignScoreDays(signScoreDays); + } + DataDictionaryCustom signScoreCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.SIGN_SCORE_CNT.getType(), + DataDictionaryEnum.SIGN_SCORE_CNT.getCode()); + if (signScoreCntDic != null) { + String signScoreCnt = ObjectUtil.isEmpty(signScoreCntDic.getValue()) ? "0" : signScoreCntDic.getValue(); + hlmScoreSetDto.setSignScoreCnt(signScoreCnt); + } DataDictionaryCustom scorePercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.SCORE_PERCENT.getType(), DataDictionaryEnum.SCORE_PERCENT.getCode()); diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiMallScoreSignRecordDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiMallScoreSignRecordDto.java index 862a222..5c14170 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/ApiMallScoreSignRecordDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiMallScoreSignRecordDto.java @@ -7,6 +7,10 @@ @Data @ApiModel(value = "ApiMallScoreSignRecordDto", description = "签到记录请求类") public class ApiMallScoreSignRecordDto { + + @ApiModelProperty(value = "日期", example = "2020-06") + private String dateTime; + @ApiModelProperty(value = "一页数量", example = "10") private Integer pageSize; diff --git a/src/main/java/cc/mrbird/febs/mall/dto/HlmScoreSetDto.java b/src/main/java/cc/mrbird/febs/mall/dto/HlmScoreSetDto.java index b4e8dc1..1845ae3 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/HlmScoreSetDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/HlmScoreSetDto.java @@ -14,6 +14,14 @@ */ private String signScore; /** + * 签到设置-签到积分开始天数 + */ + private String signScoreDays; + /** + * 签到设置-签到积分后续获得积分数量 + */ + private String signScoreCnt; + /** * 积分设置-积分抵扣现金比例,% * 设置50,即商品价格1000,积分可抵扣的最大金额为500 */ diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallScoreSignRecordMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallScoreSignRecordMapper.java index 9a788c6..37d996a 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallScoreSignRecordMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallScoreSignRecordMapper.java @@ -12,4 +12,6 @@ MallScoreSignRecord selectRecentSignRecord(@Param("memberId") Long memberId); IPage<ApiMallScoreSignRecordVo> selectApiOrderListInPage(IPage<ApiMallScoreSignRecordVo> page, @Param("record") ApiMallScoreSignRecordDto apiMallScoreSignRecordDto); + + Integer selectCountByMemberId(@Param("memberId")Long id); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java index 22159cc..7697f74 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java @@ -22,6 +22,7 @@ import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; @@ -100,6 +101,7 @@ if (signScoreDic == null) { throw new FebsException("签到活动未开启"); } + Integer signScore = Integer.parseInt(signScoreDic.getValue()); MallScoreSignRecord mallScoreSignRecord = mallScoreSignRecordMapper.selectRecentSignRecord(member.getId()); if (mallScoreSignRecord == null) { @@ -109,8 +111,22 @@ if (mallScoreSignRecord.getSignTime() != null && DateUtil.betweenDay(mallScoreSignRecord.getSignTime(), new Date(), true) == 0) { throw new FebsException("今日已签到"); } - - Integer signScore = Integer.parseInt(signScoreDic.getValue()); + /** + * 获取签到次数 + * 判断签到次数是否大于规定的时长signScoreDays,超出则获得的积分数为signScoreCnt + */ + Integer count = mallScoreSignRecordMapper.selectCountByMemberId(member.getId()); + DataDictionaryCustom signScoreDaysDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.SIGN_SCORE_DAYS.getType(), + DataDictionaryEnum.SIGN_SCORE_DAYS.getCode()); + Integer signScoreDays = Integer.parseInt(signScoreDaysDic.getValue()); + if(count >= signScoreDays){ + DataDictionaryCustom signScoreCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.SIGN_SCORE_CNT.getType(), + DataDictionaryEnum.SIGN_SCORE_CNT.getCode()); + Integer signScoreCnt = Integer.parseInt(signScoreCntDic.getValue()); + signScore = signScoreCnt; + } mallScoreSignRecord.setMemberId(member.getId()); mallScoreSignRecord.setTotalCnt(signScore); mallScoreSignRecord.setSignTime(new Date()); diff --git a/src/main/resources/mapper/modules/MallScoreSignRecordMapper.xml b/src/main/resources/mapper/modules/MallScoreSignRecordMapper.xml index 3be6097..886c210 100644 --- a/src/main/resources/mapper/modules/MallScoreSignRecordMapper.xml +++ b/src/main/resources/mapper/modules/MallScoreSignRecordMapper.xml @@ -9,9 +9,21 @@ select * from mall_score_sign_record where member_id=#{memberId} order by id desc limit 1 </select> + <select id="selectCountByMemberId" resultType="java.lang.Integer"> + select count(id) from mall_score_sign_record + where member_id=#{memberId} + </select> <select id="selectApiOrderListInPage" resultType="cc.mrbird.febs.mall.vo.ApiMallScoreSignRecordVo"> - select score,sign_time from mall_score_sign_record where member_id = #{record.memberId} + select + score,sign_time + from mall_score_sign_record + <where> + member_id = #{record.memberId} + <if test="record.dateTime!=null and record.dateTime!=''"> + and date_format(sign_time, '%Y-%m') = #{record.dateTime} + </if> + </where> </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/templates/febs/views/modules/order/orderList.html b/src/main/resources/templates/febs/views/modules/order/orderList.html index ac7a50a..a59b8ca 100644 --- a/src/main/resources/templates/febs/views/modules/order/orderList.html +++ b/src/main/resources/templates/febs/views/modules/order/orderList.html @@ -7,22 +7,25 @@ <div class="layui-form-item"> <div class="layui-col-md10"> <div class="layui-inline"> + <label class="layui-form-label">购买人:</label> <div class="layui-input-inline"> - <input type="text" placeholder="用户名" name="name" autocomplete="off" class="layui-input"> + <input type="text" placeholder="购买人" name="name" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-inline"> + <label class="layui-form-label">商品信息:</label> <div class="layui-input-inline"> - <input type="text" placeholder="商品名称" name="goodsName" autocomplete="off" class="layui-input"> + <input type="text" placeholder="商品信息" name="goodsName" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-inline"> + <label class="layui-form-label">订单编号:</label> <div class="layui-input-inline"> <input type="text" placeholder="订单编号" name="orderNo" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-inline"> - <label class="layui-form-label layui-form-label-sm">订单状态</label> + <label class="layui-form-label">订单状态:</label> <div class="layui-input-inline"> <select name="status"> <option value="">请选择</option> @@ -37,7 +40,7 @@ </div> </div> <div class="layui-inline"> - <label class="layui-form-label layui-form-label-sm">支付状态</label> + <label class="layui-form-label">支付状态:</label> <div class="layui-input-inline"> <select name="payResult"> <option value="">请选择</option> @@ -47,14 +50,14 @@ </div> </div> <div class="layui-inline"> - <label class="layui-form-label layui-form-label-sm">开始时间</label> + <label class="layui-form-label">开始时间:</label> <div class="layui-input-inline"> <input type="text" name="startTime" id="febs-form-group-date-start" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-inline"> - <label class="layui-form-label layui-form-label-sm">结束时间</label> + <label class="layui-form-label">结束时间:</label> <div class="layui-input-inline"> <input type="text" name="endTime" id="febs-form-group-date-end" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input"> @@ -103,11 +106,7 @@ <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="exportDeliver">导出未发货订单</button> <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" id="importDeliver" lay-event="importDeliver">导入发货</button> <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="exportDeliverDone">导出已发货订单</button> -<!-- <button type="button" class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" onclick="print('tool(orderTable)')">layui自定义打印表格</button>--> <button id="printSelect" type="button" class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain">自定义打印</button> -<!-- <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="getCheckData">获取选中行数据</button>--> -<!-- <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="getCheckLength">获取选中数目</button>--> -<!-- <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="isAll">验证是否全选</button>--> </div> </script> <!-- 表格操作栏 end --> @@ -258,7 +257,7 @@ elem: $view.find('table'), id: 'orderTable', url: ctx + 'admin/order/orderList?orderType=1', - defaultToolbar: [], + // defaultToolbar: [], toolbar: '#tableToolBar', totalRow: true ,// 开启合计行 cols: [[ @@ -321,7 +320,6 @@ }else{ return '<button class="layui-btn layui-btn-normal layui-btn-xs " lay-event="seeOrder" shiro:hasPermission="user:update">详情</button>' } - // } },minWidth: 200,align:'center', fixed:'right'} ]] }); diff --git a/src/main/resources/templates/febs/views/modules/order/refundList.html b/src/main/resources/templates/febs/views/modules/order/refundList.html index c07452a..0ad3947 100644 --- a/src/main/resources/templates/febs/views/modules/order/refundList.html +++ b/src/main/resources/templates/febs/views/modules/order/refundList.html @@ -7,22 +7,25 @@ <div class="layui-form-item"> <div class="layui-col-md10"> <div class="layui-inline"> + <label class="layui-form-label">用户名:</label> <div class="layui-input-inline"> <input type="text" placeholder="用户名" name="name" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-inline"> + <label class="layui-form-label">账号:</label> <div class="layui-input-inline"> - <input type="text" placeholder="电话号码" name="phone" autocomplete="off" class="layui-input"> + <input type="text" placeholder="账号" name="phone" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-inline"> + <label class="layui-form-label">订单编号:</label> <div class="layui-input-inline"> <input type="text" placeholder="订单编号" name="orderNo" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-inline"> - <label class="layui-form-label layui-form-label-sm">订单状态</label> + <label class="layui-form-label">订单状态:</label> <div class="layui-input-inline"> <select name="status"> <option value="">请选择</option> diff --git a/src/main/resources/templates/febs/views/modules/system/hlmScoreSet.html b/src/main/resources/templates/febs/views/modules/system/hlmScoreSet.html index ac57b1d..b1c44b2 100644 --- a/src/main/resources/templates/febs/views/modules/system/hlmScoreSet.html +++ b/src/main/resources/templates/febs/views/modules/system/hlmScoreSet.html @@ -3,14 +3,36 @@ <form class="layui-form" action="" lay-filter="hlm-score-set-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 febs-form-item-require">签到积分:</label> - <div class="layui-input-block"> - <input type="text" name="signScore" lay-verify="required|integer" placeholder="请输入数字" autocomplete="off" class="layui-input" > - <div class="layui-word-aux">每次签到赠送积分数量,填写整数,如【35】</div> + <div class="layui-inline"> + <label class="layui-form-label">签到:开始</label> + <div class="layui-input-inline"> + <input type="text" name="signScoreDays" lay-verify="required|integer" placeholder="请输入数字" autocomplete="off" class="layui-input" > + </div> + <div class="layui-inline"> + <label class="layui-form-label">天,每天获取:</label> + <div class="layui-input-inline"> + <input type="text" name="signScore" lay-verify="required|integer" placeholder="请输入数字" autocomplete="off" class="layui-input" > + </div> + </div> + <div class="layui-inline"> + <label class="layui-form-label">,之后每天获取</label> + <div class="layui-input-inline"> + <input type="text" name="signScoreCnt" lay-verify="required|integer" placeholder="请输入数字" autocomplete="off" class="layui-input" > + </div> </div> </div> + +<!-- <blockquote class="layui-elem-quote blue-border">签到</blockquote>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label febs-form-item-require">签到积分:</label>--> +<!-- <div class="layui-input-block">--> +<!-- <input type="text" name="signScore" lay-verify="required|integer" placeholder="请输入数字" autocomplete="off" class="layui-input" >--> +<!-- <div class="layui-word-aux">每次签到赠送积分数量,填写整数,如【35】</div>--> +<!-- </div>--> +<!-- </div>--> <blockquote class="layui-elem-quote blue-border">积分与现金</blockquote> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">抵扣现金(%):</label> @@ -71,6 +93,8 @@ function initHlmScoreSetValue() { form.val("hlm-score-set-form", { "signScore": hlmScoreSet.signScore, + "signScoreDays": hlmScoreSet.signScoreDays, + "signScoreCnt": hlmScoreSet.signScoreCnt, "scorePercent": hlmScoreSet.scorePercent, "scoreChange": hlmScoreSet.scoreChange }); diff --git a/src/main/resources/templates/febs/views/modules/system/indexData.html b/src/main/resources/templates/febs/views/modules/system/indexData.html index 78107d9..3600126 100644 --- a/src/main/resources/templates/febs/views/modules/system/indexData.html +++ b/src/main/resources/templates/febs/views/modules/system/indexData.html @@ -157,30 +157,30 @@ </div> </div> </div> +<!-- <div class="layui-col-md3">--> +<!-- <div class="layui-panel">--> +<!-- <div class="box">--> +<!-- <p class="name">总赠送积分</p>--> +<!-- <p class="num" ><span id="totalScore"></span></p>--> +<!-- </div>--> +<!-- </div>--> +<!-- </div>--> <div class="layui-col-md3"> <div class="layui-panel"> <div class="box"> - <p class="name">总赠送积分</p> - <p class="num" ><span id="totalScore"></span></p> - </div> - </div> - </div> - <div class="layui-col-md3"> - <div class="layui-panel"> - <div class="box"> - <p class="name">总竞猜积分</p> + <p class="name">总现金积分</p> <p class="num"><span id="totalPrizeScore"></span></p> </div> </div> </div> - <div class="layui-col-md3"> - <div class="layui-panel"> - <div class="box"> - <p class="name">总佣金</p> - <p class="num"><span id="totalCommission"></span></p> - </div> - </div> - </div> +<!-- <div class="layui-col-md3">--> +<!-- <div class="layui-panel">--> +<!-- <div class="box">--> +<!-- <p class="name">总佣金</p>--> +<!-- <p class="num"><span id="totalCommission"></span></p>--> +<!-- </div>--> +<!-- </div>--> +<!-- </div>--> </div> </div> </div> @@ -288,21 +288,21 @@ </div> </div> - <div class="layui-card-body layui-anim layui-anim-fadein"> - <div class="layui-row"> - <div class="m-title">积分池</div> - <div class="layui-row layui-col-space15"> - <div class="layui-col-md3"> - <div class="layui-panel"> - <div class="box"> - <p class="name">剩余积分</p> - <p class="num"><span id="scorePool"></span></p> - </div> - </div> - </div> - </div> - </div> - </div> +<!-- <div class="layui-card-body layui-anim layui-anim-fadein">--> +<!-- <div class="layui-row">--> +<!-- <div class="m-title">积分池</div>--> +<!-- <div class="layui-row layui-col-space15">--> +<!-- <div class="layui-col-md3">--> +<!-- <div class="layui-panel">--> +<!-- <div class="box">--> +<!-- <p class="name">剩余积分</p>--> +<!-- <p class="num"><span id="scorePool"></span></p>--> +<!-- </div>--> +<!-- </div>--> +<!-- </div>--> +<!-- </div>--> +<!-- </div>--> +<!-- </div>--> </div> <script data-th-inline="javascript" type="text/javascript"> layui.use(['febs', 'jquery'], function () { -- Gitblit v1.9.1