lubo преди 3 месеца
родител
ревизия
8a537a18fc

+ 2 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/line/OnlineOrderController.java

@@ -196,7 +196,7 @@ public class OnlineOrderController extends BaseController {
 
     private Map<String, Object> businessStatistics(Long businessId) {
         Map<String, Object> map = new HashMap<>();
-        map.put("subsidyComplete", iSubsidyQueueService.getStatistics(businessId, SubsidyCountType.COMPLETE));
+        map.put("subsidyComplete", iSubsidyQueueService.getStatistics(businessId, SubsidyCountType.COMPLETE,null));
         //今日收款
         BusinessDayBillCountBo bo = new BusinessDayBillCountBo();
         bo.setType("today");
@@ -214,7 +214,7 @@ public class OnlineOrderController extends BaseController {
 
     private Map<String, Object> chainBusinessStatistics(List<Long> businessIds) {
         Map<String, Object> map = new HashMap<>();
-        map.put("subsidyComplete", iSubsidyQueueService.getStatistics(businessIds, SubsidyCountType.COMPLETE));
+        map.put("subsidyComplete", iSubsidyQueueService.getStatistics(businessIds, SubsidyCountType.COMPLETE,null));
         //今日收款
         BusinessDayBillCountBo bo = new BusinessDayBillCountBo();
         bo.setType("today");

+ 31 - 10
ruoyi-admin/src/main/java/com/ruoyi/web/controller/subsidy/SubsidyQueueController.java

@@ -143,32 +143,53 @@ public class SubsidyQueueController extends BaseController {
     @ApiOperation("商家获取补贴排队统计")
     @SaCheckPermission("subsidy:subsidyQueue:businessStatistics")
     @GetMapping("/business-statistics")
-    public R<Map<String, Object>> businessStatistics() {
+    public R<Map<String, Object>> businessStatistics(@Validated(QueryGroup.class) SubsidyQueueBo bo) {
         Map<String, Object> map = new HashMap<>();
         //补贴完成额
-        map.put("subsidyComplete", iSubsidyQueueService.getStatistics(getBusinessId(true), SubsidyCountType.COMPLETE));
+        map.put("subsidyComplete", iSubsidyQueueService.getStatistics(getBusinessId(true), SubsidyCountType.COMPLETE,bo));
         //已补贴积分
-        map.put("subsidyIntegral", iSubsidyQueueService.getStatistics(getBusinessId(true), SubsidyCountType.SUBSIDY_INTEGRAL));
+        map.put("subsidyIntegral", iSubsidyQueueService.getStatistics(getBusinessId(true), SubsidyCountType.SUBSIDY_INTEGRAL,bo));
         //排队待补贴
-        map.put("waitSubsidy", iSubsidyQueueService.getStatistics(getBusinessId(true), SubsidyCountType.WAIT_SUBSIDY));
+        map.put("waitSubsidy", iSubsidyQueueService.getStatistics(getBusinessId(true), SubsidyCountType.WAIT_SUBSIDY,bo));
         //今日补贴
-        map.put("todaySubsidy", iSubsidyQueueService.getStatistics(getBusinessId(true), SubsidyCountType.TODAY_SUBSIDY));
+        map.put("todaySubsidy", iSubsidyQueueService.getStatistics(getBusinessId(true), SubsidyCountType.TODAY_SUBSIDY,bo));
         return R.ok(map);
     }
 
     @ApiOperation("平台获取补贴排队统计")
     @SaCheckPermission("subsidy:subsidyQueue:statistics")
     @GetMapping("/statistics")
-    public R<Map<String, Object>> statistics() {
+    public R<Map<String, Object>> statistics(@Validated(QueryGroup.class) SubsidyQueueBo bo) {
         Map<String, Object> map = new HashMap<>();
         //补贴完成额
-        map.put("subsidyComplete", iSubsidyQueueService.getStatistics(new ArrayList<>(), SubsidyCountType.COMPLETE));
+        map.put("subsidyComplete", iSubsidyQueueService.getStatistics(new ArrayList<>(), SubsidyCountType.COMPLETE,bo));
         //已补贴积分
-        map.put("subsidyIntegral", iSubsidyQueueService.getStatistics(new ArrayList<>(), SubsidyCountType.SUBSIDY_INTEGRAL));
+        map.put("subsidyIntegral", iSubsidyQueueService.getStatistics(new ArrayList<>(), SubsidyCountType.SUBSIDY_INTEGRAL,bo));
         //排队待补贴
-        map.put("waitSubsidy", iSubsidyQueueService.getStatistics(new ArrayList<>(), SubsidyCountType.WAIT_SUBSIDY));
+        map.put("waitSubsidy", iSubsidyQueueService.getStatistics(new ArrayList<>(), SubsidyCountType.WAIT_SUBSIDY,bo));
         //今日补贴
-        map.put("todaySubsidy", iSubsidyQueueService.getStatistics(new ArrayList<>(), SubsidyCountType.TODAY_SUBSIDY));
+        map.put("todaySubsidy", iSubsidyQueueService.getStatistics(new ArrayList<>(), SubsidyCountType.TODAY_SUBSIDY,bo));
+        return R.ok(map);
+    }
+
+    @ApiOperation("总店查看连锁店补贴排队统计")
+    @SaCheckPermission("subsidy:subsidyQueue:chainStatistics")
+    @GetMapping("/chainStatistics")
+    public R<Map<String, Object>> chainStatistics(@Validated(QueryGroup.class) SubsidyQueueBo bo) {
+        Map<String, Object> map = new HashMap<>();
+        List<Long> ids = iBusinessService.queryBusinessIdsByBusinessId(getBusinessId(true));
+        if(CollectionUtil.isEmpty(ids))
+        {
+            ids.add(0L);
+        }
+        //补贴完成额
+        map.put("subsidyComplete", iSubsidyQueueService.getStatistics(ids, SubsidyCountType.COMPLETE,bo));
+        //已补贴积分
+        map.put("subsidyIntegral", iSubsidyQueueService.getStatistics(ids, SubsidyCountType.SUBSIDY_INTEGRAL,bo));
+        //排队待补贴
+        map.put("waitSubsidy", iSubsidyQueueService.getStatistics(ids, SubsidyCountType.WAIT_SUBSIDY,bo));
+        //今日补贴
+        map.put("todaySubsidy", iSubsidyQueueService.getStatistics(ids, SubsidyCountType.TODAY_SUBSIDY,bo));
         return R.ok(map);
     }
 

+ 1 - 1
ruoyi-line/src/main/java/com/ruoyi/subsidy/enums/SubsidyCountType.java

@@ -7,7 +7,7 @@ import java.util.Objects;
 public enum SubsidyCountType implements IIntegerEnum<Integer> {
     //补贴完成:1 已补贴积分:2 排队待补贴:3 今日补贴:4
 
-    COMPLETE(1, "已补贴积分"),
+    COMPLETE(1, "补贴完成"),
     SUBSIDY_INTEGRAL(2, "已补贴积分"),
     WAIT_SUBSIDY(3, "排队待补贴"),
     TODAY_SUBSIDY(4, "今日补贴");

+ 3 - 2
ruoyi-line/src/main/java/com/ruoyi/subsidy/mapper/SubsidyQueueMapper.java

@@ -1,6 +1,7 @@
 package com.ruoyi.subsidy.mapper;
 
 import com.ruoyi.subsidy.domain.SubsidyQueue;
+import com.ruoyi.subsidy.domain.bo.SubsidyQueueBo;
 import com.ruoyi.subsidy.domain.vo.SubsidyQueueVo;
 import com.ruoyi.common.core.mapper.BaseMapperPlus;
 import org.apache.ibatis.annotations.Param;
@@ -18,11 +19,11 @@ public interface SubsidyQueueMapper extends BaseMapperPlus<SubsidyQueueMapper, S
 
     List<Long> validQueueIds(@Param("businessId") Long businessId);
 
-    BigDecimal getSubsidyAmount(@Param("businessId")Long businessId, @Param("countType") Integer countType);
+    BigDecimal getSubsidyAmount(@Param("businessId")Long businessId, @Param("countType") Integer countType, @Param("bo") SubsidyQueueBo bo);
 
 
 
     void validQueueOrderRearrange(@Param("businessId")Long businessId, @Param("excludeQueueId") Long excludeQueueId, @Param("currentQueueOrder") Integer currentQueueOrder);
 
-    BigDecimal getSubsidyAmountByBusinessIds(@Param("businessIds") List<Long> businessIds, @Param("countType") Integer countType);
+    BigDecimal getSubsidyAmountByBusinessIds(@Param("businessIds") List<Long> businessIds, @Param("countType") Integer countType, @Param("bo") SubsidyQueueBo bo);
 }

+ 4 - 2
ruoyi-line/src/main/java/com/ruoyi/subsidy/service/ISubsidyQueueService.java

@@ -1,5 +1,6 @@
 package com.ruoyi.subsidy.service;
 
+import com.ruoyi.common.core.validate.QueryGroup;
 import com.ruoyi.onlineorder.domain.OnlineOrder;
 import com.ruoyi.onlineorder.enums.OnlineOrderRefundStatus;
 import com.ruoyi.subsidy.domain.SubsidyQueue;
@@ -12,6 +13,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.subsidy.enums.SubsidyCancelType;
 import com.ruoyi.subsidy.enums.SubsidyCountType;
+import org.springframework.validation.annotation.Validated;
 
 import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
@@ -179,7 +181,7 @@ public interface ISubsidyQueueService {
      * @param countType 统计类型
      * @return 统计结果
      */
-    BigDecimal getStatistics(Long businessId, SubsidyCountType countType);
+    BigDecimal getStatistics(Long businessId, SubsidyCountType countType, SubsidyQueueBo bo);
 
     /**
      * 获取统计
@@ -187,7 +189,7 @@ public interface ISubsidyQueueService {
      * @param countType 统计类型
      * @return 统计结果
      */
-    BigDecimal getStatistics(List<Long> businessIds, SubsidyCountType countType);
+    BigDecimal getStatistics(List<Long> businessIds, SubsidyCountType countType,SubsidyQueueBo bo);
     /**
      * 导入数据
      * @param businessId 商家ID

+ 4 - 4
ruoyi-line/src/main/java/com/ruoyi/subsidy/service/impl/SubsidyQueueServiceImpl.java

@@ -726,7 +726,7 @@ public class SubsidyQueueServiceImpl implements ISubsidyQueueService {
     }
 
     @Override
-    public BigDecimal getStatistics(Long businessId, SubsidyCountType countType) {
+    public BigDecimal getStatistics(Long businessId, SubsidyCountType countType,SubsidyQueueBo bo) {
         if(SubsidyCountType.TODAY_SUBSIDY.equals(countType))
         {
             DateTime startTime = DateUtil.beginOfDay(new Date());
@@ -734,11 +734,11 @@ public class SubsidyQueueServiceImpl implements ISubsidyQueueService {
             List<Integer> balanceSourceTypes = Arrays.asList(BalanceSourceType.SUBSIDY.getCode(), BalanceSourceType.SHARED_SUBSIDY.getCode(), BalanceSourceType.SUBSIDY_OVERFLOW_RETURN.getCode());
             return userBalanceRecordService.getBalanceByBusinessAndTimeRange(businessId, startTime, endTime,balanceSourceTypes);
         }
-        return this.baseMapper.getSubsidyAmount(businessId,countType.getCode());
+        return this.baseMapper.getSubsidyAmount(businessId,countType.getCode(),bo);
     }
 
     @Override
-    public BigDecimal getStatistics(List<Long> businessIds, SubsidyCountType countType) {
+    public BigDecimal getStatistics(List<Long> businessIds, SubsidyCountType countType,SubsidyQueueBo bo) {
         if(SubsidyCountType.TODAY_SUBSIDY.equals(countType))
         {
             DateTime startTime = DateUtil.beginOfDay(new Date());
@@ -746,7 +746,7 @@ public class SubsidyQueueServiceImpl implements ISubsidyQueueService {
             List<Integer> balanceSourceTypes = Arrays.asList(BalanceSourceType.SUBSIDY.getCode(), BalanceSourceType.SHARED_SUBSIDY.getCode(), BalanceSourceType.SUBSIDY_OVERFLOW_RETURN.getCode());
             return userBalanceRecordService.getBalanceByBusinessAndTimeRange(businessIds, startTime, endTime,balanceSourceTypes);
         }
-        return this.baseMapper.getSubsidyAmountByBusinessIds(businessIds,countType.getCode());
+        return this.baseMapper.getSubsidyAmountByBusinessIds(businessIds,countType.getCode(),bo);
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 37 - 0
ruoyi-line/src/main/resources/mapper/subsidy/SubsidyQueueMapper.xml

@@ -48,6 +48,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
 
 
+    <sql id="boWhere">
+        <if test="bo!=null and bo.currentBusinessName!=null and bo.currentBusinessName!=''">
+            and current_business_name like concat('%',#{bo.currentBusinessName},'%')
+        </if>
+        <if test="bo!=null and bo.orderNo!=null and bo.orderNo!=''">
+            and order_no like concat('%',#{bo.orderNo},'%')
+        </if>
+        <if test="bo!=null and bo.userMobile!=null and bo.userMobile!=''">
+            and user_mobile like concat('%',#{bo.userMobile},'%')
+        </if>
+        <if test="bo!=null and bo.userName!=null and bo.userName!=''">
+            and user_name like concat('%',#{bo.userName},'%')
+        </if>
+        <if test="bo!=null and bo.subsidyStatus!=null">
+            and subsidy_status = #{bo.subsidyStatus}
+        </if>
+        <if test="bo!=null and bo.consumeStartTime!=null">
+            and consume_time &gt;= #{bo.consumeStartTime}
+        </if>
+        <if test="bo!=null and bo.consumeEndTime!=null">
+            and consume_time &lt;= #{bo.consumeEndTime}
+        </if>
+        <if test="bo!=null and bo.queueStartTime!=null">
+            and queue_time &gt;= #{bo.queueStartTime}
+        </if>
+        <if test="bo!=null and bo.queueEndTime!=null">
+            and queue_time &lt;= #{bo.queueEndTime}
+        </if>
+    </sql>
 
     <select id="getSubsidyAmount" resultType="java.math.BigDecimal">
         select
@@ -68,6 +97,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="countType == 3">
                 and subsidy_status = 0
             </if>
+            <if test="countType == 1">
+                and subsidy_status = 1
+            </if>
+            <include refid="boWhere" />
         </where>
     </select>
 
@@ -102,6 +135,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="countType == 3">
                 and subsidy_status = 0
             </if>
+            <if test="countType == 1">
+                and subsidy_status = 1
+            </if>
+            <include refid="boWhere" />
         </where>
     </select>
 </mapper>