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"), 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()); 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()); 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; 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 */ 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); } 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()); 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> 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'} ]] }); 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> 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"> <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 class="layui-word-aux">每次签到赠送积分数量,填写整数,如【35】</div> </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 }); 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 () {