Browse Source

提交数据统计接口

qiubo 4 years ago
parent
commit
6e81be4ff3
17 changed files with 499 additions and 137 deletions
  1. 19 0
      carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/client/CarbonStatisticsClient.java
  2. 56 0
      carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/entity/CarbonPlatformStatiticsNum.java
  3. 34 0
      carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/entity/CarbonStatisticsBuyTrend.java
  4. 17 0
      carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/entity/CarbonStatisticsFarmer.java
  5. 20 0
      carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/entity/CarbonStatisticsProduct.java
  6. 6 0
      carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/fallback/CarbonStatisticsFallbackFactory.java
  7. 32 0
      carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/fallback/impl/CarbonStatisticsFallback.java
  8. 24 0
      carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/forms/CarbonTrendForm.java
  9. 32 0
      carbon-service/carbon-manager-service/src/main/java/com/hcloud/microserver/bank/controller/CarbonStatisticsController.java
  10. 19 0
      carbon-service/carbon-manager-service/src/main/java/com/hcloud/microserver/bank/dao/CarbonStatisticsMapper.java
  11. 22 0
      carbon-service/carbon-manager-service/src/main/java/com/hcloud/microserver/bank/service/CarbonStatisticsService.java
  12. 98 0
      carbon-service/carbon-manager-service/src/main/java/com/hcloud/microserver/bank/service/impl/CarbonStatisticsServiceImpl.java
  13. 80 0
      carbon-service/carbon-manager-service/src/main/resources/mappers/CarbonStatisticsMapper.xml
  14. 0 68
      carbon-service/carbon-service.iml
  15. 0 68
      carbon-sys/carbon-sys.iml
  16. 1 1
      carbon-web/src/main/java/com/hcloud/microserver/bank/config/GlobalWebMvcConfig.java
  17. 39 0
      carbon-web/src/main/java/com/hcloud/microserver/bank/web/provide/CarbonStatisticsWebController.java

+ 19 - 0
carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/client/CarbonStatisticsClient.java

@@ -0,0 +1,19 @@
+package com.hcloud.microserver.facade.carbon.client;
+
+import com.hcloud.microserver.commoncore.base.ResultVO;
+import com.hcloud.microserver.facade.carbon.entity.CarbonPlatformStatiticsNum;
+import com.hcloud.microserver.facade.carbon.fallback.impl.BasePositionFallback;
+import com.hcloud.microserver.facade.carbon.fallback.impl.CarbonStatisticsFallback;
+import com.hcloud.microserver.facade.carbon.forms.CarbonTrendForm;
+import org.springframework.cloud.netflix.feign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@FeignClient(name = "carbon-service", path = "/statistics", fallbackFactory = CarbonStatisticsFallback.class)
+public interface CarbonStatisticsClient {
+
+    @GetMapping("/carbon/statistics/total")
+    public ResultVO<CarbonPlatformStatiticsNum> carbonPlatformStatitics();
+
+    @GetMapping("/carbon/buy/amont")
+    public ResultVO buyAmont(CarbonTrendForm form);
+}

+ 56 - 0
carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/entity/CarbonPlatformStatiticsNum.java

@@ -0,0 +1,56 @@
+package com.hcloud.microserver.facade.carbon.entity;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@ApiModel(value = "碳汇平台统计",description = "碳汇平台的用户量统计")
+public class CarbonPlatformStatiticsNum {
+    @ApiModelProperty("企业总数")
+    private BigDecimal compNum;
+
+    @ApiModelProperty("用户总数")
+    private BigDecimal customerNum;
+
+    @ApiModelProperty("企业用户占总用户的占比")
+    private BigDecimal compCustomerPercentage;
+
+    @ApiModelProperty("不是企业用户占总用户的占比")
+    private BigDecimal NoCompCustomerPercentage;
+
+    @ApiModelProperty("平台用户访问量")
+    private BigDecimal views;
+
+    @ApiModelProperty("产品总量")
+    private BigDecimal productNum;
+
+    @ApiModelProperty("产品各类别占量")
+    private List<CarbonStatisticsProduct> productList;
+
+    @ApiModelProperty("交易订单量")
+    private BigDecimal orderNum;
+
+
+    @ApiModelProperty("农户数量")
+    private BigDecimal farmerTotalNum;
+
+    @ApiModelProperty("集体数量")
+    private BigDecimal collectiveTotalNum;
+
+    @ApiModelProperty("各集体农户占比")
+    private List<CarbonStatisticsFarmer> farmerList;
+
+    @ApiModelProperty("总销售量")
+    private BigDecimal carbonTotalBuy;
+
+
+
+
+
+
+}

+ 34 - 0
carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/entity/CarbonStatisticsBuyTrend.java

@@ -0,0 +1,34 @@
+package com.hcloud.microserver.facade.carbon.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@ApiModel(value = "CarbonStatisticsBuyTrend",description = "统计购买趋势")
+@Data
+public class CarbonStatisticsBuyTrend {
+
+    @ApiModelProperty("时间")
+    private String time;
+
+    @ApiModelProperty("碳汇量")
+    private BigDecimal carbonAmount;
+
+    @ApiModelProperty("最小碳汇量")
+    private BigDecimal minCarbonAmount;
+
+    @ApiModelProperty("最大碳汇量")
+    private BigDecimal maxCarbonAmount;
+
+    @ApiModelProperty("总价格")
+    private BigDecimal totalMoney;
+
+    @ApiModelProperty("最小价格")
+    private BigDecimal minMoney;
+
+    @ApiModelProperty("最大价格")
+    private BigDecimal maxMoney;
+
+}

+ 17 - 0
carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/entity/CarbonStatisticsFarmer.java

@@ -0,0 +1,17 @@
+package com.hcloud.microserver.facade.carbon.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel(value = "CarbonStatisticsFarmer",description = "平台农户占量")
+@Data
+public class CarbonStatisticsFarmer {
+
+    @ApiModelProperty("集体名称")
+    private String collectiveName;
+
+    @ApiModelProperty("集体农户数量")
+    private String farmerNum;
+
+}

+ 20 - 0
carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/entity/CarbonStatisticsProduct.java

@@ -0,0 +1,20 @@
+package com.hcloud.microserver.facade.carbon.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+@Data
+@ApiModel(value = "CarbonStatisticsProduct",description = "产品类别统计")
+public class CarbonStatisticsProduct {
+
+    @ApiModelProperty("类别名称")
+    private String productTypeName;
+    @ApiModelProperty("数量")
+    private BigDecimal num;
+
+    @ApiModelProperty("占比")
+    private BigDecimal ratio;
+
+}

+ 6 - 0
carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/fallback/CarbonStatisticsFallbackFactory.java

@@ -0,0 +1,6 @@
+package com.hcloud.microserver.facade.carbon.fallback;
+
+import com.hcloud.microserver.facade.carbon.client.CarbonStatisticsClient;
+
+public interface CarbonStatisticsFallbackFactory extends CarbonStatisticsClient {
+}

+ 32 - 0
carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/fallback/impl/CarbonStatisticsFallback.java

@@ -0,0 +1,32 @@
+package com.hcloud.microserver.facade.carbon.fallback.impl;
+
+import com.hcloud.microserver.commoncore.base.ResultVO;
+import com.hcloud.microserver.commoncore.enums.ResultEnum;
+import com.hcloud.microserver.facade.carbon.entity.CarbonPlatformStatiticsNum;
+import com.hcloud.microserver.facade.carbon.fallback.CarbonStatisticsFallbackFactory;
+import com.hcloud.microserver.facade.carbon.forms.CarbonTrendForm;
+import feign.hystrix.FallbackFactory;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+public class CarbonStatisticsFallback implements FallbackFactory<CarbonStatisticsFallbackFactory> {
+    @Override
+    public CarbonStatisticsFallbackFactory create(Throwable throwable) {
+        return new CarbonStatisticsFallbackFactory() {
+
+            @Override
+            public ResultVO<CarbonPlatformStatiticsNum> carbonPlatformStatitics() {
+                log.error("findByCodes 熔断");
+                return new ResultVO(ResultEnum.SYS_BREAK_ERROR);
+            }
+
+            @Override
+            public ResultVO buyAmont(CarbonTrendForm form) {
+                log.error("findByCodes 熔断");
+                return new ResultVO(ResultEnum.SYS_BREAK_ERROR);
+            }
+        };
+    }
+}

