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