19 changed files with 303 additions and 5 deletions
-
2gold-system/.idea/compiler.xml
-
2gold-system/.idea/encodings.xml
-
1gold-system/.idea/misc.xml
-
22gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Statistics.java
-
1gold-system/demo/commons/src/main/java/com/example/commons/sevice/RefundService.java
-
11gold-system/demo/commons/src/main/java/com/example/commons/sevice/StatisticsService.java
-
2gold-system/demo/pom.xml
-
1gold-system/demo/refund/src/main/java/org/example/refund/controller/RefundController.java
-
18gold-system/demo/refund/src/main/java/org/example/refund/mapper/RefundMapper.java
-
4gold-system/demo/refund/src/main/java/org/example/refund/service/RefundServiceImpl.java
-
33gold-system/demo/statistics/.gitignore
-
73gold-system/demo/statistics/pom.xml
-
13gold-system/demo/statistics/src/main/java/org/example/statistics/StatisticsApplication.java
-
24gold-system/demo/statistics/src/main/java/org/example/statistics/controller/StatisticsController.java
-
38gold-system/demo/statistics/src/main/java/org/example/statistics/mapper/StatisticsMapper.java
-
29gold-system/demo/statistics/src/main/java/org/example/statistics/service/StatisticsServiceImpl.java
-
15gold-system/demo/statistics/src/main/resources/application.yml
-
6gold-system/demo/statistics/src/main/resources/static/index.html
-
13gold-system/demo/statistics/src/test/java/org/example/statistics/StatisticsApplicationTests.java
@ -0,0 +1,22 @@ |
|||
package com.example.commons.domain.entity; |
|||
|
|||
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 ; |
|||
} |
@ -0,0 +1,11 @@ |
|||
package com.example.commons.sevice; |
|||
|
|||
import com.example.commons.domain.entity.Statistics; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
@Service |
|||
public interface StatisticsService { |
|||
int totalYearCoin(); |
|||
int yesterdayNewCoin(); |
|||
int yearRechargeCount(); |
|||
} |
@ -0,0 +1,33 @@ |
|||
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/ |
@ -0,0 +1,73 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
|
|||
<groupId>com.example</groupId> |
|||
<artifactId>statistics</artifactId> |
|||
<version>0.0.1</version> |
|||
<name>statistics</name> |
|||
<description>statistics</description> |
|||
|
|||
<parent> |
|||
<groupId>com.example</groupId> |
|||
<artifactId>demo</artifactId> |
|||
<version>0.0.1</version> |
|||
</parent> |
|||
|
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>com.example</groupId> |
|||
<artifactId>commons</artifactId> |
|||
<version>0.0.1</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.mybatis.spring.boot</groupId> |
|||
<artifactId>mybatis-spring-boot-starter</artifactId> |
|||
<version>3.0.3</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-devtools</artifactId> |
|||
<scope>runtime</scope> |
|||
<optional>true</optional> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.mysql</groupId> |
|||
<artifactId>mysql-connector-j</artifactId> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-test</artifactId> |
|||
<scope>test</scope> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.mybatis.spring.boot</groupId> |
|||
<artifactId>mybatis-spring-boot-starter-test</artifactId> |
|||
<version>3.0.3</version> |
|||
<scope>test</scope> |
|||
</dependency> |
|||
</dependencies> |
|||
|
|||
<build> |
|||
<plugins> |
|||
<plugin> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-maven-plugin</artifactId> |
|||
<configuration> |
|||
<excludes> |
|||
<exclude> |
|||
<groupId>org.projectlombok</groupId> |
|||
<artifactId>lombok</artifactId> |
|||
</exclude> |
|||
</excludes> |
|||
</configuration> |
|||
</plugin> |
|||
</plugins> |
|||
</build> |
|||
|
|||
</project> |
@ -0,0 +1,13 @@ |
|||
package org.example.statistics; |
|||
|
|||
import org.springframework.boot.SpringApplication; |
|||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
|||
|
|||
@SpringBootApplication |
|||
public class StatisticsApplication { |
|||
|
|||
public static void main(String[] args) { |
|||
SpringApplication.run(StatisticsApplication.class, args); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,24 @@ |
|||
package org.example.statistics.controller; |
|||
|
|||
import com.example.commons.domain.vo.Result; |
|||
import com.example.commons.sevice.StatisticsService; |
|||
import lombok.RequiredArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.web.bind.annotation.CrossOrigin; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
@RestController |
|||
@RequestMapping("/statistics") |
|||
@RequiredArgsConstructor |
|||
@Slf4j |
|||
@CrossOrigin |
|||
public class StatisticsController { |
|||
private final StatisticsService statisticsService; |
|||
|
|||
@PostMapping |
|||
public Result count(){ |
|||
return Result.success(statisticsService.totalYearCoin()); |
|||
} |
|||
} |
@ -0,0 +1,38 @@ |
|||
package org.example.statistics.mapper; |
|||
|
|||
import com.example.commons.domain.entity.Statistics; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Select; |
|||
|
|||
@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()") |
|||
int totalYearCoin(); |
|||
|
|||
//昨日新增 |
|||
@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()") |
|||
int yesterdayNewCoin(); |
|||
|
|||
//全年累计充值人数 |
|||
@Select("SELECT COUNT(DISTINCT jwcode) AS rechargeCount " + |
|||
"FROM `detail` " + |
|||
"WHERE update_type = '充值' " + |
|||
" AND create_time >= '2024-01-01' " + |
|||
" AND create_time < NOW()") |
|||
int yearRechargeCount(); |
|||
} |
@ -0,0 +1,29 @@ |
|||
package org.example.statistics.service; |
|||
|
|||
import com.example.commons.domain.entity.Statistics; |
|||
import com.example.commons.sevice.StatisticsService; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.example.statistics.mapper.StatisticsMapper; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
@RequiredArgsConstructor |
|||
@Transactional |
|||
@Service |
|||
public class StatisticsServiceImpl implements StatisticsService { |
|||
private final StatisticsMapper statisticsMapper; |
|||
@Override |
|||
public int totalYearCoin() { |
|||
return statisticsMapper.totalYearCoin(); |
|||
} |
|||
|
|||
@Override |
|||
public int yesterdayNewCoin() { |
|||
return statisticsMapper.yesterdayNewCoin(); |
|||
} |
|||
|
|||
@Override |
|||
public int yearRechargeCount() { |
|||
return statisticsMapper.yearRechargeCount(); |
|||
} |
|||
} |
@ -0,0 +1,15 @@ |
|||
server: |
|||
port: 10070 |
|||
|
|||
spring: |
|||
datasource: |
|||
driver-class-name: com.mysql.cj.jdbc.Driver |
|||
url: jdbc:mysql://39.101.133.168/hwgold?&serverTimezone=Asia/Shanghai |
|||
username: hwgold |
|||
password: 'AGX4Z3YMxiCG3GR2' |
|||
application: |
|||
name: statistics |
|||
mybatis: |
|||
configuration: |
|||
map-underscore-to-camel-case: true |
|||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl |
@ -0,0 +1,6 @@ |
|||
<html> |
|||
<body> |
|||
<h1>hello word!!!</h1> |
|||
<p>this is a html page</p> |
|||
</body> |
|||
</html> |
@ -0,0 +1,13 @@ |
|||
package org.example.statistics; |
|||
|
|||
import org.junit.jupiter.api.Test; |
|||
import org.springframework.boot.test.context.SpringBootTest; |
|||
|
|||
@SpringBootTest |
|||
class StatisticsApplicationTests { |
|||
|
|||
@Test |
|||
void contextLoads() { |
|||
} |
|||
|
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue