Просмотр исходного кода

用户统计与商家入驻统计优化

liude 1 год назад
Родитель
Сommit
df21102f33

+ 2 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/OrderPagingParam.java

@@ -5,6 +5,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.NoArgsConstructor;
 import lombok.experimental.SuperBuilder;
 import lombok.experimental.SuperBuilder;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
 import java.io.Serializable;
 import java.io.Serializable;
 import java.util.List;
 import java.util.List;
 
 
@@ -35,5 +36,6 @@ public class OrderPagingParam implements Serializable {
     /**
     /**
      * 订单号
      * 订单号
      */
      */
+    @Size(min = 4, message = "订单号长度不能小于4")
     private String orderSn;
     private String orderSn;
 }
 }

+ 3 - 3
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/MerchantService.java

@@ -6,7 +6,9 @@ import com.chelvc.cloud.vehicle.api.dto.MerchantDetailDTO;
 import com.chelvc.cloud.vehicle.api.dto.MerchantRankDTO;
 import com.chelvc.cloud.vehicle.api.dto.MerchantRankDTO;
 import com.chelvc.cloud.vehicle.api.param.*;
 import com.chelvc.cloud.vehicle.api.param.*;
 import com.chelvc.framework.common.model.Pagination;
 import com.chelvc.framework.common.model.Pagination;
+import org.springframework.web.bind.annotation.RequestBody;
 
 
+import javax.validation.Valid;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
@@ -156,11 +158,9 @@ public interface MerchantService {
 
 
     /**
     /**
      * 获取商家入驻统计
      * 获取商家入驻统计
-     * @param year 查询年期
-     * @param month 查询月份
      * @return
      * @return
      */
      */
-    List<Map<String,Object>> getMerchantReport(Integer year,Integer month);
+    List<Map<String,Object>> getMerchantReport(ReportModifyParam param);
 
 
 }
 }
 
 

+ 9 - 2
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/MerchantMapper.java

@@ -132,8 +132,15 @@ public interface MerchantMapper extends BaseMapper<Merchant> {
     /**
     /**
      * 获取商家入驻统计
      * 获取商家入驻统计
      * @param year 查询年期
      * @param year 查询年期
-     * @param month 查询月份
      * @return
      * @return
      */
      */
-    List<Map<String,Object>> getMerchantReport(@Param("year") Integer year, @Param("month") Integer month);
+    List<Map<String,Object>> getAddMerchantReportByYear(@Param("year") Integer year);
+
+
+    /**
+     * 获取商家入驻统计
+     * @param year 查询年期
+     * @return
+     */
+    List<Map<String,Object>> getAddMerchantReportByMonth(@Param("year") Integer year,@Param("month")Integer month);
 }
 }

+ 8 - 2
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantServiceImpl.java

@@ -36,7 +36,9 @@ import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.RequestBody;
 
 
+import javax.validation.Valid;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.time.LocalTime;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeFormatter;
@@ -475,8 +477,12 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
     }
     }
 
 
     @Override
     @Override
-    public List<Map<String,Object>> getMerchantReport(Integer year,Integer month){
-        return this.baseMapper.getMerchantReport(year,month);
+    public List<Map<String,Object>> getMerchantReport(ReportModifyParam param){
+        if ("0".equals(param.getType())){
+            return this.baseMapper.getAddMerchantReportByYear(param.getYear());
+        }else {
+           return this.baseMapper.getAddMerchantReportByMonth(param.getYear(),param.getMonth());
+        }
     }
     }
 
 
 }
 }

+ 2 - 2
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderServiceImpl.java

