From 73b3813c2d110bf446f251350f120bb1e2b51d0c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 10 Jan 2023 10:45:14 +0800
Subject: [PATCH] 20221227 充值归集

---
 src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java               |    2 ++
 src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java         |    7 +++++++
 src/main/java/cc/mrbird/febs/mall/vo/AdminSystemSettingVo.java                  |    1 +
 src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java          |    6 ++++++
 src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java          |    3 +++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |    9 +++++++++
 src/main/resources/mapper/modules/MallOrderInfoMapper.xml                       |   13 +++++++++++++
 src/main/resources/templates/febs/views/modules/system/systemSetting.html       |   12 +++++++++++-
 8 files changed, 52 insertions(+), 1 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 fe6ddc9..108c4f9 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -53,6 +53,9 @@
     //会员每日可用订单数
     BUY_TIMES("ORDER_BUY", "BUY_TIMES"),
 
+    //每日订单总数
+    ALL_BUY_TIMES("ALL_ORDER_BUY", "ALL_BUY_TIMES"),
+
     //商品补贴比例
     SUBSIDY_PERCENT("GOODS_SUBSIDY", "SUBSIDY_PERCENT"),
 
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 e72bb92..ef7d31d 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
@@ -97,6 +97,13 @@
         subsidyPercentDic.setValue(subsidyPercent);
         dataDictionaryCustomMapper.updateById(subsidyPercentDic);
 
+        String allBuyTimes = StrUtil.isEmpty(adminSystemSettingVo.getAllBuyTimes()) ? "0" : adminSystemSettingVo.getAllBuyTimes();
+        DataDictionaryCustom allBuyTimesDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.ALL_BUY_TIMES.getType(),
+                DataDictionaryEnum.ALL_BUY_TIMES.getCode());
+        allBuyTimesDic.setValue(allBuyTimes);
+        dataDictionaryCustomMapper.updateById(allBuyTimesDic);
+
         return new FebsResponse().success();
     }
 }
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 abc4293..6cb0f88 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
@@ -118,6 +118,12 @@
         if (ObjectUtil.isNotEmpty(subsidyPercentDic)) {
             adminSystemSettingVo.setSubsidyPercent(subsidyPercentDic.getValue());
         }
+        DataDictionaryCustom allBuyTimesDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.ALL_BUY_TIMES.getType(),
+                DataDictionaryEnum.ALL_BUY_TIMES.getCode());
+        if (ObjectUtil.isNotEmpty(allBuyTimesDic)) {
+            adminSystemSettingVo.setAllBuyTimes(allBuyTimesDic.getValue());
+        }
         model.addAttribute("adminSystemSettingVo", adminSystemSettingVo);
         return FebsUtil.view("modules/system/systemSetting");
     }
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
index b9bc6d1..2fcd3e9 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
@@ -71,4 +71,6 @@
     BigDecimal selectTodayAmountByCreateTimeAndMemberId(@Param("createdTime")String yyyyMMdd,@Param("memberId")Long memberId);
 
     Integer selectOrderInfoByStatusAndMemberId(@Param("status")int value, @Param("memberId")Long id);
+
+    Integer selectCountByCreateTime(@Param("createdTime")String yyyyMMdd);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 7c9c839..a80c406 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -122,6 +122,15 @@
             throw new FebsException("今日任务完成,明天再来");
         }
 
+        DataDictionaryCustom allBuyTimesDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.ALL_BUY_TIMES.getType(), DataDictionaryEnum.ALL_BUY_TIMES.getCode());
+        Integer allBuyTimes = Integer.parseInt(allBuyTimesDic.getValue());
+
+        Integer allBuyTimesNow = this.baseMapper.selectCountByCreateTime(yyyyMMdd);
+        if(allBuyTimes <= allBuyTimesNow){
+            throw new FebsException("今日任务完成,明天再来");
+        }
+
         String orderNo = MallUtils.getOrderNum();
         MallOrderInfo orderInfo = new MallOrderInfo();
         orderInfo.setOrderNo(orderNo);
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminSystemSettingVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminSystemSettingVo.java
index fa1640a..68219d3 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminSystemSettingVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminSystemSettingVo.java
@@ -13,5 +13,6 @@
     private String rewardPercent;
     private String levelOne;
     private String levelTwo;
+    private String allBuyTimes;
 
 }
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index f573e79..55144df 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -359,4 +359,17 @@
         a.status <![CDATA[< ]]> 4
         and a.member_id = #{memberId}
     </select>
+
+    <select id="selectCountByCreateTime" resultType="java.lang.Integer">
+        select
+        count(a.id)
+        from mall_order_info a
+        where
+        a.status = 4
+        and a.comment_state = 2
+        <if test="createdTime != null">
+            and date_format(a.CREATED_TIME, '%Y-%m-%d') = #{createdTime}
+        </if>
+
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/system/systemSetting.html b/src/main/resources/templates/febs/views/modules/system/systemSetting.html
index 75a87a4..a3f34f6 100644
--- a/src/main/resources/templates/febs/views/modules/system/systemSetting.html
+++ b/src/main/resources/templates/febs/views/modules/system/systemSetting.html
@@ -13,12 +13,21 @@
                         <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】:直接输入百分比,例如25%,直接输入25</div>
                     </div>
                     <div class="layui-form-item">
-                        <label class="layui-form-label ">每日订单数:</label>
+                        <label class="layui-form-label ">个人每日订单数:</label>
                         <div class="layui-input-block">
                             <input type="text" name="buyTimes" data-th-id="${adminSystemSettingVo.buyTimes}"
                                    lay-verify="number" autocomplete="off" class="layui-input" >
                         </div>
                         <div class="layui-word-aux" style="margin-left: 150px;">每日会员最多可完成的订单数量</div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】</div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label ">平台每日总数:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="allBuyTimes" data-th-id="${adminSystemSettingVo.allBuyTimes}"
+                                   lay-verify="number" autocomplete="off" class="layui-input" >
+                        </div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">每日平台最多可完成的订单数量</div>
                         <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】</div>
                     </div>
                     <div class="layui-form-item">
@@ -102,6 +111,7 @@
                 "levelOne": adminSystemSettingVo.levelOne,
                 "levelTwo": adminSystemSettingVo.levelTwo,
                 "returnPercent": adminSystemSettingVo.returnPercent,
+                "allBuyTimes": adminSystemSettingVo.allBuyTimes,
             });
         }
 

--
Gitblit v1.9.1