From 3feab174a277feb2a25db26add05de4d04f4e1c8 Mon Sep 17 00:00:00 2001 From: huangqizhen <15552608129@163.com> Date: Fri, 11 Apr 2025 19:05:30 +0800 Subject: [PATCH] =?UTF-8?q?4.11=E6=9F=A5=E8=AF=A2=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=B8=8E=E6=96=B0=E5=A2=9E=E9=87=91=E8=B1=86?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/demo/Util/RequestWrapper.java | 2 +- .../demo/config/Mysql1DataSourceConfig.java | 6 ++-- .../demo/config/Mysql2DataSourceConfig.java | 28 ++++++++++------ .../java/com/example/demo/config/RedisConfig.java | 1 + .../com/example/demo/controller/DouController.java | 33 ++++++++++++++++++ .../java/com/example/demo/domain/dou/Balance.java | 25 ++++++++++++++ .../java/com/example/demo/domain/dou/Member.java | 19 +++++++++++ .../java/com/example/demo/domain/dou/Records.java | 22 ++++++++++++ .../com/example/demo/domain/dou/Searchinfo.java | 13 ++++++++ .../com/example/demo/domain/vo/Statisticss.java | 4 ++- .../com/example/demo/mapperLink/DouMapper.java | 14 ++++++++ .../example/demo/serviceImpl/DouServiceImpl.java | 39 ++++++++++++++++++++++ .../java/com/example/demo/sevice/DouService.java | 14 ++++++++ src/main/resources/application.yml | 32 +++++++++++++----- src/main/resources/mapperLink/DouMapper.xml | 27 +++++++++++++++ 15 files changed, 255 insertions(+), 24 deletions(-) create mode 100644 src/main/java/com/example/demo/controller/DouController.java create mode 100644 src/main/java/com/example/demo/domain/dou/Balance.java create mode 100644 src/main/java/com/example/demo/domain/dou/Member.java create mode 100644 src/main/java/com/example/demo/domain/dou/Records.java create mode 100644 src/main/java/com/example/demo/domain/dou/Searchinfo.java create mode 100644 src/main/java/com/example/demo/mapperLink/DouMapper.java create mode 100644 src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java create mode 100644 src/main/java/com/example/demo/sevice/DouService.java create mode 100644 src/main/resources/mapperLink/DouMapper.xml diff --git a/src/main/java/com/example/demo/Util/RequestWrapper.java b/src/main/java/com/example/demo/Util/RequestWrapper.java index e9b1f63..1fe3655 100644 --- a/src/main/java/com/example/demo/Util/RequestWrapper.java +++ b/src/main/java/com/example/demo/Util/RequestWrapper.java @@ -26,7 +26,7 @@ public class RequestWrapper extends HttpServletRequestWrapper { // 将body数据存储起来 String bodyStr = getBodyString(request); body = bodyStr.getBytes(Charset.defaultCharset()); - System.out.println(new String(body, Charset.defaultCharset()) + "+**+*+*+*++*+*+*+"); + } diff --git a/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java b/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java index b14a16b..922eb92 100644 --- a/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java +++ b/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java @@ -20,7 +20,7 @@ import javax.sql.DataSource; public class Mysql1DataSourceConfig { @Bean(name = "mysql1DataSource") - @Primary +// @Primary public DataSource mysql1DataSource() { HikariDataSource dataSource = new HikariDataSource(); dataSource.setJdbcUrl("jdbc:mysql://54.251.137.151:10701/hwgold?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=UTF-8"); @@ -34,7 +34,7 @@ public class Mysql1DataSourceConfig { } @Bean(name = "mysql1SqlSessionFactory") - @Primary +// @Primary public SqlSessionFactory mysql1SqlSessionFactory(@Qualifier("mysql1DataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); @@ -43,7 +43,7 @@ public class Mysql1DataSourceConfig { } @Bean(name = "mysql1SqlSessionTemplate") - @Primary +// @Primary public SqlSessionTemplate mysql1SqlSessionTemplate(@Qualifier("mysql1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } diff --git a/src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java b/src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java index 7b5a3ed..4776981 100644 --- a/src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java +++ b/src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java @@ -18,24 +18,30 @@ import javax.sql.DataSource; @Configuration public class Mysql2DataSourceConfig { +// @Bean(name = "mysql2DataSource") +// public DataSource mysql2DataSource() { +// HikariDataSource dataSource = new HikariDataSource(); +// dataSource.setJdbcUrl("jdbc:mysql://39.101.133.168:3306/hwgold?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=UTF-8"); +// dataSource.setUsername("hljw"); +// dataSource.setPassword("5dmWCCKfEk3TTeyn"); +// dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); +// dataSource.setMaximumPoolSize(10); +// dataSource.setPoolName("mysql2HikariCP"); +// log.info("mysql2 DataSource initialized with pool-name: {}", dataSource.getPoolName()); +// return dataSource; +// } + + // 定义名为 "spring.datasource.mysql2" 的 DataSource Bean @Bean(name = "mysql2DataSource") + @ConfigurationProperties(prefix = "spring.datasource.mysql2") public DataSource mysql2DataSource() { - HikariDataSource dataSource = new HikariDataSource(); - dataSource.setJdbcUrl("jdbc:mysql://39.101.133.168:3306/hwgold?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=UTF-8"); - dataSource.setUsername("hljw"); - dataSource.setPassword("5dmWCCKfEk3TTeyn"); - dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); - dataSource.setMaximumPoolSize(10); - dataSource.setPoolName("mysql2HikariCP"); - log.info("mysql2 DataSource initialized with pool-name: {}", dataSource.getPoolName()); - return dataSource; + return DataSourceBuilder.create().type(HikariDataSource.class).build(); } - @Bean(name = "mysql2SqlSessionFactory") public SqlSessionFactory mysql2SqlSessionFactory(@Qualifier("mysql2DataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); -// sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapperLink/*.xml")); + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapperLink/*.xml")); return sessionFactory.getObject(); } diff --git a/src/main/java/com/example/demo/config/RedisConfig.java b/src/main/java/com/example/demo/config/RedisConfig.java index 1359656..d89e893 100644 --- a/src/main/java/com/example/demo/config/RedisConfig.java +++ b/src/main/java/com/example/demo/config/RedisConfig.java @@ -1,5 +1,6 @@ package com.example.demo.config; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.cache.CacheProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cache.annotation.EnableCaching; diff --git a/src/main/java/com/example/demo/controller/DouController.java b/src/main/java/com/example/demo/controller/DouController.java new file mode 100644 index 0000000..0434eb0 --- /dev/null +++ b/src/main/java/com/example/demo/controller/DouController.java @@ -0,0 +1,33 @@ +package com.example.demo.controller; + + +import com.example.demo.domain.dou.Member; +import com.example.demo.domain.dou.Records; +import com.example.demo.domain.dou.Searchinfo; +import com.example.demo.domain.vo.Result; +import com.example.demo.sevice.DouService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/dou") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin +public class DouController { + private final DouService douService; + @RequestMapping("/search") + public Result search(@RequestBody Searchinfo jwcode){ + System.out.println(douService.searchinfo(jwcode)); + return Result.success(douService.searchinfo(jwcode)); + } + @RequestMapping("/add") + public Result add(@RequestBody Records records){ + System.out.println(records); + return Result.success(douService.add(records)); + } +} diff --git a/src/main/java/com/example/demo/domain/dou/Balance.java b/src/main/java/com/example/demo/domain/dou/Balance.java new file mode 100644 index 0000000..63824c0 --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Balance.java @@ -0,0 +1,25 @@ +package com.example.demo.domain.dou; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Balance { + private Integer id; + private Integer uid; + private Integer s1; + private Integer money; + private Integer moneyNum; + private Integer moneyS; + private Integer jinbi; + private Integer jinbiNum; + private Integer jinbiFree; + private Integer jinbiFreeNum; + private Integer jinbiBuy; + private Integer jinbiBuyNum; + private Integer jinbiCostTotal; + +} diff --git a/src/main/java/com/example/demo/domain/dou/Member.java b/src/main/java/com/example/demo/domain/dou/Member.java new file mode 100644 index 0000000..5c6cfec --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Member.java @@ -0,0 +1,19 @@ +package com.example.demo.domain.dou; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Member { + private Integer id; + private String nickname; + private String shop; + private String jwcode; + private Integer jinbiBuy; + private Integer jinbiFree; + private Integer number; + +} diff --git a/src/main/java/com/example/demo/domain/dou/Records.java b/src/main/java/com/example/demo/domain/dou/Records.java new file mode 100644 index 0000000..71eb5d3 --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Records.java @@ -0,0 +1,22 @@ +package com.example.demo.domain.dou; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Records { + private Integer id; + private Integer uid; + private Integer money; + private Integer moneyFree; + private Integer moneyBuy; + private Integer time; + private Integer type; + private Integer data; + private String jwcode; + private String token; + +} diff --git a/src/main/java/com/example/demo/domain/dou/Searchinfo.java b/src/main/java/com/example/demo/domain/dou/Searchinfo.java new file mode 100644 index 0000000..505c839 --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Searchinfo.java @@ -0,0 +1,13 @@ +package com.example.demo.domain.dou; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Searchinfo { + private String jwcode; + private String token; +} diff --git a/src/main/java/com/example/demo/domain/vo/Statisticss.java b/src/main/java/com/example/demo/domain/vo/Statisticss.java index c25c2df..6a8c0e7 100644 --- a/src/main/java/com/example/demo/domain/vo/Statisticss.java +++ b/src/main/java/com/example/demo/domain/vo/Statisticss.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; import lombok.NoArgsConstructor; +import java.io.Serializable; import java.math.BigDecimal; import java.util.List; @@ -11,7 +12,8 @@ import java.util.List; @NoArgsConstructor -public class Statisticss { +public class Statisticss implements Serializable { + private static final long serialVersionUID = 1L; private List CoinSystemSum; private List ERPSum; diff --git a/src/main/java/com/example/demo/mapperLink/DouMapper.java b/src/main/java/com/example/demo/mapperLink/DouMapper.java new file mode 100644 index 0000000..9c1549f --- /dev/null +++ b/src/main/java/com/example/demo/mapperLink/DouMapper.java @@ -0,0 +1,14 @@ +package com.example.demo.mapperLink; + +import com.example.demo.domain.dou.Member; +import com.example.demo.domain.dou.Records; +import com.example.demo.domain.dou.Searchinfo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface DouMapper { + int add(Records Records); + Member searchinfo(Searchinfo jwcode); + int searchId(@Param("jwcode")String jwcode); +} diff --git a/src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java new file mode 100644 index 0000000..ab0144b --- /dev/null +++ b/src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java @@ -0,0 +1,39 @@ +package com.example.demo.serviceImpl; + +import com.example.demo.domain.dou.Balance; +import com.example.demo.domain.dou.Member; +import com.example.demo.domain.dou.Records; +import com.example.demo.domain.dou.Searchinfo; +import com.example.demo.mapperLink.DouMapper; +import com.example.demo.sevice.DouService; +import lombok.RequiredArgsConstructor; +import org.springframework.cache.annotation.CacheConfig; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@Transactional +@RequiredArgsConstructor +@CacheConfig(cacheNames = "dou") +public class DouServiceImpl implements DouService { + private final DouMapper douMapper; + @Override + public int add(Records records) { + Integer uid = douMapper.searchId(records.getJwcode()); + if(uid == null){ + throw new RuntimeException("用户不存在"); + } + Integer moneyFree = records.getMoneyFree() != null ? records.getMoneyFree() : 0; + Integer moneyBuy = records.getMoneyBuy() != null ? records.getMoneyBuy() : 0; + + records.setMoney(moneyFree + moneyBuy); + records.setUid(uid); + return douMapper.add(records); + } + + @Override + public Member searchinfo(Searchinfo jwcode) { + + return douMapper.searchinfo(jwcode); + } +} diff --git a/src/main/java/com/example/demo/sevice/DouService.java b/src/main/java/com/example/demo/sevice/DouService.java new file mode 100644 index 0000000..91eb6c2 --- /dev/null +++ b/src/main/java/com/example/demo/sevice/DouService.java @@ -0,0 +1,14 @@ +package com.example.demo.sevice; + +import com.example.demo.domain.dou.Balance; +import com.example.demo.domain.dou.Member; +import com.example.demo.domain.dou.Records; +import com.example.demo.domain.dou.Searchinfo; +import org.springframework.stereotype.Service; + + + +public interface DouService { + int add(Records records); + Member searchinfo(Searchinfo jwcode); +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 983b1db..a3527c4 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,7 @@ spring: + jackson: + deserialization: + fail-on-unknown-properties: false datasource: mysql1: jdbc-url: jdbc:mysql://54.251.137.151:10701/hwgold?serverTimezone=Asia/Shanghai @@ -8,15 +11,23 @@ spring: hikari: pool-name: mysql1HikariCP maximum-pool-size: 10 + mysql2: + jdbc-url: jdbc:mysql://39.101.133.168:3306/hljw?serverTimezone=Asia/Shanghai + username: hljw + password: 5dmWCCKfEk3TTeyn + driver-class-name: com.mysql.cj.jdbc.Driver + hikari: + pool-name: mysql2HikariCP + maximum-pool-size: 10 application: name: demo - cache: - type: redis - redis: - time-to-live: 3600000 - use-key-prefix: true - cache-null-values: true + cache: + type: redis + redis: + time-to-live: 3600000 + use-key-prefix: true + cache-null-values: true servlet: multipart: @@ -26,7 +37,7 @@ spring: data: redis: - database: 1 + database: 0 host: 54.251.137.151 port: 10703 password: 8912h12jhhajsd @@ -46,4 +57,9 @@ upload: path: /home/java/haiwaiyanfa/gold1 server: - port: 8080 \ No newline at end of file + port: 8080 + + logging: + level: + org.springframework.jdbc.core.JdbcTemplate: DEBUG + org.springframework.orm.jpa: DEBUG \ No newline at end of file diff --git a/src/main/resources/mapperLink/DouMapper.xml b/src/main/resources/mapperLink/DouMapper.xml new file mode 100644 index 0000000..ef1b3e9 --- /dev/null +++ b/src/main/resources/mapperLink/DouMapper.xml @@ -0,0 +1,27 @@ + + + + + + insert into dou(uid,content,money,money_free,money_buy,time,type,data) + values(#{uid},#{content},#{money},#{moneyFree},#{moneyBuy},#{time},1,#{data}) + + + + \ No newline at end of file