From beeaad820a8b8f3b94a8a1f0035cd46e933b3619 Mon Sep 17 00:00:00 2001 From: huangqizhen Date: Thu, 5 Dec 2024 15:30:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF=E6=A1=86=E6=9E=B6=E7=AC=AC?= =?UTF-8?q?=E4=B8=89=E7=89=88=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/admin/controller/AdminController.java | 25 +- demo/admin/src/main/resources/application.yml | 2 + demo/audit/src/main/resources/application.yml | 2 + .../com/example/commons/domain/entity/Detail.java | 21 +- .../com/example/commons/domain/entity/Product.java | 6 +- .../com/example/commons/domain/vo/DetailVo.java | 18 +- .../java/com/example/commons/domain/vo/Page.java | 6 +- .../com/example/commons/domain/vo/Statistics.java | 46 ++++ .../com/example/commons/domain/vo/Statisticss.java | 18 ++ .../com/example/commons/domain/vo/SumCoin.java | 73 ++++++ .../example/commons/sevice/StatisticsService.java | 25 ++ demo/consume/src/main/resources/application.yml | 2 + .../recharge/service/RechargeServiceImpl.java | 9 +- demo/recharge/src/main/resources/application.yml | 2 + demo/refund/.gitattributes | 2 - demo/refund/.gitignore | 33 --- demo/refund/.mvn/wrapper/maven-wrapper.properties | 19 -- demo/refund/mvnw | 259 -------------------- demo/refund/mvnw.cmd | 149 ------------ demo/refund/pom.xml | 80 ------ .../java/com/example/fefund/FefundApplication.java | 15 -- .../controller/RefundController.java | 10 +- .../{fefund => refund}/mapper/RefundMapper.java | 4 +- .../service/RefundServiceImpl.java | 4 +- demo/refund/src/main/resources/application.yml | 2 + .../com/example/fefund/FefundApplicationTests.java | 13 - .../controller/StatisticsController.java | 74 ++++++ .../statistics/mapper/StatisticsMapper.java | 268 +++++++++++++++++++++ .../statistics/service/StatisticsServiceImpl.java | 126 ++++++++++ demo/statistics/src/main/resources/application.yml | 3 + .../src/main/resources/static/index.html | 6 + demo/user/src/main/resources/application.yml | 2 + 32 files changed, 725 insertions(+), 599 deletions(-) create mode 100644 demo/commons/src/main/java/com/example/commons/domain/vo/Statistics.java create mode 100644 demo/commons/src/main/java/com/example/commons/domain/vo/Statisticss.java create mode 100644 demo/commons/src/main/java/com/example/commons/domain/vo/SumCoin.java create mode 100644 demo/commons/src/main/java/com/example/commons/sevice/StatisticsService.java delete mode 100644 demo/refund/.gitattributes delete mode 100644 demo/refund/.gitignore delete mode 100644 demo/refund/.mvn/wrapper/maven-wrapper.properties delete mode 100644 demo/refund/mvnw delete mode 100644 demo/refund/mvnw.cmd delete mode 100644 demo/refund/pom.xml delete mode 100644 demo/refund/src/main/java/com/example/fefund/FefundApplication.java rename demo/refund/src/main/java/com/example/{fefund => refund}/controller/RefundController.java (93%) rename demo/refund/src/main/java/com/example/{fefund => refund}/mapper/RefundMapper.java (96%) rename demo/refund/src/main/java/com/example/{fefund => refund}/service/RefundServiceImpl.java (97%) delete mode 100644 demo/refund/src/test/java/com/example/fefund/FefundApplicationTests.java create mode 100644 demo/statistics/src/main/java/com/example/statistics/controller/StatisticsController.java create mode 100644 demo/statistics/src/main/java/com/example/statistics/mapper/StatisticsMapper.java create mode 100644 demo/statistics/src/main/java/com/example/statistics/service/StatisticsServiceImpl.java create mode 100644 demo/statistics/src/main/resources/static/index.html diff --git a/demo/admin/src/main/java/com/example/admin/controller/AdminController.java b/demo/admin/src/main/java/com/example/admin/controller/AdminController.java index 791561c..6f9f930 100644 --- a/demo/admin/src/main/java/com/example/admin/controller/AdminController.java +++ b/demo/admin/src/main/java/com/example/admin/controller/AdminController.java @@ -3,14 +3,15 @@ package com.example.admin.controller; import com.example.commons.Util.JWTUtil; import com.example.commons.domain.entity.Admin; +import com.example.commons.domain.vo.Page; import com.example.commons.domain.vo.Result; import com.example.commons.sevice.AdminService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; -import java.util.Arrays; - @RestController @RequestMapping("/admin") @RequiredArgsConstructor @@ -21,6 +22,16 @@ public class AdminController { private final AdminService adminService; + @PostMapping("/search") + public Result search(@RequestBody Page page){ + if(ObjectUtils.isEmpty(page.getPageNum())){ + return Result.success(adminService.search(page.getAdmin())); + } + else { + return Result.success(adminService.searchForPage(page.getPageNum(), page.getPageSize(), page.getAdmin())); + } + } + @PostMapping("/login") public Result login(@RequestBody Admin admin){ @@ -36,4 +47,14 @@ public class AdminController { } } + @PostMapping("/userinfo") + public UserDetails getUserInfo(@RequestHeader("token") String token) { + try { + return JWTUtil.getUserDetailsList(token,Admin.class); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + } diff --git a/demo/admin/src/main/resources/application.yml b/demo/admin/src/main/resources/application.yml index 8ce8708..a02b92e 100644 --- a/demo/admin/src/main/resources/application.yml +++ b/demo/admin/src/main/resources/application.yml @@ -3,6 +3,8 @@ server: spring: datasource: + hikari: + maximum-pool-size: 50 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 username: hwgold diff --git a/demo/audit/src/main/resources/application.yml b/demo/audit/src/main/resources/application.yml index c2d8b64..a4e18a3 100644 --- a/demo/audit/src/main/resources/application.yml +++ b/demo/audit/src/main/resources/application.yml @@ -3,6 +3,8 @@ server: spring: datasource: + hikari: + maximum-pool-size: 50 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 username: hwgold diff --git a/demo/commons/src/main/java/com/example/commons/domain/entity/Detail.java b/demo/commons/src/main/java/com/example/commons/domain/entity/Detail.java index 3cd1a84..a77208a 100644 --- a/demo/commons/src/main/java/com/example/commons/domain/entity/Detail.java +++ b/demo/commons/src/main/java/com/example/commons/domain/entity/Detail.java @@ -5,6 +5,8 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.Date; @Data @@ -23,9 +25,9 @@ public class Detail { private String refundGoods; private Integer contactId; private String remark; - private Double rechargeCoin; - private Double freeCoin; - private Double taskCoin; + private BigDecimal rechargeCoin; + private BigDecimal freeCoin; + private BigDecimal taskCoin; private Integer adminId; private Integer status; @@ -40,5 +42,18 @@ public class Detail { private String uname; private Integer firstRecharge; + private String adminArea; + private String adminName; + private String userName; + private String auditStatus; + private String auditReson; + + + + // @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") +// @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private String productName; + private Integer refundId; } diff --git a/demo/commons/src/main/java/com/example/commons/domain/entity/Product.java b/demo/commons/src/main/java/com/example/commons/domain/entity/Product.java index b19888e..e3c18c8 100644 --- a/demo/commons/src/main/java/com/example/commons/domain/entity/Product.java +++ b/demo/commons/src/main/java/com/example/commons/domain/entity/Product.java @@ -1,9 +1,11 @@ package com.example.commons.domain.entity; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.NoArgsConstructor; import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.Date; @Data @@ -18,5 +20,7 @@ public class Product { private String subjects; private String type; private String productFlag; - private String createTime; + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + } diff --git a/demo/commons/src/main/java/com/example/commons/domain/vo/DetailVo.java b/demo/commons/src/main/java/com/example/commons/domain/vo/DetailVo.java index 1eb7298..ccd113d 100644 --- a/demo/commons/src/main/java/com/example/commons/domain/vo/DetailVo.java +++ b/demo/commons/src/main/java/com/example/commons/domain/vo/DetailVo.java @@ -3,9 +3,8 @@ package com.example.commons.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; -import java.util.Date; +import java.time.LocalDateTime; @Data @NoArgsConstructor @@ -30,19 +29,24 @@ public class DetailVo { private Integer status; private String updateType; private Integer detailFlag; - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - @DateTimeFormat(pattern = "yyyy-MM-dd") - private Date createTime; + // @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") +// @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; //搜索消费时间 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") - private Date searchStartTime; + private LocalDateTime searchStartTime; @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") - private Date searchEndTime; + private LocalDateTime searchEndTime; //提交人姓名 private String adminName; //消费金币总数 private Integer totalCoin; + + // + private String productName; + private String userName; } diff --git a/demo/commons/src/main/java/com/example/commons/domain/vo/Page.java b/demo/commons/src/main/java/com/example/commons/domain/vo/Page.java index cf91994..7a44357 100644 --- a/demo/commons/src/main/java/com/example/commons/domain/vo/Page.java +++ b/demo/commons/src/main/java/com/example/commons/domain/vo/Page.java @@ -1,9 +1,6 @@ package com.example.commons.domain.vo; -import com.example.commons.domain.entity.Activity; -import com.example.commons.domain.entity.Audit; -import com.example.commons.domain.entity.Detail; -import com.example.commons.domain.entity.Rate; +import com.example.commons.domain.entity.*; import lombok.Data; import lombok.NoArgsConstructor; @@ -20,4 +17,5 @@ public class Page { private ConsumeDetail consumeDetail; private Detail detail; private DetailVo detailVo; + private Admin admin; } diff --git a/demo/commons/src/main/java/com/example/commons/domain/vo/Statistics.java b/demo/commons/src/main/java/com/example/commons/domain/vo/Statistics.java new file mode 100644 index 0000000..0ebc952 --- /dev/null +++ b/demo/commons/src/main/java/com/example/commons/domain/vo/Statistics.java @@ -0,0 +1,46 @@ +package com.example.commons.domain.vo; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +@Data +@NoArgsConstructor +public class Statistics { + private BigDecimal rechargeSumCoin; + private BigDecimal freeSumCoin; + private BigDecimal taskSumCoin; + private BigDecimal totalSumCoin; + private BigDecimal rechargeYesterdaySumCoin; + private BigDecimal freeYesterdaySumCoin; + private BigDecimal taskYesterdaySumCoin; + private BigDecimal totalYesterdaySumCoin; + private Integer rechargeCount; + private Integer rechargeCountThisWeek ; + private Integer rechargeCountLastWeek ; + private BigDecimal weekOverWeekRate; + private Integer rechargeCountToday; + private Integer rechargeCountYesterday; + private BigDecimal dayOverDayRate; + private BigDecimal totalCoinSystemSum; + private BigDecimal totalERPSum; + private BigDecimal totalHomilyChartSum; + private BigDecimal totalHomilyLinkSum; + private BigDecimal rechargeCoinSystemSum; + private BigDecimal freeCoinSystemSum; + private BigDecimal taskCoinSystemSum; + private BigDecimal rechargeERPSum; + private BigDecimal freeERPSum; + private BigDecimal taskERPSum; + private BigDecimal rechargeHomilyChartSum; + private BigDecimal freeHomilyChartSum; + private BigDecimal taskHomilyChartSum; + private BigDecimal rechargeHomilyLinkSum; + private BigDecimal freeHomilyLinkSum; + private BigDecimal taskHomilyLinkSum; + private String subject; + private String consumePlatform; + private Integer firstRechargeCountYesterday; + +} diff --git a/demo/commons/src/main/java/com/example/commons/domain/vo/Statisticss.java b/demo/commons/src/main/java/com/example/commons/domain/vo/Statisticss.java new file mode 100644 index 0000000..15efcf1 --- /dev/null +++ b/demo/commons/src/main/java/com/example/commons/domain/vo/Statisticss.java @@ -0,0 +1,18 @@ +package com.example.commons.domain.vo; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@NoArgsConstructor +public class Statisticss { + + private List CoinSystemSum; + private List ERPSum; + private List HomilyChartSum; + private List HomilyLinkSum; + +} diff --git a/demo/commons/src/main/java/com/example/commons/domain/vo/SumCoin.java b/demo/commons/src/main/java/com/example/commons/domain/vo/SumCoin.java new file mode 100644 index 0000000..2898f92 --- /dev/null +++ b/demo/commons/src/main/java/com/example/commons/domain/vo/SumCoin.java @@ -0,0 +1,73 @@ +package com.example.commons.domain.vo; + +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +public class SumCoin { + + //当前金币余量 充值金币 + private Double todayRecharge; + //当前金币余量 免费金币 + private Double todayFree; + //当前金币余量 任务金币 + private Double todayTask; + //当前金币余量 总金币 + private Double todayTotalCoin; + //前一天金币余量 充值金币 + private Double yesterdayRecharge; + //前一天金币余量 免费金币 + private Double yesterdayFree; + //前一天金币余量 任务金币 + private Double yesterdayTask; + //前一天金币余量 总金币 + private Double yesterdayTotalCoin; + //当前金币余量与前一天金币余量之差 + private Double coinDifference; + + + //全年累计消耗金币数 消费总数 + private Double yearConsumeCoin; + //全年累计消耗金币数 退款金币 + private Double yearRefundCoin; + //全年累计消耗金币数 消耗总金币 + private Double yearsumCoin; + + + //全年累计消耗金币数--昨日新增消耗 消费金币 + private Double dayConsumeCoin; + //全年累计消耗金币数--昨日新增消耗 退款总金币 + private Double dayRefundCoin; + //全年累计消耗金币数--昨日新增消耗 消耗总金币 + private Double daysumCoin; + + + //全年累计消耗金币数--下面 消耗充值金币 + private Double yearSumRechargeCoin; + //全年累计消耗金币数--下面 消耗免费金币 + private Double yearSumFreeCoin; + //全年累计消耗金币数--下面 消耗任务金币 + private Double yearSumTaskCoin; + + + //中间-11个月 每月充值金币 + private Double rechargeSumCoin; + //中间-11个月 每月免费金币 + private Double freeSumCoin; + //中间-11个月 每月任务金币 + private Double taskSumCoin; + private String month; + + + private Integer jwcode; + private String area; + + + private Double totalRechargeRefund; + private Double totalTaskRefund; + private Double totalFreeRefund; + private Double totalRecharge; + private Double totalFree; + private Double totalTask; +} diff --git a/demo/commons/src/main/java/com/example/commons/sevice/StatisticsService.java b/demo/commons/src/main/java/com/example/commons/sevice/StatisticsService.java new file mode 100644 index 0000000..37ded72 --- /dev/null +++ b/demo/commons/src/main/java/com/example/commons/sevice/StatisticsService.java @@ -0,0 +1,25 @@ +package com.example.commons.sevice; + +import com.example.commons.domain.vo.Statistics; +import com.example.commons.domain.vo.Statisticss; +import com.example.commons.domain.vo.SumCoin; +import org.springframework.stereotype.Service; + +import java.util.List; + + +@Service +public interface StatisticsService { + + Statistics getStatistics(); + Statisticss stats(); + + SumCoin getSumCoin(); + SumCoin getYearConsumeCoin(); + SumCoin getDayConsumeCoin(); + List getMediuPayCoin(); + List getMediuConsumeCoin(); + SumCoin getMess(Integer jwcode); + List getMediumAreaPay(); + List getMediumAreaConsume(); +} diff --git a/demo/consume/src/main/resources/application.yml b/demo/consume/src/main/resources/application.yml index 703c183..5559142 100644 --- a/demo/consume/src/main/resources/application.yml +++ b/demo/consume/src/main/resources/application.yml @@ -3,6 +3,8 @@ server: spring: datasource: + hikari: + maximum-pool-size: 50 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168:3306/hwgold?serverTimezone=GMT%2b8&serverTimezone=Asia/Shanghai username: hwgold diff --git a/demo/recharge/src/main/java/com/example/recharge/service/RechargeServiceImpl.java b/demo/recharge/src/main/java/com/example/recharge/service/RechargeServiceImpl.java index 0e5e41e..1e118eb 100644 --- a/demo/recharge/src/main/java/com/example/recharge/service/RechargeServiceImpl.java +++ b/demo/recharge/src/main/java/com/example/recharge/service/RechargeServiceImpl.java @@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.List; @Service @@ -66,9 +67,9 @@ public class RechargeServiceImpl implements RechargeService { } detail.setJwcode(JwCode); detail.setActivityId(activityId); - detail.setTaskCoin(paidGold); - detail.setRechargeCoin(rechargeGold); - detail.setFreeCoin(freeGold); + detail.setTaskCoin(BigDecimal.valueOf(paidGold)); + detail.setRechargeCoin(BigDecimal.valueOf(rechargeGold)); + detail.setFreeCoin(BigDecimal.valueOf(freeGold)); detail.setRechargeWay(rechargeWay); detail.setRemark(remark); detail.setAdminId(adminId); @@ -86,7 +87,7 @@ public class RechargeServiceImpl implements RechargeService { audit.setRechargeId(rechargeId); audit.setJwcode(jwCode); audit.setDetailId(detailId); - System.out.println(audit); + System.out.println(audit+"---------------------------------------"); result = auditMapper.insert(audit); if (result != 1) { throw new Exception("Failed to insert another entity"); diff --git a/demo/recharge/src/main/resources/application.yml b/demo/recharge/src/main/resources/application.yml index 5308e49..8e98a48 100644 --- a/demo/recharge/src/main/resources/application.yml +++ b/demo/recharge/src/main/resources/application.yml @@ -3,6 +3,8 @@ server: spring: datasource: + hikari: + maximum-pool-size: 50 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 username: hwgold diff --git a/demo/refund/.gitattributes b/demo/refund/.gitattributes deleted file mode 100644 index 3b41682..0000000 --- a/demo/refund/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -/mvnw text eol=lf -*.cmd text eol=crlf diff --git a/demo/refund/.gitignore b/demo/refund/.gitignore deleted file mode 100644 index 549e00a..0000000 --- a/demo/refund/.gitignore +++ /dev/null @@ -1,33 +0,0 @@ -HELP.md -target/ -!.mvn/wrapper/maven-wrapper.jar -!**/src/main/**/target/ -!**/src/test/**/target/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -build/ -!**/src/main/**/build/ -!**/src/test/**/build/ - -### VS Code ### -.vscode/ diff --git a/demo/refund/.mvn/wrapper/maven-wrapper.properties b/demo/refund/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index d58dfb7..0000000 --- a/demo/refund/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1,19 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -wrapperVersion=3.3.2 -distributionType=only-script -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip diff --git a/demo/refund/mvnw b/demo/refund/mvnw deleted file mode 100644 index 19529dd..0000000 --- a/demo/refund/mvnw +++ /dev/null @@ -1,259 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Apache Maven Wrapper startup batch script, version 3.3.2 -# -# Optional ENV vars -# ----------------- -# JAVA_HOME - location of a JDK home dir, required when download maven via java source -# MVNW_REPOURL - repo url base for downloading maven distribution -# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven -# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output -# ---------------------------------------------------------------------------- - -set -euf -[ "${MVNW_VERBOSE-}" != debug ] || set -x - -# OS specific support. -native_path() { printf %s\\n "$1"; } -case "$(uname)" in -CYGWIN* | MINGW*) - [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" - native_path() { cygpath --path --windows "$1"; } - ;; -esac - -# set JAVACMD and JAVACCMD -set_java_home() { - # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched - if [ -n "${JAVA_HOME-}" ]; then - if [ -x "$JAVA_HOME/jre/sh/java" ]; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - JAVACCMD="$JAVA_HOME/jre/sh/javac" - else - JAVACMD="$JAVA_HOME/bin/java" - JAVACCMD="$JAVA_HOME/bin/javac" - - if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then - echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 - echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 - return 1 - fi - fi - else - JAVACMD="$( - 'set' +e - 'unset' -f command 2>/dev/null - 'command' -v java - )" || : - JAVACCMD="$( - 'set' +e - 'unset' -f command 2>/dev/null - 'command' -v javac - )" || : - - if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then - echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 - return 1 - fi - fi -} - -# hash string like Java String::hashCode -hash_string() { - str="${1:-}" h=0 - while [ -n "$str" ]; do - char="${str%"${str#?}"}" - h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) - str="${str#?}" - done - printf %x\\n $h -} - -verbose() { :; } -[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } - -die() { - printf %s\\n "$1" >&2 - exit 1 -} - -trim() { - # MWRAPPER-139: - # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. - # Needed for removing poorly interpreted newline sequences when running in more - # exotic environments such as mingw bash on Windows. - printf "%s" "${1}" | tr -d '[:space:]' -} - -# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties -while IFS="=" read -r key value; do - case "${key-}" in - distributionUrl) distributionUrl=$(trim "${value-}") ;; - distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; - esac -done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" -[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" - -case "${distributionUrl##*/}" in -maven-mvnd-*bin.*) - MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ - case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in - *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; - :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; - :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; - :Linux*x86_64*) distributionPlatform=linux-amd64 ;; - *) - echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 - distributionPlatform=linux-amd64 - ;; - esac - distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" - ;; -maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; -*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; -esac - -# apply MVNW_REPOURL and calculate MAVEN_HOME -# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ -[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" -distributionUrlName="${distributionUrl##*/}" -distributionUrlNameMain="${distributionUrlName%.*}" -distributionUrlNameMain="${distributionUrlNameMain%-bin}" -MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" -MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" - -exec_maven() { - unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : - exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" -} - -if [ -d "$MAVEN_HOME" ]; then - verbose "found existing MAVEN_HOME at $MAVEN_HOME" - exec_maven "$@" -fi - -case "${distributionUrl-}" in -*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; -*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; -esac - -# prepare tmp dir -if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then - clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } - trap clean HUP INT TERM EXIT -else - die "cannot create temp dir" -fi - -mkdir -p -- "${MAVEN_HOME%/*}" - -# Download and Install Apache Maven -verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." -verbose "Downloading from: $distributionUrl" -verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" - -# select .zip or .tar.gz -if ! command -v unzip >/dev/null; then - distributionUrl="${distributionUrl%.zip}.tar.gz" - distributionUrlName="${distributionUrl##*/}" -fi - -# verbose opt -__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' -[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v - -# normalize http auth -case "${MVNW_PASSWORD:+has-password}" in -'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; -has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; -esac - -if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then - verbose "Found wget ... using wget" - wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" -elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then - verbose "Found curl ... using curl" - curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" -elif set_java_home; then - verbose "Falling back to use Java to download" - javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" - targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" - cat >"$javaSource" <<-END - public class Downloader extends java.net.Authenticator - { - protected java.net.PasswordAuthentication getPasswordAuthentication() - { - return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); - } - public static void main( String[] args ) throws Exception - { - setDefault( new Downloader() ); - java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); - } - } - END - # For Cygwin/MinGW, switch paths to Windows format before running javac and java - verbose " - Compiling Downloader.java ..." - "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" - verbose " - Running Downloader.java ..." - "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" -fi - -# If specified, validate the SHA-256 sum of the Maven distribution zip file -if [ -n "${distributionSha256Sum-}" ]; then - distributionSha256Result=false - if [ "$MVN_CMD" = mvnd.sh ]; then - echo "Checksum validation is not supported for maven-mvnd." >&2 - echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 - exit 1 - elif command -v sha256sum >/dev/null; then - if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then - distributionSha256Result=true - fi - elif command -v shasum >/dev/null; then - if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then - distributionSha256Result=true - fi - else - echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 - echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 - exit 1 - fi - if [ $distributionSha256Result = false ]; then - echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 - echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 - exit 1 - fi -fi - -# unzip and move -if command -v unzip >/dev/null; then - unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" -else - tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" -fi -printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" -mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" - -clean || : -exec_maven "$@" diff --git a/demo/refund/mvnw.cmd b/demo/refund/mvnw.cmd deleted file mode 100644 index 249bdf3..0000000 --- a/demo/refund/mvnw.cmd +++ /dev/null @@ -1,149 +0,0 @@ -<# : batch portion -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Apache Maven Wrapper startup batch script, version 3.3.2 -@REM -@REM Optional ENV vars -@REM MVNW_REPOURL - repo url base for downloading maven distribution -@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven -@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output -@REM ---------------------------------------------------------------------------- - -@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) -@SET __MVNW_CMD__= -@SET __MVNW_ERROR__= -@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% -@SET PSModulePath= -@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( - IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) -) -@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% -@SET __MVNW_PSMODULEP_SAVE= -@SET __MVNW_ARG0_NAME__= -@SET MVNW_USERNAME= -@SET MVNW_PASSWORD= -@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) -@echo Cannot start maven from wrapper >&2 && exit /b 1 -@GOTO :EOF -: end batch / begin powershell #> - -$ErrorActionPreference = "Stop" -if ($env:MVNW_VERBOSE -eq "true") { - $VerbosePreference = "Continue" -} - -# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties -$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl -if (!$distributionUrl) { - Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" -} - -switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { - "maven-mvnd-*" { - $USE_MVND = $true - $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" - $MVN_CMD = "mvnd.cmd" - break - } - default { - $USE_MVND = $false - $MVN_CMD = $script -replace '^mvnw','mvn' - break - } -} - -# apply MVNW_REPOURL and calculate MAVEN_HOME -# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ -if ($env:MVNW_REPOURL) { - $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } - $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" -} -$distributionUrlName = $distributionUrl -replace '^.*/','' -$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' -$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" -if ($env:MAVEN_USER_HOME) { - $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" -} -$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' -$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" - -if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { - Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" - Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" - exit $? -} - -if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { - Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" -} - -# prepare tmp dir -$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile -$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" -$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null -trap { - if ($TMP_DOWNLOAD_DIR.Exists) { - try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } - catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } - } -} - -New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null - -# Download and Install Apache Maven -Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." -Write-Verbose "Downloading from: $distributionUrl" -Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" - -$webclient = New-Object System.Net.WebClient -if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { - $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) -} -[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 -$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null - -# If specified, validate the SHA-256 sum of the Maven distribution zip file -$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum -if ($distributionSha256Sum) { - if ($USE_MVND) { - Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." - } - Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash - if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { - Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." - } -} - -# unzip and move -Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null -Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null -try { - Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null -} catch { - if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { - Write-Error "fail to move MAVEN_HOME" - } -} finally { - try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } - catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } -} - -Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/demo/refund/pom.xml b/demo/refund/pom.xml deleted file mode 100644 index f22c737..0000000 --- a/demo/refund/pom.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - 4.0.0 - - com.example - refund - 0.0.1-SNAPSHOT - fefund - fefund - - - com.example - demo - 0.0.1 - - - - - com.example - commons - 0.0.1 - - - org.springframework.boot - spring-boot-starter-web - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - 3.0.4 - - - - org.springframework.boot - spring-boot-devtools - runtime - true - - - com.mysql - mysql-connector-j - runtime - - - org.projectlombok - lombok - true - - - org.springframework.boot - spring-boot-starter-test - test - - - org.mybatis.spring.boot - mybatis-spring-boot-starter-test - 3.0.4 - test - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - org.projectlombok - lombok - - - - - - - - diff --git a/demo/refund/src/main/java/com/example/fefund/FefundApplication.java b/demo/refund/src/main/java/com/example/fefund/FefundApplication.java deleted file mode 100644 index cbf7871..0000000 --- a/demo/refund/src/main/java/com/example/fefund/FefundApplication.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.example.fefund; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.ComponentScan; - -@SpringBootApplication -@ComponentScan(basePackages = {"com.example.commons.security","com.example.fefund"}) -public class FefundApplication { - - public static void main(String[] args) { - SpringApplication.run(FefundApplication.class, args); - } - -} diff --git a/demo/refund/src/main/java/com/example/fefund/controller/RefundController.java b/demo/refund/src/main/java/com/example/refund/controller/RefundController.java similarity index 93% rename from demo/refund/src/main/java/com/example/fefund/controller/RefundController.java rename to demo/refund/src/main/java/com/example/refund/controller/RefundController.java index 37c814f..81001b6 100644 --- a/demo/refund/src/main/java/com/example/fefund/controller/RefundController.java +++ b/demo/refund/src/main/java/com/example/refund/controller/RefundController.java @@ -1,16 +1,17 @@ -package org.example.refund.controller; +package com.example.refund.controller; -import com.example.commons.domain.entity.Detail; +import com.example.commons.domain.entity.Detail; import com.example.commons.domain.vo.Page; import com.example.commons.domain.vo.Result; import com.example.commons.sevice.RefundService; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.annotations.Param; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; + import java.util.Arrays; @RestController @@ -50,7 +51,8 @@ public class RefundController { refundService.edit(newDetail); return Result.success(); } catch (Exception e) { - log.warn(Arrays.toString(e.getStackTrace())); + e.printStackTrace(); + log.error(e.getMessage()); return Result.error(e.getMessage()); } } diff --git a/demo/refund/src/main/java/com/example/fefund/mapper/RefundMapper.java b/demo/refund/src/main/java/com/example/refund/mapper/RefundMapper.java similarity index 96% rename from demo/refund/src/main/java/com/example/fefund/mapper/RefundMapper.java rename to demo/refund/src/main/java/com/example/refund/mapper/RefundMapper.java index dedb287..19de888 100644 --- a/demo/refund/src/main/java/com/example/fefund/mapper/RefundMapper.java +++ b/demo/refund/src/main/java/com/example/refund/mapper/RefundMapper.java @@ -1,4 +1,4 @@ -package com.example.fefund.mapper ; +package com.example.refund.mapper; import com.example.commons.domain.entity.Detail; import org.apache.ibatis.annotations.*; @@ -12,7 +12,7 @@ public interface RefundMapper { "insert into detail", "(jwcode,refund_type,refund_goods,recharge_coin,free_coin,task_coin,remark,admin_id,create_time,update_type)", "values", - "(#{jwcode},#{refundType},#{refundGoods},#{rechargeCoin},#{freeCoin},#{taskCoin},#{remark},#{adminId},now(),#{updateType})" + "(#{jwcode},#{refundType},#{refundGoods},#{rechargeCoin},#{freeCoin},#{taskCoin},#{remark},#{adminId},now(),'退款')" }) @Options(useGeneratedKeys = true, keyColumn = "detail_id", keyProperty = "detailId") int insert(Detail detail); diff --git a/demo/refund/src/main/java/com/example/fefund/service/RefundServiceImpl.java b/demo/refund/src/main/java/com/example/refund/service/RefundServiceImpl.java similarity index 97% rename from demo/refund/src/main/java/com/example/fefund/service/RefundServiceImpl.java rename to demo/refund/src/main/java/com/example/refund/service/RefundServiceImpl.java index 57aa1ba..ce26d73 100644 --- a/demo/refund/src/main/java/com/example/fefund/service/RefundServiceImpl.java +++ b/demo/refund/src/main/java/com/example/refund/service/RefundServiceImpl.java @@ -1,8 +1,8 @@ -package com.example.fefund.service; +package com.example.refund.service; import com.example.commons.domain.entity.Detail; import com.example.commons.sevice.RefundService; -import com.example.fefund.mapper.RefundMapper; +import com.example.refund.mapper.RefundMapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; diff --git a/demo/refund/src/main/resources/application.yml b/demo/refund/src/main/resources/application.yml index ba4d1a4..4bc340f 100644 --- a/demo/refund/src/main/resources/application.yml +++ b/demo/refund/src/main/resources/application.yml @@ -3,6 +3,8 @@ server: spring: datasource: + hikari: + maximum-pool-size: 50 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 username: hwgold diff --git a/demo/refund/src/test/java/com/example/fefund/FefundApplicationTests.java b/demo/refund/src/test/java/com/example/fefund/FefundApplicationTests.java deleted file mode 100644 index ba80cbf..0000000 --- a/demo/refund/src/test/java/com/example/fefund/FefundApplicationTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.example.fefund; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class FefundApplicationTests { - - @Test - void contextLoads() { - } - -} diff --git a/demo/statistics/src/main/java/com/example/statistics/controller/StatisticsController.java b/demo/statistics/src/main/java/com/example/statistics/controller/StatisticsController.java new file mode 100644 index 0000000..fea6886 --- /dev/null +++ b/demo/statistics/src/main/java/com/example/statistics/controller/StatisticsController.java @@ -0,0 +1,74 @@ +package com.example.statistics.controller; + + +import com.example.commons.domain.vo.Result; +import com.example.commons.domain.vo.Statistics; +import com.example.commons.sevice.StatisticsService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +@RestController +@RequestMapping("/statistics") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin +public class StatisticsController { + @Autowired + private final StatisticsService statisticsService; + + @PostMapping("/a") + public Result count() { + Statistics statistics = statisticsService.getStatistics(); + return Result.success(statistics); + } + @PostMapping("/b") + public Result select() { + return Result.success(statisticsService.stats()); + } + //--------------------------------------------------------------------------------------// + @PostMapping("/getSumCoin") + public Result getSumCoin(){ + + return Result.success(statisticsService.getSumCoin()); + } + + @PostMapping("/getYearConsumeCoin") + public Result getYearConsumeCoin(){ + return Result.success(statisticsService.getYearConsumeCoin()); + } + @PostMapping("/getDayConsumeCoin") + public Result getDayConsumeCoin(){ + return Result.success(statisticsService.getDayConsumeCoin()); + } + + @PostMapping("/getMediuPayCoin") + public Result getMediuPayCoin(){ + return Result.success(statisticsService.getMediuPayCoin()); + } + + @PostMapping("/getMediuConsumeCoin") + public Result getMediuConsumeCoin(){ + return Result.success(statisticsService.getMediuConsumeCoin()); + } + + @PostMapping("/getMess/{jwcode}") + public Result getMess(@PathVariable("jwcode") Integer jwcode){ + return Result.success(statisticsService.getMess(jwcode)); + } + + @PostMapping("/getMediumAreaPay") + public Result getMediumAreaPay(){ + return Result.success(statisticsService.getMediumAreaPay()); + } + @PostMapping("/getMediumAreaConsume") + public Result getMediumAreaConsume(){ + return Result.success(statisticsService.getMediumAreaConsume()); + } + + +} diff --git a/demo/statistics/src/main/java/com/example/statistics/mapper/StatisticsMapper.java b/demo/statistics/src/main/java/com/example/statistics/mapper/StatisticsMapper.java new file mode 100644 index 0000000..6cab23f --- /dev/null +++ b/demo/statistics/src/main/java/com/example/statistics/mapper/StatisticsMapper.java @@ -0,0 +1,268 @@ +package com.example.statistics.mapper; + + +import com.example.commons.domain.vo.Statistics; +import com.example.commons.domain.vo.SumCoin; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface StatisticsMapper { + //全年累计金币数 + @Select("SELECT SUM(recharge_coin) AS rechargeSumCoin, " + + " SUM(free_coin) AS freeSumCoin, " + + " SUM(task_coin) AS taskSumCoin, " + + " (SUM(recharge_coin) + SUM(free_coin) + SUM(task_coin)) AS totalSumCoin " + + "FROM `detail` " + + "WHERE update_type = '充值' " + + " AND create_time >= '2024-01-01' " + + " AND create_time < NOW()") + Statistics getTotalYearCoin(); + + //昨日新增 + @Select("SELECT SUM(recharge_coin) AS rechargeYesterdaySumCoin, " + + " SUM(free_coin) AS freeYesterdaySumCoin, " + + " SUM(task_coin) AS taskYesterdaySumCoin, " + + " (SUM(recharge_coin) + SUM(free_coin) + SUM(task_coin)) AS totalYesterdaySumCoin " + + "FROM `detail` " + + "WHERE update_type = '充值' " + + " AND create_time >= CURDATE() - INTERVAL 1 DAY " + + " AND create_time < CURDATE()") + Statistics getYesterdayNewCoin(); + + //全年累计充值人数 + @Select("SELECT COUNT(jwcode) AS rechargeCount " + + "FROM `detail` " + + "WHERE update_type = '充值' " + + " AND create_time >= '2024-01-01' " + + " AND create_time < NOW()") + int getYearRechargeCount(); + + //这周充值数量 + @Select("SELECT COUNT(jwcode) AS rechargeCountThisWeek " + + "FROM `detail` WHERE update_type = '充值' AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE(), 1)") + int getRechargeCountThisWeek(); + + //上周充值数量 + @Select("SELECT COUNT(jwcode) AS rechargeCountLastWeek " + + "FROM `detail` WHERE update_type = '充值' AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE() - INTERVAL 1 WEEK, 1)") + int getRechargeCountLastWeek(); + + //今天的充值数量 + @Select("SELECT COUNT(jwcode) AS rechargeCountToday " + + "FROM `detail` WHERE update_type = '充值' AND create_time >= CURDATE()") + int getRechargeCountToday(); + + //昨天的充值数量 + @Select("SELECT COUNT(jwcode) AS rechargeCountYesterday " + + "FROM `detail` WHERE update_type = '充值' AND create_time >=CURDATE() - INTERVAL 1 DAY AND create_time < CURDATE();") + int getRechargeCountYesterday(); + + //昨日新增首充 + @Select("SELECT COUNT(jwcode) AS firstRechargeCountYesterday "+ + "FROM `detail` WHERE update_type = '充值' AND create_time >=CURDATE() - INTERVAL 1 DAY AND create_time < CURDATE() AND first_recharge = 1") + int getFirstRechargeCountYesterday(); + + //金币系统消费 + @Select("SELECT p.subjects AS subject, " + + " d.consume_platform,"+ + " SUM(d.recharge_coin) AS rechargeCoinSystemSum, " + + " SUM(d.free_coin) AS freeCoinSystemSum, " + + " SUM(d.task_coin) AS taskCoinSystemSum, " + + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS totalCoinSystemSum " + + "FROM detail d " + + "JOIN product p ON d.product_id = p.product_id " + + "WHERE d.update_type = '消费' AND " + + " d.consume_platform = '金币系统' " + + "GROUP BY p.subjects ") + List getCoinSystemSum(); + + //ERP消费 + @Select("SELECT p.subjects AS subject, " + + " d.consume_platform,"+ + " SUM(d.recharge_coin) AS rechargeERPSum, " + + " SUM(d.free_coin) AS freeERPSum, " + + " SUM(d.task_coin) AS taskERPSum, " + + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS totalERPSum " + + "FROM detail d " + + "JOIN product p ON d.product_id = p.product_id " + + "WHERE d.update_type = '消费' AND " + + " d.consume_platform = 'ERP系统' " + + "GROUP BY p.subjects ") + List getERPSum(); + // //HomilyChart消费 + @Select("SELECT p.subjects AS subject, " + + " d.consume_platform,"+ + " SUM(d.recharge_coin) AS rechargeHomilyChartSum, " + + " SUM(d.free_coin) AS freeHomilyChartSum, " + + " SUM(d.task_coin) AS taskHomilyChartSum, " + + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS totalHomilyChartSum " + + "FROM detail d " + + "JOIN product p ON d.product_id = p.product_id " + + "WHERE d.update_type = '消费' AND " + + " d.consume_platform = 'HomilyChart' " + + "GROUP BY p.subjects ") + List getHomilyChartSum(); + + // //HomilyLink消费 + @Select("SELECT p.subjects AS subject, " + + " d.consume_platform,"+ + " SUM(d.recharge_coin) AS rechargeHomilyLinkSum, " + + " SUM(d.free_coin) AS freeHomilyLinkSum, " + + " SUM(d.task_coin) AS taskHomilyLinkSum, " + + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS totalHomilyLinkSum " + + "FROM detail d " + + "JOIN product p ON d.product_id = p.product_id " + + "WHERE d.update_type = '消费' AND " + + " d.consume_platform = 'HomilyChart' " + + "GROUP BY p.subjects ") + List getHomilyLinkSum(); +//--------------------------------------------------------------------------------------------// + + @Select({"SELECT today.rechargeSumCoin AS todayRecharge," , + "yesterday.rechargeSumCoin AS yesterdayRecharge," , + "today.freeSumCoin AS todayFree,", + "yesterday.freeSumCoin AS yesterdayFree," , + "today.taskSumCoin AS todayTask," , + "yesterday.taskSumCoin AS yesterdayTask," , + "(today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) AS todayTotalCoin," , + "(yesterday.rechargeSumCoin + yesterday.freeSumCoin + yesterday.taskSumCoin) AS yesterdayTotalCoin," , + "((today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) -(yesterday.rechargeSumCoin + yesterday.freeSumCoin + yesterday.taskSumCoin)) AS coinDifference" , + "FROM (SELECT SUM(recharge_coin) AS rechargeSumCoin, SUM(free_coin) AS freeSumCoin, SUM(task_coin) AS taskSumCoin FROM detail WHERE create_time <= CURRENT_TIMESTAMP) AS today" , + "JOIN ( SELECT SUM(recharge_coin) AS rechargeSumCoin,SUM(free_coin) AS freeSumCoin, SUM(task_coin) AS taskSumCoin FROM detail WHERE DATE(create_time) <= CURDATE() - INTERVAL 1 DAY) AS yesterday"}) + SumCoin getSumCoin(); + + + + + + @Select({"SELECT SUM(CASE WHEN update_type = '消费' THEN recharge_coin ELSE 0 END) AS yearRecharge," , + "SUM(CASE WHEN update_type = '消费' THEN free_coin ELSE 0 END) AS yearFree," + + " SUM(CASE WHEN update_type = '消费' THEN task_coin ELSE 0 END) AS yearTask," + + " SUM(CASE WHEN update_type = '消费' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS yearConsumeCoin,", + " SUM(CASE WHEN update_type = '退款' THEN recharge_coin ELSE 0 END) AS totalRechargeRefund," , + " SUM(CASE WHEN update_type = '退款' THEN free_coin ELSE 0 END) AS totalFreeRefund," , + " SUM(CASE WHEN update_type = '退款' THEN task_coin ELSE 0 END) AS totalTaskRefund," , + " SUM(CASE WHEN update_type = '退款' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS yearRefundCoin," , + " SUM(CASE WHEN update_type = '消费' THEN recharge_coin + free_coin + task_coin ELSE 0 END)+SUM(CASE WHEN update_type = '退款' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS yearsumCoin,", + " SUM(CASE WHEN update_type IN ('消费', '退款') THEN recharge_coin ELSE 0 END) AS yearSumRechargeCoin,", + " SUM(CASE WHEN update_type IN ('消费', '退款') THEN free_coin ELSE 0 END) AS yearSumFreeCoin,", + " SUM(CASE WHEN update_type IN ('消费', '退款') THEN task_coin ELSE 0 END) AS yearSumTaskCoin", + "FROM `detail`WHERE YEAR(create_time) = YEAR(CURRENT_DATE)" , + " AND create_time <= NOW()"}) + SumCoin getYearConsumeCoin(); + + @Select({"SELECT SUM(CASE WHEN update_type = '消费' THEN recharge_coin ELSE 0 END) AS todayRecharge," , + "SUM(CASE WHEN update_type = '消费' THEN free_coin ELSE 0 END) AS todayFree," + + " SUM(CASE WHEN update_type = '消费' THEN task_coin ELSE 0 END) AS todayTask," + + " SUM(CASE WHEN update_type = '消费' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS dayConsumeCoin,", + " SUM(CASE WHEN update_type = '退款' THEN recharge_coin ELSE 0 END) AS total_recharge_refund," , + " SUM(CASE WHEN update_type = '退款' THEN free_coin ELSE 0 END) AS total_free_refund," , + " SUM(CASE WHEN update_type = '退款' THEN task_coin ELSE 0 END) AS total_task_refund," , + " SUM(CASE WHEN update_type = '退款' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS dayRefundCoin," , + " SUM(CASE WHEN update_type = '消费' THEN recharge_coin + free_coin + task_coin ELSE 0 END)+SUM(CASE WHEN update_type = '退款' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS daysumCoin", + "FROM `detail` WHERE DATE(create_time) = CURDATE() - INTERVAL 1 DAY"}) + SumCoin getDayConsumeCoin(); + + +// @Select({"SELECT DATE_FORMAT(create_time, '%Y-%m') AS month," , +// " SUM(recharge_coin) AS rechargeSumCoin," , +// " SUM(free_coin) AS freeSumCoin,", +// " SUM(task_coin) AS taskSumCoin" , +// "FROM `detail`" , +// "WHERE create_time BETWEEN DATE_SUB(CURDATE(), INTERVAL 10 MONTH) AND CURDATE() AND update_type='充值'" , +// "GROUP BY DATE_FORMAT(create_time, '%Y-%m')" , +// "ORDER BY DATE_FORMAT(create_time, '%Y-%m') DESC "}) +// List getMediuPayCoin(); + + @Select({ + "SELECT m.month,", + " COALESCE(SUM(d.recharge_coin), 0) AS rechargeSumCoin,", + " COALESCE(SUM(d.free_coin), 0) AS freeSumCoin,", + " COALESCE(SUM(d.task_coin), 0) AS taskSumCoin", + "FROM (", + " SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n MONTH), '%Y-%m') AS month", + " FROM (", + " SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3", + " UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7", + " UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10", + " ) AS numbers", + ") AS m", + "LEFT JOIN detail d ON DATE_FORMAT(d.create_time, '%Y-%m') = m.month AND d.update_type = '充值'", + "GROUP BY m.month", + "ORDER BY m.month DESC" + }) + List getMediuPayCoin(); + +// @Select({"SELECT DATE_FORMAT(create_time, '%Y-%m') AS month," , +// " SUM(recharge_coin) AS rechargeSumCoin," , +// " SUM(free_coin) AS freeSumCoin,", +// " SUM(task_coin) AS taskSumCoin" , +// "FROM `detail`" , +// "WHERE create_time BETWEEN DATE_SUB(CURDATE(), INTERVAL 10 MONTH) AND CURDATE() AND update_type='消费'" , +// "GROUP BY DATE_FORMAT(create_time, '%Y-%m')" , +// "ORDER BY DATE_FORMAT(create_time, '%Y-%m') DESC "}) +// List getMediuConsumeCoin(); + + @Select({ + "SELECT m.month,", + " COALESCE(SUM(d.recharge_coin), 0) AS rechargeSumCoin,", + " COALESCE(SUM(d.free_coin), 0) AS freeSumCoin,", + " COALESCE(SUM(d.task_coin), 0) AS taskSumCoin", + "FROM (", + " SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n MONTH), '%Y-%m') AS month", + " FROM (", + " SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3", + " UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7", + " UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10", + " ) AS numbers", + ") AS m", + "LEFT JOIN detail d ON DATE_FORMAT(d.create_time, '%Y-%m') = m.month AND d.update_type = '消费'", + "GROUP BY m.month", + "ORDER BY m.month DESC" + }) + List getMediuConsumeCoin(); + + @Select({"SELECT today.jwcode," , + "today.rechargeSumCoin AS todayRecharge," , + "today.freeSumCoin AS todayFree,", + "today.taskSumCoin AS todayTask," , + "(today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) AS todayTotalCoin" , + "FROM (SELECT jwcode, SUM(recharge_coin) AS rechargeSumCoin, SUM(free_coin) AS freeSumCoin, SUM(task_coin) AS taskSumCoin FROM detail WHERE create_time <= CURRENT_TIMESTAMP) AS today" , + "where jwcode=#{jwcode}"}) + SumCoin getMess(Integer jwcode); + + + @Select({"SELECT ad.area," , + " SUM(d.recharge_coin) AS totalRecharge," , + " SUM(d.free_coin) AS totalFree," , + " SUM(d.task_coin) AS totalTask," , + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS todayTotalCoin" , + "FROM detail d" , + "INNER JOIN activity a ON d.activity_id = a.activity_id" , + "INNER JOIN admin ad ON a.admin_id = ad.admin_id" , + "where d.update_type='充值'", + "GROUP BY ad.area" , + "ORDER BY ad.area ASC " + }) + + + List getMediumAreaPay(); + + + @Select({"SELECT ad.area," , + " SUM(d.recharge_coin) AS totalRecharge," , + " SUM(d.free_coin) AS totalFree," , + " SUM(d.task_coin) AS totalTask," , + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS todayTotalCoin" , + "FROM detail d" , + "INNER JOIN admin ad ON ad.admin_id = d.admin_id", + "WHERE d.update_type = '消费'", + "GROUP BY ad.area", + "ORDER BY ad.area ASC" + }) + List getMediumAreaConsume(); + +} diff --git a/demo/statistics/src/main/java/com/example/statistics/service/StatisticsServiceImpl.java b/demo/statistics/src/main/java/com/example/statistics/service/StatisticsServiceImpl.java new file mode 100644 index 0000000..ca4383e --- /dev/null +++ b/demo/statistics/src/main/java/com/example/statistics/service/StatisticsServiceImpl.java @@ -0,0 +1,126 @@ +package com.example.statistics.service; + + +import com.example.commons.domain.vo.Statistics; +import com.example.commons.domain.vo.Statisticss; +import com.example.commons.domain.vo.SumCoin; +import com.example.commons.sevice.StatisticsService; +import lombok.RequiredArgsConstructor; +import com.example.statistics.mapper.StatisticsMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.List; + +@RequiredArgsConstructor +@Transactional +@Service +public class StatisticsServiceImpl implements StatisticsService { + private final StatisticsMapper statisticsMapper; + + @Override + public Statistics getStatistics() { + Statistics statistics = new Statistics(); + + // 全年累计数据 + Statistics yearStats = statisticsMapper.getTotalYearCoin(); + statistics.setRechargeSumCoin(yearStats.getRechargeSumCoin()); + statistics.setFreeSumCoin(yearStats.getFreeSumCoin()); + statistics.setTaskSumCoin(yearStats.getTaskSumCoin()); + statistics.setTotalSumCoin(yearStats.getTotalSumCoin()); + + // 昨日新增数据 + Statistics yesterdayStats = statisticsMapper.getYesterdayNewCoin(); + statistics.setRechargeYesterdaySumCoin(yesterdayStats.getRechargeYesterdaySumCoin()); + statistics.setFreeYesterdaySumCoin(yesterdayStats.getFreeYesterdaySumCoin()); + statistics.setTaskYesterdaySumCoin(yesterdayStats.getTaskYesterdaySumCoin()); + statistics.setTotalYesterdaySumCoin(yesterdayStats.getTotalYesterdaySumCoin()); + + // 年累计充值人数 + statistics.setRechargeCount(statisticsMapper.getYearRechargeCount()); + + // 本周和上周充值人数 + int thisWeekCount = statisticsMapper.getRechargeCountThisWeek(); + int lastWeekCount = statisticsMapper.getRechargeCountLastWeek(); + statistics.setRechargeCountThisWeek(thisWeekCount); + statistics.setRechargeCountLastWeek(lastWeekCount); + + // 周同比计算 + BigDecimal weekOverWeekRate = BigDecimal.ZERO;//初始化为 0 表示如果没有足够的数据(如 lastWeekCount == 0),默认周同比增长率为 0。 + if (lastWeekCount > 0) { + weekOverWeekRate = BigDecimal.valueOf((double) (thisWeekCount - lastWeekCount) / lastWeekCount * 100)//将计算结果转换为 BigDecimal 类型,保证高精度。 + .setScale(2, BigDecimal.ROUND_HALF_UP); // 保留两位小数 + } + statistics.setWeekOverWeekRate(weekOverWeekRate); + + //今日和昨日充值人数 + int todayCount = statisticsMapper.getRechargeCountToday(); + int yesterdayCount = statisticsMapper.getRechargeCountYesterday(); + int firstYesterdayCount =statisticsMapper.getFirstRechargeCountYesterday(); + statistics.setRechargeCountToday(todayCount); + statistics.setRechargeCountYesterday(yesterdayCount); + statistics.setFirstRechargeCountYesterday(firstYesterdayCount); + + //日环比计算 + BigDecimal dayOverDayRate = BigDecimal.ZERO; + if (yesterdayCount > 0) { + dayOverDayRate = BigDecimal.valueOf((double) (todayCount - yesterdayCount) / yesterdayCount * 100). + setScale(2, BigDecimal.ROUND_HALF_UP); + } + statistics.setDayOverDayRate(dayOverDayRate); + + return statistics; + } + + @Override + public Statisticss stats() { + Statisticss a = new Statisticss(); + a.setCoinSystemSum(statisticsMapper.getCoinSystemSum()); + a.setERPSum(statisticsMapper.getERPSum()); + a.setHomilyChartSum(statisticsMapper.getHomilyChartSum()); + a.setHomilyLinkSum(statisticsMapper.getHomilyLinkSum()); + return a; + } + +//----------------------------------------------------------------------------------------------------// + + public SumCoin getSumCoin(){ + return statisticsMapper.getSumCoin(); + } + + @Override + public SumCoin getYearConsumeCoin() { + return statisticsMapper.getYearConsumeCoin(); + } + + @Override + public SumCoin getDayConsumeCoin() { + return statisticsMapper.getDayConsumeCoin(); + } + + @Override + public List getMediuPayCoin() { + return statisticsMapper.getMediuPayCoin(); + } + + @Override + public List getMediuConsumeCoin() { + return statisticsMapper.getMediuConsumeCoin(); + } + public SumCoin getMess(Integer jwcode){ + return statisticsMapper.getMess(jwcode); + } + + @Override + public List getMediumAreaPay() { + return statisticsMapper.getMediumAreaPay(); + } + + @Override + public List getMediumAreaConsume() { + return statisticsMapper.getMediumAreaConsume(); + } + + +} diff --git a/demo/statistics/src/main/resources/application.yml b/demo/statistics/src/main/resources/application.yml index d7d9f89..5afcf27 100644 --- a/demo/statistics/src/main/resources/application.yml +++ b/demo/statistics/src/main/resources/application.yml @@ -3,6 +3,9 @@ server: spring: datasource: + hikari: + maximum-pool-size: 50 + driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 username: hwgold diff --git a/demo/statistics/src/main/resources/static/index.html b/demo/statistics/src/main/resources/static/index.html new file mode 100644 index 0000000..89bb8ba --- /dev/null +++ b/demo/statistics/src/main/resources/static/index.html @@ -0,0 +1,6 @@ + + +

hello word!!!

+

this is a html page

+ + \ No newline at end of file diff --git a/demo/user/src/main/resources/application.yml b/demo/user/src/main/resources/application.yml index a9da9f4..3b4ff6b 100644 --- a/demo/user/src/main/resources/application.yml +++ b/demo/user/src/main/resources/application.yml @@ -2,6 +2,8 @@ server: port: 10020 spring: datasource: + hikari: + maximum-pool-size: 50 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 username: hwgold