@@ -390,7 +390,7 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
         if (scope == Scope.ADMIN) {
         if (scope == Scope.ADMIN) {
             Page<OmsOrder> page = this.lambdaQuery()
             Page<OmsOrder> page = this.lambdaQuery()
                     .eq(StringUtils.notEmpty(param.getStatus()), OmsOrder::getStatus, param.getStatus())
                     .eq(StringUtils.notEmpty(param.getStatus()), OmsOrder::getStatus, param.getStatus())
-                    .eq(StringUtils.notEmpty(param.getOrderSn()),OmsOrder::getOrderSn,param.getOrderSn())
+                    .like(StringUtils.notEmpty(param.getOrderSn()),OmsOrder::getOrderSn,param.getOrderSn())
                     .orderByDesc(OmsOrder::getCreateTime)
                     .orderByDesc(OmsOrder::getCreateTime)
                     .page(DatabaseContextHolder.page(param.getPaging()));
                     .page(DatabaseContextHolder.page(param.getPaging()));
             Pagination<OmsOrderDTO> pagination = DatabaseContextHolder.pagination(page, OrderCopier.INSTANCE::copying);
             Pagination<OmsOrderDTO> pagination = DatabaseContextHolder.pagination(page, OrderCopier.INSTANCE::copying);
@@ -405,7 +405,7 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
             }
             }
             Page<OmsOrder> page = this.lambdaQuery()
             Page<OmsOrder> page = this.lambdaQuery()
                     .eq(StringUtils.notEmpty(param.getStatus()), OmsOrder::getStatus, param.getStatus())
                     .eq(StringUtils.notEmpty(param.getStatus()), OmsOrder::getStatus, param.getStatus())
-                    .eq(StringUtils.notEmpty(param.getOrderSn()),OmsOrder::getOrderSn,param.getOrderSn())
+                    .like(StringUtils.notEmpty(param.getOrderSn()),OmsOrder::getOrderSn,param.getOrderSn())
                     .in(OmsOrder::getMerchantId, merchants)
                     .in(OmsOrder::getMerchantId, merchants)
                     .orderByDesc(OmsOrder::getCreateTime)
                     .orderByDesc(OmsOrder::getCreateTime)
                     .page(DatabaseContextHolder.page(param.getPaging()));
                     .page(DatabaseContextHolder.page(param.getPaging()));

+ 37 - 18
vehicle-server/src/main/resources/mapper/MerchantMapper.xml

@@ -293,32 +293,51 @@
     </select>
     </select>
 
 
 
 
+    <select id="getAddMerchantReportByYear" resultType="java.util.Map">
+        SELECT
+            t.*
+        FROM
+            (
+                SELECT MONTH
+                    ( create_time ) MONTH,
+                    YEAR ( create_time ) YEAR,
+                    count( 0 ) registerCount
+                FROM
+                    merchant
+                where 1=1
+                GROUP BY
+                    MONTH ( create_time ),
+                    YEAR ( create_time )) t
+        WHERE
+            t.YEAR = #{year}
+        order by t.`MONTH`
+    </select>
 
 
 
 
-    <select id="getMerchantReport" resultType="java.util.Map">
+    <select id="getAddMerchantReportByMonth" resultType="java.util.Map">
         SELECT
         SELECT
-            count( 0 ) menchantCount,
-            t.DAY
+            t.*
         FROM
         FROM
             (
             (
-                SELECT YEAR
-                    ( create_time ) YEAR,
-                    MONTH ( create_time ) MONTH,
-                    DAY ( create_time ) DAY,
-                    create_time,
-                    count( 0 ) count
+                SELECT MONTH
+                    ( create_time ) MONTH,
+                    YEAR ( create_time ) YEAR,
+                    DAY ( create_time ) day,
+                    count( 0 ) registerCount
                 FROM
                 FROM
-                    `merchant`
-                WHERE
-                    MONTH ( create_time ) = #{month}
-                  AND YEAR ( create_time ) = #{year}
+                    merchant
+                where 1=1
                 GROUP BY
                 GROUP BY
+                    MONTH ( create_time ),
                     DAY ( create_time ),
                     DAY ( create_time ),
-                    create_time,
-                    YEAR ( create_time ),
-                    MONTH ( create_time )) t
-        GROUP BY
-            t.DAY
+                    YEAR ( create_time )) t
+        WHERE
+            t.YEAR = #{year}
+          and  t.month = #{month}
+        order by t.`day`
     </select>
     </select>
 
 
+
+
+
 </mapper>
 </mapper>