+ 24 - 0
carbon-service/carbon-manager-client/src/main/java/com/hcloud/microserver/facade/carbon/forms/CarbonTrendForm.java

@@ -0,0 +1,24 @@
+package com.hcloud.microserver.facade.carbon.forms;
+
+import com.hcloud.microserver.commoncore.base.BaseForm;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+@Data
+@ApiModel(value = "CarbonTrendForm",description = "时间段查询方式")
+public class CarbonTrendForm extends BaseForm {
+
+    @ApiModelProperty("开始时间")
+    private Date startTime;
+
+
+    @ApiModelProperty("结束时间")
+    private Date endTime;
+
+
+    @ApiModelProperty("查询方式")
+    private String way;
+
+}

+ 32 - 0
carbon-service/carbon-manager-service/src/main/java/com/hcloud/microserver/bank/controller/CarbonStatisticsController.java

@@ -0,0 +1,32 @@
+package com.hcloud.microserver.bank.controller;
+
+
+import com.github.pagehelper.PageInfo;
+import com.hcloud.microserver.bank.service.CarbonStatisticsService;
+import com.hcloud.microserver.commoncore.base.BaseController;
+import com.hcloud.microserver.commoncore.base.ResultVO;
+import com.hcloud.microserver.facade.carbon.entity.CarbonPlatformStatiticsNum;
+import com.hcloud.microserver.facade.carbon.entity.CarbonStatisticsBuyTrend;
+import com.hcloud.microserver.facade.carbon.forms.CarbonTrendForm;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/statistics")
+public class CarbonStatisticsController extends BaseController {
+    @Autowired
+    private CarbonStatisticsService carbonStatisticsService;
+    @GetMapping("/carbon/statistics/total")
+    public ResultVO<CarbonPlatformStatiticsNum> carbonPlatformStatitics(){
+        CarbonPlatformStatiticsNum carbonPlatformStatiticsNum = carbonStatisticsService.carbonPlatformTotal();
+        return success(carbonPlatformStatiticsNum);
+    }
+
+    @GetMapping("/carbon/buy/amont")
+    public ResultVO buyAmont(CarbonTrendForm form){
+        PageInfo<CarbonStatisticsBuyTrend> info = carbonStatisticsService.carbonStatisticsBuyTrend(form);
+        return success(info.getList(),info.getTotal());
+    }
+}

+ 19 - 0
carbon-service/carbon-manager-service/src/main/java/com/hcloud/microserver/bank/dao/CarbonStatisticsMapper.java

@@ -0,0 +1,19 @@
+package com.hcloud.microserver.bank.dao;
+
+import com.hcloud.microserver.facade.carbon.entity.CarbonPlatformStatiticsNum;
+import com.hcloud.microserver.facade.carbon.entity.CarbonStatisticsBuyTrend;
+import com.hcloud.microserver.facade.carbon.entity.CarbonStatisticsProduct;
+import com.hcloud.microserver.facade.carbon.forms.CarbonTrendForm;
+
+import java.util.List;
+
+public interface CarbonStatisticsMapper {
+
+    public CarbonPlatformStatiticsNum carbonPlatformTotalStatitics();
+
+    public List<CarbonStatisticsProduct> carbonProductDetailStatistics();
+
+    public  List<CarbonStatisticsBuyTrend> carbonStatisticsBuyTrend(CarbonTrendForm carbonTrendForm);
+
+
+}

+ 22 - 0
carbon-service/carbon-manager-service/src/main/java/com/hcloud/microserver/bank/service/CarbonStatisticsService.java

