Browse Source

4.11查询客户信息与新增金豆记录

Huang
huangqizhen 3 months ago
parent
commit
3feab174a2
  1. 2
      src/main/java/com/example/demo/Util/RequestWrapper.java
  2. 6
      src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java
  3. 28
      src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java
  4. 1
      src/main/java/com/example/demo/config/RedisConfig.java
  5. 33
      src/main/java/com/example/demo/controller/DouController.java
  6. 25
      src/main/java/com/example/demo/domain/dou/Balance.java
  7. 19
      src/main/java/com/example/demo/domain/dou/Member.java
  8. 22
      src/main/java/com/example/demo/domain/dou/Records.java
  9. 13
      src/main/java/com/example/demo/domain/dou/Searchinfo.java
  10. 4
      src/main/java/com/example/demo/domain/vo/Statisticss.java
  11. 14
      src/main/java/com/example/demo/mapperLink/DouMapper.java
  12. 39
      src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java
  13. 14
      src/main/java/com/example/demo/sevice/DouService.java
  14. 32
      src/main/resources/application.yml
  15. 27
      src/main/resources/mapperLink/DouMapper.xml

2
src/main/java/com/example/demo/Util/RequestWrapper.java

@ -26,7 +26,7 @@ public class RequestWrapper extends HttpServletRequestWrapper {
// 将body数据存储起来 // 将body数据存储起来
String bodyStr = getBodyString(request); String bodyStr = getBodyString(request);
body = bodyStr.getBytes(Charset.defaultCharset()); body = bodyStr.getBytes(Charset.defaultCharset());
System.out.println(new String(body, Charset.defaultCharset()) + "+**+*+*+*++*+*+*+");
} }

6
src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java

@ -20,7 +20,7 @@ import javax.sql.DataSource;
public class Mysql1DataSourceConfig { public class Mysql1DataSourceConfig {
@Bean(name = "mysql1DataSource") @Bean(name = "mysql1DataSource")
@Primary
// @Primary
public DataSource mysql1DataSource() { public DataSource mysql1DataSource() {
HikariDataSource dataSource = new HikariDataSource(); HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl("jdbc:mysql://54.251.137.151:10701/hwgold?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=UTF-8"); 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") @Bean(name = "mysql1SqlSessionFactory")
@Primary
// @Primary
public SqlSessionFactory mysql1SqlSessionFactory(@Qualifier("mysql1DataSource") DataSource dataSource) throws Exception { public SqlSessionFactory mysql1SqlSessionFactory(@Qualifier("mysql1DataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource); sessionFactory.setDataSource(dataSource);
@ -43,7 +43,7 @@ public class Mysql1DataSourceConfig {
} }
@Bean(name = "mysql1SqlSessionTemplate") @Bean(name = "mysql1SqlSessionTemplate")
@Primary
// @Primary
public SqlSessionTemplate mysql1SqlSessionTemplate(@Qualifier("mysql1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) { public SqlSessionTemplate mysql1SqlSessionTemplate(@Qualifier("mysql1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory); return new SqlSessionTemplate(sqlSessionFactory);
} }

28
src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java

@ -18,24 +18,30 @@ import javax.sql.DataSource;
@Configuration @Configuration
public class Mysql2DataSourceConfig { 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") @Bean(name = "mysql2DataSource")
@ConfigurationProperties(prefix = "spring.datasource.mysql2")
public DataSource 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;
return DataSourceBuilder.create().type(HikariDataSource.class).build();
} }
@Bean(name = "mysql2SqlSessionFactory") @Bean(name = "mysql2SqlSessionFactory")
public SqlSessionFactory mysql2SqlSessionFactory(@Qualifier("mysql2DataSource") DataSource dataSource) throws Exception { public SqlSessionFactory mysql2SqlSessionFactory(@Qualifier("mysql2DataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource); sessionFactory.setDataSource(dataSource);
// sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapperLink/*.xml"));
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapperLink/*.xml"));
return sessionFactory.getObject(); return sessionFactory.getObject();
} }

1
src/main/java/com/example/demo/config/RedisConfig.java

@ -1,5 +1,6 @@
package com.example.demo.config; package com.example.demo.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.cache.CacheProperties; import org.springframework.boot.autoconfigure.cache.CacheProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.annotation.EnableCaching;

33
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));
}
}

25
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;
}

19
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;
}

22
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;
}

13
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;
}

4
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.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
@ -11,7 +12,8 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
public class Statisticss {
public class Statisticss implements Serializable {
private static final long serialVersionUID = 1L;
private List<Statistics> CoinSystemSum; private List<Statistics> CoinSystemSum;
private List<Statistics> ERPSum; private List<Statistics> ERPSum;

14
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);
}

39
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);
}
}

14
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);
}

32
src/main/resources/application.yml

@ -1,4 +1,7 @@
spring: spring:
jackson:
deserialization:
fail-on-unknown-properties: false
datasource: datasource:
mysql1: mysql1:
jdbc-url: jdbc:mysql://54.251.137.151:10701/hwgold?serverTimezone=Asia/Shanghai jdbc-url: jdbc:mysql://54.251.137.151:10701/hwgold?serverTimezone=Asia/Shanghai
@ -8,15 +11,23 @@ spring:
hikari: hikari:
pool-name: mysql1HikariCP pool-name: mysql1HikariCP
maximum-pool-size: 10 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: application:
name: demo 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: servlet:
multipart: multipart:
@ -26,7 +37,7 @@ spring:
data: data:
redis: redis:
database: 1
database: 0
host: 54.251.137.151 host: 54.251.137.151
port: 10703 port: 10703
password: 8912h12jhhajsd password: 8912h12jhhajsd
@ -46,4 +57,9 @@ upload:
path: /home/java/haiwaiyanfa/gold1 path: /home/java/haiwaiyanfa/gold1
server: server:
port: 8080
port: 8080
logging:
level:
org.springframework.jdbc.core.JdbcTemplate: DEBUG
org.springframework.orm.jpa: DEBUG

27
src/main/resources/mapperLink/DouMapper.xml

@ -0,0 +1,27 @@
<?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.example.demo.mapperLink.DouMapper">
<insert id="add">
insert into dou(uid,content,money,money_free,money_buy,time,type,data)
values(#{uid},#{content},#{money},#{moneyFree},#{moneyBuy},#{time},1,#{data})
</insert>
<select id="searchinfo" resultType="com.example.demo.domain.dou.Member">
SELECT
fm.nickname,
fm.jwcode,
fy.jinbi_free,
fy.jinbi_buy,
COUNT(CASE WHEN fmr.data = 1 THEN 1 END) AS number
FROM fx_member fm
LEFT JOIN fx_yaoqing fy ON fm.id = fy.uid
LEFT JOIN fx_yaoqing_records fmr ON fmr.uid = fm.id
WHERE fm.jwcode =#{jwcode};
</select>
<select id="searchId" resultType="java.lang.Integer">
SELECT id FROM fx_member WHERE jwcode = #{jwcode}
</select>
</mapper>
Loading…
Cancel
Save