Browse Source

Merge branch 'feature/1.0.0' of github.com:ab-inbev-apac/abi-cloud-qr-platform into feature/1.0.0

tanzhongran 3 years ago
parent
commit
4a8f329364

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/wx/WxQrBoxMappingController.java

@@ -69,7 +69,7 @@ public class WxQrBoxMappingController {
 
     @ApiOperation("立即激活")
     @PostMapping("activateNow")
-    public BaseResponse activateNow(@Validated ActivateNowReq activateNowReq) {
+    public BaseResponse activateNow(@RequestBody @Validated ActivateNowReq activateNowReq) {
         //立即激活
         qrBoxMappingService.activateNow(activateNowReq);
         //包装出参

+ 11 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/ReportServiceMapper.java

@@ -62,6 +62,16 @@ public interface ReportServiceMapper  {
      * @param req
      * @return java.util.List<com.abi.qms.platform.dao.vo.result.QueryWxFactoryVO>
      */
-    List<QueryWxFactoryVO> queryWxFactory(@Param("req") QueryWxFactoryReq req, @Param("month") LocalDateTime month);
+    List<QueryWxFactoryVO> queryWxFactorySumNumber(@Param("req") QueryWxFactoryReq req, @Param("month") LocalDateTime month);
+
+    /**
+     * 统计下载量
+     * @author lu
+     * @date 2021/6/10 11:36
+     * @param req
+     * @return java.util.List<com.abi.qms.platform.dao.vo.result.QueryWxFactoryVO>
+     */
+    List<QueryWxFactoryVO> queryWxFactoryActivationNumber(@Param("req") QueryWxFactoryReq req, @Param("month") LocalDateTime month);
+
 
 }

+ 23 - 7
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/ReportServiceImpl.java

@@ -115,7 +115,7 @@ public class ReportServiceImpl implements ReportService {
 
     /**
      * 统计下单量
-     * @author lu
+     * @author guokaixiang
      * @date 2021/6/10 11:35
      * @param queryWxFactoryReq
      * @return com.abi.qms.platform.dto.res.QueryWxFactoryRes
@@ -128,9 +128,17 @@ public class ReportServiceImpl implements ReportService {
         if (isMainAccount.equals(0)) {
             //子账号报表
             //获取现在时间 获取前三个月的时间
-            List<QueryWxFactoryVO> queryWxFactoryVO = reportServiceMapper.queryWxFactory(queryWxFactoryReq,getMonth());
-            AssertUtil.isNull(queryWxFactoryVO,"报表数据查询为空");
-            List<QueryWxFactoryRes.QueryWxFactoryBean> queryWxFactoryBeans = PojoConverterUtils.copyList(queryWxFactoryVO, QueryWxFactoryRes.QueryWxFactoryBean.class);
+            //总量=下单量
+            List<QueryWxFactoryVO> queryWxFactorySumNumber = reportServiceMapper.queryWxFactorySumNumber(queryWxFactoryReq,getMonth());
+            AssertUtil.isNull(queryWxFactorySumNumber,"查询为空!");
+            //激活量
+            List<QueryWxFactoryVO> queryWxFactoryActivationNumber = reportServiceMapper.queryWxFactoryActivationNumber(queryWxFactoryReq,getMonth());
+            Map<String, Long> activationNumberMap = queryWxFactoryActivationNumber.stream().collect(Collectors.toMap(QueryWxFactoryVO::getMarch, QueryWxFactoryVO::getActivation));
+            queryWxFactorySumNumber.forEach(factorySumNumber->{
+                Long aLong = (null == activationNumberMap.get(factorySumNumber.getMarch()) ? 0L : activationNumberMap.get(factorySumNumber.getMarch()));
+                factorySumNumber.setActivation(aLong);
+            });
+            List<QueryWxFactoryRes.QueryWxFactoryBean> queryWxFactoryBeans = PojoConverterUtils.copyList(queryWxFactorySumNumber, QueryWxFactoryRes.QueryWxFactoryBean.class);
             queryWxFactoryBeans.forEach(beans->{
                 beans.setInStock(beans.getTotal() - beans.getActivation());
             });
@@ -138,9 +146,17 @@ public class ReportServiceImpl implements ReportService {
             return res;
         }
         //下单量-激活量-库存
-        List<QueryWxFactoryVO> queryWxFactoryVO = reportServiceMapper.queryWxFactory(queryWxFactoryReq,null);
-        AssertUtil.isNull(queryWxFactoryVO,"查询为空");
-        List<QueryWxFactoryRes.QueryWxFactoryBean> queryWxFactoryBeans = PojoConverterUtils.copyList(queryWxFactoryVO, QueryWxFactoryRes.QueryWxFactoryBean.class);
+        //总量=下单量
+        List<QueryWxFactoryVO> queryWxFactorySumNumber = reportServiceMapper.queryWxFactorySumNumber(queryWxFactoryReq,null);
+        AssertUtil.isNull(queryWxFactorySumNumber,"查询为空!");
+        //激活量
+        List<QueryWxFactoryVO> queryWxFactoryActivationNumber = reportServiceMapper.queryWxFactoryActivationNumber(queryWxFactoryReq,null);
+        Map<String, Long> activationNumberMap = queryWxFactoryActivationNumber.stream().collect(Collectors.toMap(QueryWxFactoryVO::getMarch, QueryWxFactoryVO::getActivation));
+        queryWxFactorySumNumber.forEach(factorySumNumber->{
+            Long aLong = (null == activationNumberMap.get(factorySumNumber.getMarch()) ? 0L : activationNumberMap.get(factorySumNumber.getMarch()));
+            factorySumNumber.setActivation(aLong);
+        });
+        List<QueryWxFactoryRes.QueryWxFactoryBean> queryWxFactoryBeans = PojoConverterUtils.copyList(queryWxFactorySumNumber, QueryWxFactoryRes.QueryWxFactoryBean.class);
         Long total = queryWxFactoryBeans.stream().mapToLong(QueryWxFactoryRes.QueryWxFactoryBean::getTotal).sum();
         Long activation = queryWxFactoryBeans.stream().mapToLong(QueryWxFactoryRes.QueryWxFactoryBean::getActivation).sum();
         Long stock= total-activation;

+ 21 - 2
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/ReportServiceMapper.xml

@@ -97,10 +97,10 @@
         </where>
     </select>
 
-    <select id="queryWxFactory" resultType="com.abi.qms.platform.dao.vo.result.QueryWxFactoryVO">
+    <select id="queryWxFactoryActivationNumber" resultType="com.abi.qms.platform.dao.vo.result.QueryWxFactoryVO">
+
         SELECT
             SUM( mapping.qr_code_count ) activation,
-            SUM( qpackage.qr_number ) total,
             DATE_FORMAT( qpackage.create_time, "%Y-%m" ) march
         FROM
             qr_package AS qpackage
@@ -118,4 +118,23 @@
     </select>
 
 
+    <select id="queryWxFactorySumNumber" resultType="com.abi.qms.platform.dao.vo.result.QueryWxFactoryVO">
+        SELECT
+        sum( qpackage.qr_number ) total,
+        DATE_FORMAT( qpackage.create_time, "%Y-%m" ) march
+        FROM
+        qr_package qpackage
+        <where>
+            qpackage.is_delete = 0
+            <if test="null != req.factoryBeerId and req.factoryBeerId != ''">
+                AND qpackage.factory_beer_id = #{req.factoryBeerId}
+            </if>
+            <if test="null != month">
+                AND #{month} <![CDATA[<=]]> qpackage.create_time
+            </if>
+        </where>
+        GROUP BY march
+    </select>
+
+
 </mapper>