@@ -0,0 +1,22 @@
+package com.hcloud.microserver.bank.service;
+
+import com.github.pagehelper.PageInfo;
+import com.hcloud.microserver.facade.carbon.entity.CarbonPlatformStatiticsNum;
+import com.hcloud.microserver.facade.carbon.entity.CarbonStatisticsBuyTrend;
+import com.hcloud.microserver.facade.carbon.forms.CarbonTrendForm;
+
+import java.util.List;
+
+public interface CarbonStatisticsService {
+
+    /**
+     * 获取平台 总的数据
+     * @return
+     */
+    public CarbonPlatformStatiticsNum carbonPlatformTotal();
+
+
+    public PageInfo<CarbonStatisticsBuyTrend> carbonStatisticsBuyTrend(CarbonTrendForm trendForm);
+
+
+}

+ 98 - 0
carbon-service/carbon-manager-service/src/main/java/com/hcloud/microserver/bank/service/impl/CarbonStatisticsServiceImpl.java

@@ -0,0 +1,98 @@
+package com.hcloud.microserver.bank.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.hcloud.microserver.bank.dao.CarbonStatisticsMapper;
+import com.hcloud.microserver.bank.service.CarbonStatisticsService;
+import com.hcloud.microserver.facade.carbon.entity.CarbonPlatformStatiticsNum;
+import com.hcloud.microserver.facade.carbon.entity.CarbonStatisticsBuyTrend;
+import com.hcloud.microserver.facade.carbon.entity.CarbonStatisticsProduct;
+import com.hcloud.microserver.facade.carbon.forms.CarbonTrendForm;
+import com.netflix.discovery.converters.Auto;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+@Slf4j
+@Service
+public class CarbonStatisticsServiceImpl implements CarbonStatisticsService {
+
+    @Autowired
+    private CarbonStatisticsMapper carbonStatisticsMapper;
+
+    @Override
+    public CarbonPlatformStatiticsNum carbonPlatformTotal() {
+        CarbonPlatformStatiticsNum carbonPlatformStatiticsNum = carbonStatisticsMapper.carbonPlatformTotalStatitics();
+        List<CarbonStatisticsProduct> carbonStatisticsProducts =
+                carbonStatisticsMapper.carbonProductDetailStatistics();
+        carbonPlatformStatiticsNum.setProductList(carbonStatisticsProducts);
+        return carbonPlatformStatiticsNum;
+    }
+
+    @Override
+    public PageInfo<CarbonStatisticsBuyTrend> carbonStatisticsBuyTrend(CarbonTrendForm trendForm) {
+        if (trendForm.getEndTime()==null||trendForm.getStartTime()==null){
+            trendForm.setEndTime(new Date());
+            trendForm.setStartTime(getStartMonthDate(new Date()));
+        }
+        PageHelper.startPage(trendForm.getPageNo(),trendForm.getPageSize());
+        List<CarbonStatisticsBuyTrend> trends = carbonStatisticsMapper.carbonStatisticsBuyTrend(trendForm);
+
+        return new PageInfo<>(trends);
+    }
+
+    private  SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
+    private  SimpleDateFormat format1 = new SimpleDateFormat(
+            "yyyyMMdd HH:mm:ss");
+
+    /**
+     * 得到指定日期的一天的的最后时刻23:59:59
+     *
+     * @param date
+     * @return
+     */
+    private  Date getFinallyDate(Date date) {
+        String temp = format.format(date);
+        temp += " 23:59:59";
+
+        try {
+            return format1.parse(temp);
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+    /**
+     * 得到指定日期的一天的开始时刻00:00:00
+     *
+     * @param date
+     * @return
+     */
+    private  Date getStartDate(Date date) {
+        String temp = format.format(date);
+        temp += " 00:00:00";
+
+        try {
+            return format1.parse(temp);
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+    private  Date getStartMonthDate(Date date) {
+        SimpleDateFormat format = new SimpleDateFormat("yyyyMM");
+        String temp = format.format(date);
+        temp += "01 00:00:00";
+
+        try {
+            return format1.parse(temp);
+        } catch (Exception e) {
+            return null;
+        }
+    }
+}

+ 80 - 0
carbon-service/carbon-manager-service/src/main/resources/mappers/CarbonStatisticsMapper.xml

@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.hcloud.microserver.bank.dao.CarbonStatisticsMapper">
+    <select id="carbonPlatformTotalStatitics"
+            resultType="com.hcloud.microserver.facade.carbon.entity.CarbonPlatformStatiticsNum">
+
+        SELECT
+            SUM(h.totalNum)-( CASE h.is_company WHEN "noCert" THEN h.totalNum ELSE 0 END ) as NoCompCustomerPercentage,
+            ( CASE h.is_company WHEN "noCert" THEN h.totalNum ELSE 0 END ) as compCustomerPercentage,
+            SUM(h.totalNum) as customerNum,
+            (select count(0) from t_customer_company_info f) as compNum,
+            (SELECT COUNT(0) FROM `t_farmer_info` f) as farmerTotalNum,
+            (SELECT COUNT(0) FROM `t_collective_farmer` f) as collectiveTotalNum,
+            (SELECT COUNT(0) FROM `t_goods_order_info` f where f.order_status=1) as orderNum,
+            (SELECT sum(f.order_carbon_amount) FROM `t_goods_order_info` f where f.order_status=1) as carbonTotalBuy,
+            (SELECT COUNT(0) FROM `t_product_info` f) as productNum,
+        FROM
+            (
+            SELECT
+                ( CASE x.is_company WHEN 1 THEN "cert" ELSE "noCert" END ) AS is_company,
+                COUNT( 0 ) AS totalNum
+            FROM
+                t_customer_info x
+            GROUP BY
+            x.is_company
+            ) h
+
+
+    </select>
+    <select id="carbonProductDetailStatistics" resultType="com.hcloud.microserver.facade.carbon.entity.CarbonStatisticsProduct">
+        SELECT
+            b.type_name AS productTypeName,
+            COUNT( 0 ) AS num,
+            COUNT( 0 ) / ( SELECT COUNT( 0 ) FROM `t_product_info` f ) AS ratio
+        FROM
+            t_product_info a
+            LEFT JOIN t_product_type b ON a.fk_product_type = b.guid
+        GROUP BY
+            b.guid
+    </select>
+
+    <select id="carbonStatisticsBuyTrend" parameterType="com.hcloud.microserver.facade.carbon.forms.CarbonTrendForm" resultType="com.hcloud.microserver.facade.carbon.entity.CarbonStatisticsBuyTrend">
+        SELECT
+            <choose>
+                <when test="way == 1">
+                    DATE_FORMAT( h.create_time, '%Y' ) AS time,
+                </when>
+                <when test="way == 2">
+                    DATE_FORMAT( h.create_time, '%Y%m' ) AS time,
+                </when>
+                <otherwise>
+                    DATE_FORMAT( h.create_time, '%Y%m%d' ) AS time,
+                </otherwise>
+            </choose>
+            sum( h.order_carbon_amount ) AS carbonAmount,
+            MIN( h.order_carbon_amount ) AS minCarbonAmount,
+            MAX( h.order_carbon_amount ) AS maxCarbonAmount,
+            sum(h.order_amount) AS totalMoney,
+            MIN(h.order_amount) as minMoney,
+            MAX(h.order_amount) as maxMoney
+        FROM
+            t_goods_order_info h
+        WHERE
+            h.order_status = 2
+            and h.create_time between #{startTime} and  #{startTime}
+        GROUP BY
+        <choose>
+            <when test="way == 1">
+                DATE_FORMAT( h.create_time, '%Y' )
+            </when>
+            <when test="way == 2">
+                DATE_FORMAT( h.create_time, '%Y%m' )
+            </when>
+            <otherwise>
+                DATE_FORMAT( h.create_time, '%Y%m%d' )
+            </otherwise>
+        </choose>
+
+    </select>
+</mapper>

+ 0 - 68
carbon-service/carbon-service.iml

@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.10" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.10" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:18.0" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.21.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.21.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.21.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.21.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.0.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.16.18" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:1.5.18.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:1.5.18.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:1.5.18.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.2.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.2.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:2.6.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:1.10.19" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.4.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.21.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.3.21.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-devtools:1.5.18.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.5.18.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.18.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: com.qiniu:qiniu-java-sdk:7.2.28" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.squareup.okhttp3:okhttp:3.8.1" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.squareup.okio:okio:1.13.0" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.code.gson:gson:2.8.5" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi:3.17" level="project" />
-    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.17" level="project" />
-    <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.04" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.17" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
-    <orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:easyexcel:2.2.3" level="project" />
-    <orderEntry type="library" name="Maven: cglib:cglib:3.1" level="project" />
-    <orderEntry type="library" name="Maven: org.ow2.asm:asm:4.2" level="project" />
-    <orderEntry type="library" name="Maven: org.ehcache:ehcache:3.2.3" level="project" />
-  </component>
-</module>

+ 0 - 68
carbon-sys/carbon-sys.iml

@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.10" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.10" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:18.0" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.21.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.21.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.21.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.21.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.0.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.6.1" level="project" />
-    <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.16.18" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:1.5.18.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:1.5.18.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:1.5.18.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.2.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.2.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:2.6.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:1.10.19" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.4.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.21.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.3.21.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-devtools:1.5.18.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.5.18.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.18.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: com.qiniu:qiniu-java-sdk:7.2.28" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.squareup.okhttp3:okhttp:3.8.1" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.squareup.okio:okio:1.13.0" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.code.gson:gson:2.8.5" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi:3.17" level="project" />
-    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.17" level="project" />
-    <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.04" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.17" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
-    <orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:easyexcel:2.2.3" level="project" />
-    <orderEntry type="library" name="Maven: cglib:cglib:3.1" level="project" />
-    <orderEntry type="library" name="Maven: org.ow2.asm:asm:4.2" level="project" />
-    <orderEntry type="library" name="Maven: org.ehcache:ehcache:3.2.3" level="project" />
-  </component>
-</module>

+ 1 - 1
carbon-web/src/main/java/com/hcloud/microserver/bank/config/GlobalWebMvcConfig.java

@@ -23,7 +23,7 @@ import java.util.List;
  *
  * @author yys
  */
-@Configuration
+//@Configuration
 public class GlobalWebMvcConfig implements WebMvcConfigurer {
 
 

+ 39 - 0
carbon-web/src/main/java/com/hcloud/microserver/bank/web/provide/CarbonStatisticsWebController.java

@@ -0,0 +1,39 @@
+package com.hcloud.microserver.bank.web.provide;
+
+
+
+import com.github.pagehelper.PageInfo;
+import com.hcloud.microserver.commoncore.base.BaseController;
+import com.hcloud.microserver.commoncore.base.ResultVO;
+import com.hcloud.microserver.facade.carbon.client.CarbonStatisticsClient;
+import com.hcloud.microserver.facade.carbon.entity.CarbonPlatformStatiticsNum;
+import com.hcloud.microserver.facade.carbon.entity.CarbonStatisticsBuyTrend;
+import com.hcloud.microserver.facade.carbon.forms.CarbonTrendForm;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/statistics")
+@Api("碳汇统计")
+public class CarbonStatisticsWebController extends BaseController {
+    @Autowired
+    private CarbonStatisticsClient carbonStatisticsClient;
+
+    @ApiOperation("总碳汇统计")
+    @GetMapping("/carbon/statistics/total")
+    public ResultVO<CarbonPlatformStatiticsNum> carbonPlatformStatitics(){
+        ResultVO<CarbonPlatformStatiticsNum> carbonPlatformStatiticsNumResultVO = carbonStatisticsClient.carbonPlatformStatitics();
+        return carbonPlatformStatiticsNumResultVO;
+    }
+
+    @ApiOperation("碳汇趋势统计")
+    @GetMapping("/carbon/buy/amont")
+    public ResultVO buyAmont(CarbonTrendForm form){
+        ResultVO carbonPlatformStatiticsNumResultVO = carbonStatisticsClient.buyAmont(form);
+        return carbonPlatformStatiticsNumResultVO;
+    }
+}