diff --git a/pom.xml b/pom.xml index 3335764..def3793 100644 --- a/pom.xml +++ b/pom.xml @@ -11,6 +11,7 @@ com.example demo 0.0.2-SNAPSHOT + demo demo @@ -25,10 +26,16 @@ - org.springframework.kafka - spring-kafka + com.zaxxer + HikariCP + 5.1.0 + + + + + @@ -40,6 +47,18 @@ jjwt 0.9.1 + + + com.alibaba + druid + 1.2.9 + + + + mysql + mysql-connector-java + 8.0.33 + javax.xml.bind @@ -50,7 +69,7 @@ org.springframework.boot spring-boot-starter-security - + 3.3.6 org.springframework.boot @@ -65,6 +84,12 @@ commons-pool2 + + org.springframework.boot + spring-boot-starter-webflux + + + @@ -90,6 +115,11 @@ 3.1.3 + org.mybatis + mybatis + 3.5.13 + + org.springframework.boot spring-boot-devtools runtime @@ -142,6 +172,14 @@ + diff --git a/src/main/java/com/example/demo/DemoApplication.java b/src/main/java/com/example/demo/DemoApplication.java index 03172a5..abca329 100644 --- a/src/main/java/com/example/demo/DemoApplication.java +++ b/src/main/java/com/example/demo/DemoApplication.java @@ -1,11 +1,18 @@ package com.example.demo; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.cache.annotation.EnableCaching; -@SpringBootApplication + + @EnableCaching +@SpringBootApplication +@MapperScan(basePackages = "com.example.demo.mapper", sqlSessionTemplateRef = "mysql1SqlSessionTemplate") +@MapperScan(basePackages = "com.example.demo.mapperLink", sqlSessionTemplateRef = "mysql2SqlSessionTemplate") +@MapperScan(basePackages = "com.example.demo.mapperPay", sqlSessionTemplateRef = "mysql3SqlSessionTemplate") public class DemoApplication { public static void main(String[] args) { diff --git a/src/main/java/com/example/demo/Util/BaseDES.java b/src/main/java/com/example/demo/Util/BaseDES.java index 6159c44..c3a2365 100644 --- a/src/main/java/com/example/demo/Util/BaseDES.java +++ b/src/main/java/com/example/demo/Util/BaseDES.java @@ -4,6 +4,8 @@ package com.example.demo.Util; import javax.crypto.Cipher; import java.security.*; +import static org.apache.poi.poifs.crypt.CipherAlgorithm.des; + public class BaseDES { private static String strDefaultKey = "98hltleg"; @@ -91,6 +93,8 @@ public class BaseDES { public static void main(String args[]) { try { BaseDES d = new BaseDES(); + String encryptedText = d.encrypt("94616995"); + System.out.println("加密结果:" + encryptedText); System.out.println("加密字符串:90005179》"+d.encrypt("90005179")); System.out.println("解密字符串:6aaef5277c050f7ae383f816651098ff》"+d.decrypt("6aaef5277c050f7ae383f816651098ff")); } catch (Exception e) { diff --git a/src/main/java/com/example/demo/Util/BaseDES2.java b/src/main/java/com/example/demo/Util/BaseDES2.java new file mode 100644 index 0000000..c877377 --- /dev/null +++ b/src/main/java/com/example/demo/Util/BaseDES2.java @@ -0,0 +1,100 @@ +package com.example.demo.Util; + + +import javax.crypto.Cipher; +import java.security.Key; + + +public class BaseDES2 { + private static String strDefaultKey = "gold20@)"; + + private Cipher encryptCipher = null; + + private Cipher decryptCipher = null; + + public static String byteArr2HexStr(byte[] arrB) throws Exception { + int iLen = arrB.length; + + StringBuffer sb = new StringBuffer(iLen * 2); + for (int i = 0; i < iLen; i++) { + int intTmp = arrB[i]; + + while (intTmp < 0) { + intTmp = intTmp + 256; + } + + if (intTmp < 16) { + sb.append("0"); + } + sb.append(Integer.toString(intTmp, 16)); + } + return sb.toString(); + } + + public static byte[] hexStr2ByteArr(String strIn) { + byte[] arrB = strIn.getBytes(); + int iLen = arrB.length; + + byte[] arrOut = new byte[iLen / 2]; + for (int i = 0; i < iLen; i = i + 2) { + String strTmp = new String(arrB, i, 2); + arrOut[i / 2] = (byte) Integer.parseInt(strTmp, 16); + } + return arrOut; + } + + public BaseDES2() throws Exception { + this(strDefaultKey); + } + + public BaseDES2(String strKey) throws Exception { + + Key key = getKey(strKey.getBytes()); + + encryptCipher = Cipher.getInstance("DES"); + encryptCipher.init(Cipher.ENCRYPT_MODE, key); + + decryptCipher = Cipher.getInstance("DES"); + decryptCipher.init(Cipher.DECRYPT_MODE, key); + } + + public byte[] encrypt(byte[] arrB) throws Exception { + return encryptCipher.doFinal(arrB); + } + + public String encrypt(String strIn) throws Exception { + return byteArr2HexStr(encrypt(strIn.getBytes())); + } + + public byte[] decrypt(byte[] arrB) throws Exception { + return decryptCipher.doFinal(arrB); + } + + public String decrypt(String strIn) throws Exception { + return new String(decrypt(hexStr2ByteArr(strIn))); + } + + private Key getKey(byte[] arrBTmp) { + + byte[] arrB = new byte[8]; + + for (int i = 0; i < arrBTmp.length && i < arrB.length; i++) { + arrB[i] = arrBTmp[i]; + } + + Key key = new javax.crypto.spec.SecretKeySpec(arrB, "DES"); + + return key; + } + + + public static void main(String args[]) { + try { + BaseDES2 d = new BaseDES2(); + String encryptedText = d.encrypt("30003761"); + System.out.println("加密结果:" + encryptedText); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/example/demo/Util/DESGB.java b/src/main/java/com/example/demo/Util/DESGB.java new file mode 100644 index 0000000..59fe7b7 --- /dev/null +++ b/src/main/java/com/example/demo/Util/DESGB.java @@ -0,0 +1,107 @@ +package com.example.demo.Util; + + +import java.security.*; +import javax.crypto.*; + +public class DESGB { + private static String strDefaultKey = "testhlsoft"; + + private Cipher encryptCipher = null; + + private Cipher decryptCipher = null; + + public static String byteArr2HexStr(byte[] arrB) throws Exception { + int iLen = arrB.length; + + StringBuffer sb = new StringBuffer(iLen * 2); + for (int i = 0; i < iLen; i++) { + int intTmp = arrB[i]; + + while (intTmp < 0) { + intTmp = intTmp + 256; + } + + if (intTmp < 16) { + sb.append("0"); + } + sb.append(Integer.toString(intTmp, 16)); + } + return sb.toString(); + } + + public static byte[] hexStr2ByteArr(String strIn) throws Exception { + byte[] arrB = strIn.getBytes(); + int iLen = arrB.length; + + byte[] arrOut = new byte[iLen / 2]; + for (int i = 0; i < iLen; i = i + 2) { + String strTmp = new String(arrB, i, 2); + arrOut[i / 2] = (byte) Integer.parseInt(strTmp, 16); + } + return arrOut; + } + + public DESGB() throws Exception { + this(strDefaultKey); + } + + public DESGB(String strKey) throws Exception { + + Key key = getKey(strKey.getBytes()); + + encryptCipher = Cipher.getInstance("DES"); + encryptCipher.init(Cipher.ENCRYPT_MODE, key); + + decryptCipher = Cipher.getInstance("DES"); + decryptCipher.init(Cipher.DECRYPT_MODE, key); + } + + public byte[] encrypt(byte[] arrB) throws Exception { + return encryptCipher.doFinal(arrB); + } + + public String encrypt(String strIn) throws Exception { + return byteArr2HexStr(encrypt(strIn.getBytes())); + } + + public byte[] decrypt(byte[] arrB) throws Exception { + return decryptCipher.doFinal(arrB); + } + + /** + * @功能描述: 解决中文乱码问题 + * @开发人员: 弘历研发部 刘志红 于 2024-1-28上午11:27:38 创建 + * @参数介绍: @param strIn + * @参数介绍: @return + * @参数介绍: @throws Exception + * @返回数据: String + * @版本编号: V1.0 + */ + public String decrypt(String strIn) throws Exception { + return new String(decrypt(hexStr2ByteArr(strIn)),"UTF-8"); + } + + private Key getKey(byte[] arrBTmp) throws Exception { + + byte[] arrB = new byte[8]; + + for (int i = 0; i < arrBTmp.length && i < arrB.length; i++) { + arrB[i] = arrBTmp[i]; + } + + Key key = new javax.crypto.spec.SecretKeySpec(arrB, "DES"); + + return key; + } + + + public static void main(String args[]) { + try { + DESGB d = new DESGB(); + System.out.println(d.decrypt("d19f27abb3486c689304600788c604e700abf96d6bd1c9ca")); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/example/demo/Util/GoldTistV2.java b/src/main/java/com/example/demo/Util/GoldTistV2.java new file mode 100644 index 0000000..a2e9063 --- /dev/null +++ b/src/main/java/com/example/demo/Util/GoldTistV2.java @@ -0,0 +1,227 @@ +package com.example.demo.Util; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLEncoder; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Random; + + + +/** + * @开发目的: 测试使用 + * @开发人员: 弘历研发部 刘志红 + * @开发时间: 2024-1-26下午1:42:18 + * @软件版本: V1.0 + */ +public class GoldTistV2 { + + + + + private static String url = "http://hcm.rzfwq.com/hwhcnewA/"; + + + /** + *
+	 * 发送不带参数的GET的HTTP请求
+	 * 
+ * + * @param reqUrl HTTP请求URL + * @return HTTP响应的字符串 + */ + public static String doGet(String reqUrl) { + HttpURLConnection url_con = null; + String responseContent = null; + try { + StringBuffer params = new StringBuffer(); + String queryUrl = reqUrl; + int paramIndex = reqUrl.indexOf("?"); + + if (paramIndex > 0) { + queryUrl = reqUrl.substring(0, paramIndex); + String parameters = reqUrl.substring(paramIndex + 1, reqUrl.length()); + String[] paramArray = parameters.split("&"); + for (int i = 0; i < paramArray.length; i++) { + String string = paramArray[i]; + int index = string.indexOf("="); + if (index > 0) { + String parameter = string.substring(0, index); + String value = string.substring(index + 1, string.length()); + params.append(parameter); + params.append("="); + params.append(URLEncoder.encode(value, "UTF-8")); + params.append("&"); + } + } + + params = params.deleteCharAt(params.length() - 1); + } + + URL url = new URL(queryUrl); + url_con = (HttpURLConnection) url.openConnection(); + url_con.setRequestMethod("GET"); + System.setProperty("sun.net.client.defaultConnectTimeout", String.valueOf(500000));// (单位:毫秒)jdk1.4换成这个,连接超时 + System.setProperty("sun.net.client.defaultReadTimeout", String.valueOf(500000)); // (单位:毫秒)jdk1.4换成这个,读操作超时 + // url_con.setConnectTimeout(5000);//(单位:毫秒)jdk + // 1.5换成这个,连接超时 + // url_con.setReadTimeout(5000);//(单位:毫秒)jdk 1.5换成这个,读操作超时 + url_con.setDoOutput(true); + byte[] b = params.toString().getBytes(); + url_con.getOutputStream().write(b, 0, b.length); + url_con.getOutputStream().flush(); + url_con.getOutputStream().close(); + InputStream in = url_con.getInputStream(); + BufferedReader rd = new BufferedReader(new InputStreamReader(in, "UTF-8")); + String tempLine = rd.readLine(); + StringBuffer temp = new StringBuffer(); + String crlf = System.getProperty("line.separator"); + while (tempLine != null) { + temp.append(tempLine); + temp.append(crlf); + tempLine = rd.readLine(); + } + responseContent = temp.toString(); + rd.close(); + in.close(); + } + catch (IOException e) { + e.printStackTrace(); + }finally { + if (url_con != null) { + url_con.disconnect(); + } + } + return responseContent; + } + + + + + /** + * 生成 MD5 签名 + * + * @param params 待签名的参数数组 + * @param secretKey 密钥 + * @return 签名的 MD5 哈希值,若出现异常则返回 null + */ + public static String generateSignature(String[] params, String secretKey) { + // 将参数数组转换为列表,以便进行排序 + List paramList = new ArrayList(); + Collections.addAll(paramList, params); + // 对参数列表进行排序 + Collections.sort(paramList); + + // 拼接排序后的参数 + StringBuilder paramString = new StringBuilder(); + for (String param : paramList) { + paramString.append(param); + } + + // 拼接密钥 + paramString.append(secretKey); + + try { + // 获取 MD5 消息摘要实例 + MessageDigest md = MessageDigest.getInstance("MD5"); + // 计算摘要,明确指定字符编码为 UTF-8 + byte[] digest = md.digest(paramString.toString().getBytes("UTF-8")); + // 将字节数组转换为十六进制字符串 + StringBuilder hexString = new StringBuilder(); + for (byte b : digest) { + String hex = Integer.toHexString(0xFF & b); + if (hex.length() == 1) { + hexString.append('0'); + } + hexString.append(hex); + } + return hexString.toString(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + return null; + } catch (java.io.UnsupportedEncodingException e) { + e.printStackTrace(); + return null; + } + } + /** + * @功能描述: 生成随机数 + * @开发人员: 弘历研发部 刘志红 于 2024-1-25下午5:45:36 创建 + * @参数介绍: @param len + * @参数介绍: @return + * @返回数据: String + * @版本编号: V1.0 + */ + public static String RandomUid(int len){ + String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghjklmnpqrstuvwxyz23456789"; + StringBuilder result = new StringBuilder(); + Random rnd = new Random(); + int strlen = characters.length(); + while (result.length() < 8) { // length of the random string. + int index = (int) (rnd.nextFloat() * strlen); + result.append(characters.charAt(index)); + } + return "JB"+result.toString(); + } + + /** + * 类型说明: + * + 55 免费金币 金币系统退商品 + 56 永久金币 金币系统退商品 + 57 任务金币 金币系统退商品 + 58 免费金币 金币系统退金币 + 59 任务金币 金币系统退金币 + * @功能描述: 金币平台更新客户金币 + * @开发人员: 弘历研发部 刘志红 于 2025-3-21下午1:58:13 创建 + * @参数介绍: @param jwcode 账号 + * @参数介绍: @param lx 类型 + * @参数介绍: @param jbs 金币数量 + * @参数介绍: @param remark 备注 + * @参数介绍: @param yjjb 永久金币 + * @参数介绍: @param czr 操作人 + * @参数介绍: @param goodsname 商品名称 + * @参数介绍: @return + * @返回数据: String 返回状态1加成功2减成功其他失败 -5 金币不足 -6 类型错误 -7签名错误 + * @版本编号: V1.0 + */ + public static String addCoinNew(String jwcode, int lx, double jbs, + String remark,double yjjb,String czr,String goodsname){ + //查错误使用 + String sjzfc = RandomUid(10); + String resp = ""; + try { + DESGB desjbkc = new DESGB("Jbxt.205"); + String sk = "jwcode="+jwcode+"&number="+jbs+"&uid="+sjzfc+"&remark="+ + remark+"&czr="+czr+"&yjjb="+yjjb+"&czpt=4&goodsname="+goodsname+"&type="+lx; + System.out.println("签名前:"+sk); + String sign = generateSignature(sk.split("&"),"222251821eba7efab6d48e388b8f6baa"); + sk = desjbkc.encrypt(new String(sk.getBytes(), "UTF-8")); + System.out.println(url+"goldUpdate_sign.gold?app=4&sk="+sk+"&sign="+sign); + resp = doGet(url+"goldUpdate_sign.gold?app=4&sk="+sk+"&sign="+sign); + }catch (Exception e){ + System.out.println("加金币异常"+e.toString()); + } + System.out.println(resp); + return resp; + } + + + + public static void main(String[] args) throws Exception { + //调用demo + addCoinNew("94226013",64,1,"充1金币测试",0,"黄其振 ","文章11"); + + } + + + +} diff --git a/src/main/java/com/example/demo/Util/JWTUtil.java b/src/main/java/com/example/demo/Util/JWTUtil.java index cf10313..b13e23d 100644 --- a/src/main/java/com/example/demo/Util/JWTUtil.java +++ b/src/main/java/com/example/demo/Util/JWTUtil.java @@ -23,7 +23,7 @@ import java.util.UUID; public class JWTUtil { //有效期为 - public static final Long JWT_TTL = 2*60 * 60 *1000L;// 60 * 60 *1000 一个小时 + public static final Long JWT_TTL = 24*60 * 60 *1000L;// 60 * 60 *1000 一个小时 //设置 密钥 public static final String JWT_KEY = "bobzyh"; 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/CacheConfig.java b/src/main/java/com/example/demo/config/CacheConfig.java new file mode 100644 index 0000000..98e6240 --- /dev/null +++ b/src/main/java/com/example/demo/config/CacheConfig.java @@ -0,0 +1,33 @@ +package com.example.demo.config; + +import org.springframework.cache.CacheManager; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.cache.concurrent.ConcurrentMapCache; +import org.springframework.cache.support.SimpleCacheManager; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.cache.RedisCacheConfiguration; +import org.springframework.data.redis.cache.RedisCacheManager; +import org.springframework.data.redis.connection.RedisConnectionFactory; + +import java.time.Duration; +import java.util.Arrays; + +@Configuration +@EnableCaching +public class CacheConfig { + + @Bean + public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) { + RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig() + .entryTtl(Duration.ofHours(1)) // 设置默认过期时间为 1 小时 + .disableCachingNullValues(); // 禁用空值缓存 + + return RedisCacheManager.builder(redisConnectionFactory) + .cacheDefaults(config) + .withCacheConfiguration("statistics", config) // 注册缓存名称 + .withCacheConfiguration("recharge", config) // 注册缓存名称 + .withCacheConfiguration("consume", config) // 注册缓存名称 + .build(); + } +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/config/DBSrcArticle.java b/src/main/java/com/example/demo/config/DBSrcArticle.java new file mode 100644 index 0000000..742b16f --- /dev/null +++ b/src/main/java/com/example/demo/config/DBSrcArticle.java @@ -0,0 +1,50 @@ +//package com.example.demo.config; +// +//import com.zaxxer.hikari.HikariDataSource; +//import org.apache.ibatis.session.SqlSessionFactory; +//import org.mybatis.spring.SqlSessionTemplate; +//import org.mybatis.spring.SqlSessionFactoryBean; // 正确导入SqlSessionFactoryBean +//import org.mybatis.spring.annotation.MapperScan; +//import org.springframework.beans.factory.annotation.Qualifier; +//import org.springframework.boot.context.properties.ConfigurationProperties; +//import org.springframework.boot.jdbc.DataSourceBuilder; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.context.annotation.Primary; +//import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +// +//import javax.sql.DataSource; +// +// +// +///** +// * 数据库leadnews_article配置 +// */ +//@Configuration +//@MapperScan(basePackages = {"com.example.demo.mapper"}, sqlSessionFactoryRef = "sqlSessionFactoryArticle") +//public class DBSrcArticle { +// +// @Bean(name = "mysql1DataSource") +// @Primary // 因为这是默认数据源,因此标记为Primary +// @ConfigurationProperties(prefix = "spring.datasource.mysql1") +// public DataSource cmsDataSource() { +// HikariDataSource dataSource = DataSourceBuilder.create().type(HikariDataSource.class).build(); +//// log.info("mysql1 DataSource initialized with pool-name: {}", dataSource.getPoolName()); +// return dataSource; +// } +// +// @Bean(name = "mysql1SqlSessionFactory") +// @Primary // 默认SqlSessionFactory +// public SqlSessionFactory cmsSqlSessionFactory(@Qualifier("mysql1DataSource") DataSource dataSource) throws Exception { +// SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); +// sessionFactory.setDataSource(dataSource); +// sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml")); +// return sessionFactory.getObject(); +// } +// +// @Bean(name = "mysql1SqlSessionTemplate") +// @Primary // 默认SqlSessionTemplate +// public SqlSessionTemplate cmsSqlSessionTemplate(@Qualifier("mysql1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) { +// return new SqlSessionTemplate(sqlSessionFactory); +// } +//} diff --git a/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java b/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java new file mode 100644 index 0000000..b7225d5 --- /dev/null +++ b/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java @@ -0,0 +1,62 @@ +package com.example.demo.config; + +import com.zaxxer.hikari.HikariDataSource; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.SqlSessionTemplate; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.jdbc.DataSourceBuilder; +import org.springframework.context.annotation.Bean; + +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; + +import javax.sql.DataSource; + +@Slf4j +@Configuration +public class Mysql1DataSourceConfig { + +// @Bean(name = "mysql1DataSource") +//// @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"); +// dataSource.setUsername("hwgold"); +// dataSource.setPassword("AGX4Z3YMxiCG3GR2"); +// dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); +// dataSource.setMaximumPoolSize(10); +// dataSource.setPoolName("mysql1HikariCP"); +// log.info("mysql1 DataSource initialized with pool-name: {}", dataSource.getPoolName()); +// return dataSource; +// } +@Bean(name = "mysql1DataSource") +@ConfigurationProperties(prefix = "spring.datasource.mysql1") +public DataSource mysql2DataSource() { + return DataSourceBuilder.create().type(HikariDataSource.class).build(); +} + @Bean(name = "mysql1SqlSessionFactory") +// @Primary + public SqlSessionFactory mysql1SqlSessionFactory(@Qualifier("mysql1DataSource") DataSource dataSource, + @Qualifier("globalConfiguration1") org.apache.ibatis.session.Configuration globalConfiguration1) throws Exception { + SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + sessionFactory.setDataSource(dataSource); + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml")); + sessionFactory.setConfiguration(globalConfiguration1); + return sessionFactory.getObject(); + } + + @Bean(name = "mysql1SqlSessionTemplate") +// @Primary + public SqlSessionTemplate mysql1SqlSessionTemplate(@Qualifier("mysql1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) { + return new SqlSessionTemplate(sqlSessionFactory); + } + @Bean + @ConfigurationProperties(prefix = "mybatis.configuration.mysql1") + public org.apache.ibatis.session.Configuration globalConfiguration1() { + return new org.apache.ibatis.session.Configuration(); + } +} diff --git a/src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java b/src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java new file mode 100644 index 0000000..86d501a --- /dev/null +++ b/src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java @@ -0,0 +1,60 @@ +package com.example.demo.config; + +import com.zaxxer.hikari.HikariDataSource; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.SqlSessionTemplate; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.jdbc.DataSourceBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; + +import javax.sql.DataSource; + +@Slf4j +@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() { + return DataSourceBuilder.create().type(HikariDataSource.class).build(); + } + @Bean(name = "mysql2SqlSessionFactory") + public SqlSessionFactory mysql2SqlSessionFactory(@Qualifier("mysql2DataSource") DataSource dataSource, + @Qualifier("globalConfiguration2") org.apache.ibatis.session.Configuration globalConfiguration2) throws Exception { + SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + sessionFactory.setDataSource(dataSource); + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapperLink/*.xml")); + sessionFactory.setConfiguration(globalConfiguration2); + return sessionFactory.getObject(); + } + + @Bean(name = "mysql2SqlSessionTemplate") + public SqlSessionTemplate mysql2SqlSessionTemplate(@Qualifier("mysql2SqlSessionFactory") SqlSessionFactory sqlSessionFactory) { + return new SqlSessionTemplate(sqlSessionFactory); + } + @Bean + @ConfigurationProperties(prefix = "mybatis.configuration.mysql2") + public org.apache.ibatis.session.Configuration globalConfiguration2() { + return new org.apache.ibatis.session.Configuration(); + } + +} diff --git a/src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java b/src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java new file mode 100644 index 0000000..604cc2a --- /dev/null +++ b/src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java @@ -0,0 +1,46 @@ +package com.example.demo.config; + +import com.zaxxer.hikari.HikariDataSource; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.SqlSessionTemplate; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.jdbc.DataSourceBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; + +import javax.sql.DataSource; + +@Slf4j +@Configuration +public class Mysql3DataSourceConfig { + + @Bean(name = "mysql3DataSource") + @ConfigurationProperties(prefix = "spring.datasource.mysql3") + public DataSource mysql3DataSource() { + return DataSourceBuilder.create().type(HikariDataSource.class).build(); + } + @Bean(name = "mysql3SqlSessionFactory") + public SqlSessionFactory mysql3SqlSessionFactory(@Qualifier("mysql3DataSource") DataSource dataSource, + @Qualifier("globalConfiguration3") org.apache.ibatis.session.Configuration globalConfiguration3) throws Exception { + SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + sessionFactory.setDataSource(dataSource); + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapperPay/*.xml")); + sessionFactory.setConfiguration(globalConfiguration3); + return sessionFactory.getObject(); + } + + @Bean(name = "mysql3SqlSessionTemplate") + public SqlSessionTemplate mysql3SqlSessionTemplate(@Qualifier("mysql3SqlSessionFactory") SqlSessionFactory sqlSessionFactory) { + return new SqlSessionTemplate(sqlSessionFactory); + } + @Bean + @ConfigurationProperties(prefix = "mybatis.configuration.mysql3") + public org.apache.ibatis.session.Configuration globalConfiguration3() { + return new org.apache.ibatis.session.Configuration(); + } + +} 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/config/WebClientConfig.java b/src/main/java/com/example/demo/config/WebClientConfig.java new file mode 100644 index 0000000..197a170 --- /dev/null +++ b/src/main/java/com/example/demo/config/WebClientConfig.java @@ -0,0 +1,17 @@ +package com.example.demo.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.reactive.function.client.WebClient; + + +@Configuration +public class WebClientConfig { + + @Bean + public WebClient webClient() { + return WebClient.builder() + .baseUrl("http://hwapi.rzfwq.com") + .build(); + } +} diff --git a/src/main/java/com/example/demo/config/WebConfig.java b/src/main/java/com/example/demo/config/WebConfig.java index 9a4045d..aacdfb5 100644 --- a/src/main/java/com/example/demo/config/WebConfig.java +++ b/src/main/java/com/example/demo/config/WebConfig.java @@ -6,7 +6,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -@Configurable @Configuration public class WebConfig implements WebMvcConfigurer { @Value("${upload.path}") diff --git a/src/main/java/com/example/demo/config/dBSrcUser.java b/src/main/java/com/example/demo/config/dBSrcUser.java new file mode 100644 index 0000000..33b0c97 --- /dev/null +++ b/src/main/java/com/example/demo/config/dBSrcUser.java @@ -0,0 +1,43 @@ +//package com.example.demo.config; +// +//import com.zaxxer.hikari.HikariDataSource; +//import org.apache.ibatis.session.SqlSessionFactory; +//import org.mybatis.spring.SqlSessionFactoryBean; // 修复:正确导入类 +//import org.mybatis.spring.SqlSessionTemplate; +//import org.mybatis.spring.annotation.MapperScan; +//import org.springframework.beans.factory.annotation.Qualifier; +//import org.springframework.boot.context.properties.ConfigurationProperties; +//import org.springframework.boot.jdbc.DataSourceBuilder; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.context.annotation.Primary; +//import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +// +//import javax.sql.DataSource; +// +///** +// * 数据库leadnews_user配置 +// */ +//@Configuration +//@MapperScan(basePackages = {"com.example.demo.mapperLink"}, sqlSessionFactoryRef = "sqlSessionFactoryUser") +//public class dBSrcUser { +// +// @Bean(name = "mysql2DataSource") +// @ConfigurationProperties(prefix = "spring.datasource.mysql2") +// public DataSource hljwDataSource() { +// return DataSourceBuilder.create().type(HikariDataSource.class).build(); +// } +// +// @Bean(name = "mysql2SqlSessionFactory") +// public SqlSessionFactory hljwSqlSessionFactory(@Qualifier("mysql2DataSource") DataSource dataSource) throws Exception { +// SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); +// sessionFactory.setDataSource(dataSource); +// sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapperlink/*.xml")); +// return sessionFactory.getObject(); +// } +// +// @Bean(name = "mysql2SqlSessionTemplate") +// public SqlSessionTemplate hljwSqlSessionTemplate(@Qualifier("mysql2SqlSessionFactory") SqlSessionFactory sqlSessionFactory) { +// return new SqlSessionTemplate(sqlSessionFactory); +// } +//} diff --git a/src/main/java/com/example/demo/controller/ActivityController.java b/src/main/java/com/example/demo/controller/ActivityController.java index 15d6f44..744099e 100644 --- a/src/main/java/com/example/demo/controller/ActivityController.java +++ b/src/main/java/com/example/demo/controller/ActivityController.java @@ -27,9 +27,7 @@ public class ActivityController { @PostMapping("/add") public Result add(@RequestBody Activity activity) { // try { - int result=activityService.add(activity); - return Result.success(); // } catch (Exception e) { // log.warn(Arrays.toString(e.getStackTrace())); diff --git a/src/main/java/com/example/demo/controller/AdminController.java b/src/main/java/com/example/demo/controller/AdminController.java index d51bdd9..9a8e068 100644 --- a/src/main/java/com/example/demo/controller/AdminController.java +++ b/src/main/java/com/example/demo/controller/AdminController.java @@ -24,6 +24,17 @@ public class AdminController { private final AdminService adminService; + @PostMapping("/add") + public Result add(@RequestBody Admin admin){ + try { + return Result.success(adminService.add(admin)); + } catch (Exception e) { + e.printStackTrace(); + log.error(e.getMessage()); + return Result.error(e.getMessage()); + } + } + @PostMapping("/search") public Result search(@RequestBody Page page){ if(ObjectUtils.isEmpty(page.getPageNum())){ @@ -34,6 +45,16 @@ public class AdminController { } } + @PostMapping("/area") + + public Result area(){ + return Result.success(adminService.area()); + } + @PostMapping("/store") + public Result store(){ + return Result.success(adminService.store()); + } + @PostMapping("/login") public Result login(@RequestBody Admin admin){ @@ -73,5 +94,25 @@ public class AdminController { } } + @PostMapping("/update") + public Result update(@RequestBody Admin admin){ + try { + return Result.success(adminService.edit(admin)); + } catch (Exception e) { + e.printStackTrace(); + log.error(e.getMessage()); + return Result.error(e.getMessage()); + } + } + @PostMapping("/selectNo") + public Result selectNo(@RequestBody Admin admin){ + try { + return Result.success(adminService.selectNo(admin)); + } catch (Exception e) { + e.printStackTrace(); + log.error(e.getMessage()); + return Result.error(e.getMessage()); + } + } } diff --git a/src/main/java/com/example/demo/controller/AuditController.java b/src/main/java/com/example/demo/controller/AuditController.java index 5eed6dd..6e29ccb 100644 --- a/src/main/java/com/example/demo/controller/AuditController.java +++ b/src/main/java/com/example/demo/controller/AuditController.java @@ -1,13 +1,11 @@ package com.example.demo.controller; +import com.example.demo.Util.GoldTistV2; import com.example.demo.domain.entity.*; import com.example.demo.domain.vo.Page; import com.example.demo.domain.vo.Result; -import com.example.demo.mapper.AdminMapper; -import com.example.demo.mapper.DetailMapper; -import com.example.demo.mapper.RefundMapper; -import com.example.demo.mapper.UserMapper; +import com.example.demo.mapper.*; import com.example.demo.sevice.AuditService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -21,8 +19,6 @@ import java.time.LocalDate; import java.time.Month; import java.util.Arrays; -import static com.example.demo.Util.JWTUtil.getUserDetails; - @RestController @RequestMapping("/audit/audit") @RequiredArgsConstructor @@ -39,6 +35,8 @@ public class AuditController { private final AuditService auditService; @Autowired private AdminMapper adminMapper; + @Autowired + private ConsumeMapper consumeMapper; @PostMapping("/add") public Result add(@RequestBody Audit audit){ @@ -73,6 +71,9 @@ public class AuditController { BigDecimal rechargeCoin = detail.getRechargeCoin(); BigDecimal taskCoin = detail.getTaskCoin(); BigDecimal freeCoin = detail.getFreeCoin(); + String good = detail.getRefundGoods(); + + String jwcode = detail.getJwcode(); User user = userMapper.selectByJwcode(detail.getJwcode()); user.setBuyJb(user.getBuyJb().add(rechargeCoin)); @@ -81,6 +82,7 @@ public class AuditController { Admin admin =adminMapper.selectById(audit.getAdminId()); + LocalDate now = LocalDate.now(); Month currentMonth = now.getMonth(); @@ -93,8 +95,18 @@ public class AuditController { detail.setUsername(user1.getName()); // 获取 user 的 name 设置到 detail 的 username detail.setArea(user1.getArea()); // 获取 user 的 area 设置到 detail 的 area detail.setName(admin.getName()); - refundMapper.inserty(detail); - userMapper.update(user); +// refundMapper.inserty(detail); +// refundMapper.updateOrderCode(detail.getContactId()); +// userMapper.update(user); + if(rechargeCoin!=null&&rechargeCoin.compareTo(BigDecimal.ZERO)!=0){ + GoldTistV2.addCoinNew(detail.getJwcode(), 56, rechargeCoin.doubleValue(), "金币退款", rechargeCoin.doubleValue(), admin.getName(), good); + } + if(freeCoin!=null&&freeCoin.compareTo(BigDecimal.ZERO)!=0){ + GoldTistV2.addCoinNew(detail.getJwcode(), 55, freeCoin.doubleValue(), "金币退款", 0, admin.getName(), good); + } + if(taskCoin!=null&&taskCoin.compareTo(BigDecimal.ZERO)!=0){ + GoldTistV2.addCoinNew(detail.getJwcode(), 57, taskCoin.doubleValue(),"金币退款", 0, admin.getName(), good); + } } // 充值驳回 // if (audit.getStatus() == 2 && audit.getRechargeId() != null) { diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java index 62bbbde..dac4559 100644 --- a/src/main/java/com/example/demo/controller/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/ConsumeController.java @@ -14,6 +14,7 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import java.util.Arrays; +import java.util.List; @RestController @RequestMapping("/consume") @@ -38,14 +39,14 @@ public class ConsumeController { ObjectMapper objectMapper = new ObjectMapper(); String detailJson = objectMapper.writeValueAsString(detailY); - // 发送消息到 Kafka 队列 +// // 发送消息到 Kafka 队列 // kafkaProducer.sendMessage("consume-topic", detailJson); - - return Result.success("Request added to Kafka queue"); + consumeService.insert(detailY); } catch (Exception e) { log.error(Arrays.toString(e.getStackTrace())); return Result.error(e.getMessage()); } + return Result.success(); } @PostMapping("/select") @@ -58,14 +59,12 @@ public class ConsumeController { } } - @PostMapping("/getDeatil/{jwcode}") - public Result getDeatil(@PathVariable("jwcode") Integer jwcode) { + @PostMapping("/getDeatil") + public Result getDeatil(@RequestBody UserVo userVo) { try { - UserVo userVo = new UserVo(); - userVo.setJwcode(jwcode.toString()); userService.search(userVo); - return Result.success(consumeService.getDeatil(jwcode)); + return Result.success(consumeService.getDeatil(userVo.getJwcode())); } catch (Exception e) { log.error(Arrays.toString(e.getStackTrace())); return Result.error(e.getMessage()); @@ -77,4 +76,24 @@ public class ConsumeController { System.out.println(name + "name"); return Result.success(consumeService.getProduct(name)); } + @PostMapping("/SumConsume") + public Result getSumConsume(@RequestBody SumConsume sumConsume) { + try { + return Result.success(consumeService.getSumConsume(sumConsume)); + } catch (Exception e) { + log.error(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } + } + + @PostMapping("/getConsume") + public Result getConsume() { + try { + List result = consumeService.getConsume(); + return Result.success(result); + } catch (Exception e) { + log.error(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } + } } diff --git a/src/main/java/com/example/demo/controller/DetailYController.java b/src/main/java/com/example/demo/controller/DetailYController.java index 6442f4e..d3ea307 100644 --- a/src/main/java/com/example/demo/controller/DetailYController.java +++ b/src/main/java/com/example/demo/controller/DetailYController.java @@ -4,10 +4,7 @@ package com.example.demo.controller; import com.example.demo.domain.entity.Detail; import com.example.demo.domain.entity.DetailY; import com.example.demo.domain.entity.UserDetailExport; -import com.example.demo.domain.vo.DetailExport; -import com.example.demo.domain.vo.ERP; -import com.example.demo.domain.vo.Page; -import com.example.demo.domain.vo.Result; +import com.example.demo.domain.vo.*; import com.example.demo.sevice.DetailService; import com.example.demo.sevice.DetailYService; //import com.example.demo.sevice.OtherService; @@ -18,6 +15,7 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import java.util.Arrays; +import java.util.List; @RestController @@ -62,6 +60,18 @@ public class DetailYController { } @PostMapping("/ERP") public Result addERP(@RequestBody ERP erp) throws Exception { + log.info("erp:{}", erp); return Result.success(otherService.addERP(erp)); } + @PostMapping("/getDetailY") + public Result getDetailY(@RequestBody SumDetailY sumDetailY) { + List result = detailYService.getDetailY(sumDetailY); + return Result.success(result); + } + + @PostMapping("/getarea") + public Result getarea() { + List result = detailYService.getarea(); + return Result.success(result); + } } 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..ae31530 --- /dev/null +++ b/src/main/java/com/example/demo/controller/DouController.java @@ -0,0 +1,117 @@ +package com.example.demo.controller; + + + +import com.example.demo.domain.dou.*; +import com.example.demo.domain.vo.Page; +import com.example.demo.domain.vo.Result; +import com.example.demo.sevice.DouService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.util.ObjectUtils; +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; + +import java.util.Arrays; + +@RestController +@RequestMapping("/dou") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin +public class DouController { + private final DouService douService; + @RequestMapping("/search") + public Result search(@RequestBody Searchinfo jwcode) throws Exception{ + try { + return Result.success(douService.searchinfo(jwcode)); + }catch (Exception e) { + log.error(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } + } + @RequestMapping("/add") + public Result add(@RequestBody Records records) throws Exception{ + try { + return Result.success(douService.add(records)); + }catch (Exception e) { + log.error(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } + } + + @RequestMapping("/getYve") + public Result getYve(@RequestBody Page page){ + if (ObjectUtils.isEmpty(page.getPageNum())) { + System.out.println(page.getYve()+"-----"); + return Result.success(douService.getYve(page.getYve())); + } else { + System.out.println(page.getYve()+"++++"); + return Result.success(douService.searchForPage(page.getPageNum(), page.getPageSize(), page.getYve())); + } + } + @RequestMapping("/getYveTotal") + public Result getYveTotal(@RequestBody YveTotal yveTotal){ + System.out.println(douService.getYveTotal(yveTotal)); + return Result.success(douService.getYveTotal(yveTotal)); + } + @RequestMapping("/getIp") + public Result getIp(){ + return Result.success(douService.getIp()); + } + @RequestMapping("/getStyle") + public Result getStyle(){ + return Result.success(douService.getStyle()); + } + @RequestMapping("/getPayIp") + public Result getPayIp(){ + return Result.success(douService.getPayIp()); + } + @RequestMapping("/getPay") + public Result getPay(@RequestBody Page page){ + if (ObjectUtils.isEmpty(page.getPageNum())) { + + return Result.success(douService.getPay(page.getPay())); + } else { + return Result.success(douService.searchPay(page.getPageNum(), page.getPageSize(), page.getPay())); + } + } + @RequestMapping("/getSpend") + public Result getSpend(@RequestBody Page page){ + if (ObjectUtils.isEmpty(page.getPageNum())) { + return Result.success(douService.getSpend(page.getSpend())); + } else { + return Result.success(douService.searchSpend(page.getPageNum(), page.getPageSize(), page.getSpend())); + } + } + @RequestMapping("/getSpendTotal") + public Result getSpendTotal(@RequestBody SpendTotal spendTotal){ + return Result.success(douService.getSpendTotal(spendTotal)); + } + @RequestMapping("/getRechargeTotal") + public Result getRechargeTotal(@RequestBody RechargeTotal rechargeTotal){ + return Result.success(douService.getRechargeTotal(rechargeTotal)); + } + @RequestMapping("/SearchPay") + public Result SearchPay(@RequestBody Page page){ + if (ObjectUtils.isEmpty(page.getPageNum())) { + return Result.success(douService.SearchPay(page.getPay())); + } else { + return Result.success(douService.SearchPay(page.getPageNum(), page.getPageSize(), page.getPay())); + } + } + @RequestMapping("/SearchStyle") + public Result SearchStyle(){ + return Result.success(douService.SearchStyle()); + } + @RequestMapping("/SearchPayIp") + public Result SearchPayIp(){ + return Result.success(douService.SearchPayIp()); + } + @RequestMapping("/getTotal") + public Result getTotal(@RequestBody Total total){ + return Result.success(douService.getTotal(total)); + } +} diff --git a/src/main/java/com/example/demo/controller/OneController.java b/src/main/java/com/example/demo/controller/OneController.java new file mode 100644 index 0000000..6227f38 --- /dev/null +++ b/src/main/java/com/example/demo/controller/OneController.java @@ -0,0 +1,58 @@ +package com.example.demo.controller; + +import com.example.demo.domain.work.One; +import com.example.demo.domain.work.Three; +import com.example.demo.domain.work.Two; +import com.example.demo.sevice.OneService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/One") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin +public class OneController { + private final OneService oneService; + + // 定义一个DTO类来封装请求参数 + public static class RequestParams { + private String token; + private List areas; + + // Getter和Setter方法 + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + public List getAreas() { + return areas; + } + + public void setAreas(List areas) { + this.areas = areas; + } + } + + @PostMapping("/getOne") + public One getOne(@RequestBody RequestParams requestParams) throws Exception { + return oneService.getOne(requestParams.getToken(), requestParams.getAreas()); + } + + @PostMapping("/getTwo") + public Two getTwo(@RequestBody RequestParams requestParams) throws Exception { + return oneService.getTwo(requestParams.getToken(), requestParams.getAreas()); + } + + @PostMapping("/getThree") + public Three getThree(@RequestBody RequestParams requestParams) throws Exception { + return oneService.getThree(requestParams.getToken(), requestParams.getAreas()); + } +} diff --git a/src/main/java/com/example/demo/controller/PermissionController.java b/src/main/java/com/example/demo/controller/PermissionController.java new file mode 100644 index 0000000..e5717be --- /dev/null +++ b/src/main/java/com/example/demo/controller/PermissionController.java @@ -0,0 +1,24 @@ +package com.example.demo.controller; + + +import com.example.demo.domain.vo.Result; +import com.example.demo.sevice.PermissionService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/permission") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin +public class PermissionController { + private final PermissionService permissionService; + + @RequestMapping("/getPermission") + public Result getPermission() { + return Result.success(permissionService.getPermission()); + } +} diff --git a/src/main/java/com/example/demo/controller/ProductController.java b/src/main/java/com/example/demo/controller/ProductController.java index 6f6d0d3..5f14dd6 100644 --- a/src/main/java/com/example/demo/controller/ProductController.java +++ b/src/main/java/com/example/demo/controller/ProductController.java @@ -1,6 +1,7 @@ package com.example.demo.controller; +import com.example.demo.domain.entity.Index; import com.example.demo.domain.entity.Product; import com.example.demo.domain.vo.Result; import com.example.demo.sevice.ProductService; @@ -19,4 +20,12 @@ public class ProductController { public Result Product(@RequestBody Product product){ return Result.success(productService.findAll(product)); } + @PostMapping("/add") + public Result add(@RequestBody Product product){ + return Result.success(productService.add(product)); + } + @PostMapping("/index") + public Result index(@RequestBody Index index){ + return Result.success(productService.findIndex(index)); + } } diff --git a/src/main/java/com/example/demo/controller/RechargeController.java b/src/main/java/com/example/demo/controller/RechargeController.java index 8adb899..7c2865e 100644 --- a/src/main/java/com/example/demo/controller/RechargeController.java +++ b/src/main/java/com/example/demo/controller/RechargeController.java @@ -2,9 +2,11 @@ package com.example.demo.controller; import com.example.demo.domain.entity.Recharge; import com.example.demo.domain.vo.Page; +import com.example.demo.domain.vo.RechargeA; import com.example.demo.domain.vo.Result; //import com.example.demo.controller.KafkaProducer; import com.example.demo.sevice.RechargeService; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -24,11 +26,12 @@ import java.util.stream.Collectors; @RequiredArgsConstructor @Slf4j @CrossOrigin +@JsonIgnoreProperties(ignoreUnknown = true) public class RechargeController { private final RechargeService rechargeService; private final ObjectMapper objectMapper; // 添加这一行 - @Autowired +// @Autowired // private KafkaProducer kafkaProducer; @PostMapping("/addmore") public Result add(@RequestBody Map requestBody) { @@ -41,7 +44,7 @@ public class RechargeController { // 提取并转换所有的 Recharge 对象 List recharges = requestBody.entrySet().stream() - .filter(entry -> !entry.getKey().equals("token")) + .filter(entry -> !entry.getKey().equals("token") && entry.getValue() instanceof Map) .map(entry -> { try { return objectMapper.convertValue(entry.getValue(), Recharge.class); @@ -60,8 +63,8 @@ public class RechargeController { // 将 Recharge 对象转换为 JSON 字符串 String rechargeJson = objectMapper.writeValueAsString(recharges); - // 发送消息到 Kafka 队列 -// kafkaProducer.sendMessage("rechargeadd-topic", rechargeJson); + // 发送消息到 Kafka 队列(如果需要) + // kafkaProducer.sendMessage("rechargeadd-topic", rechargeJson); return rechargeService.addRecharges(recharges); } catch (Exception e) { @@ -77,15 +80,16 @@ public class RechargeController { // 将 Recharge 对象转换为 JSON 字符串 ObjectMapper objectMapper = new ObjectMapper(); String rechargeJson = objectMapper.writeValueAsString(recharge); - - // 发送消息到 Kafka 队列 -// kafkaProducer.sendMessage("recharge-topic", rechargeJson); - - return Result.success("Request added to Kafka queue"); + rechargeService.add(recharge); +//// // 发送消息到 Kafka 队列 +//// kafkaProducer.sendMessage("recharge-topic", rechargeJson); +// +// return Result.success("Request added to Kafka queue"); } catch (Exception e) { log.error(Arrays.toString(e.getStackTrace())); return Result.error(e.getMessage()); } + return Result.success(); } @PostMapping("/edit") @@ -107,4 +111,15 @@ public class RechargeController { return Result.success(rechargeService.searchForPage(page.getPageNum(), page.getPageSize(), page.getRechargeVo())); } } + + @PostMapping("/RechargeA") + public Result searchRechargeA(@RequestBody RechargeA rechargeA) { + List result = rechargeService.getRechargeA(rechargeA); + return Result.success(result); + } + @PostMapping("/getWay") + public Result getWay() { + List result = rechargeService.getWay(); + return Result.success(result); + } } diff --git a/src/main/java/com/example/demo/controller/RefundController.java b/src/main/java/com/example/demo/controller/RefundController.java index d58475c..ba9fc55 100644 --- a/src/main/java/com/example/demo/controller/RefundController.java +++ b/src/main/java/com/example/demo/controller/RefundController.java @@ -3,6 +3,8 @@ package com.example.demo.controller; import com.example.demo.domain.entity.Detail; import com.example.demo.domain.vo.Page; +import com.example.demo.domain.vo.RechargeA; +import com.example.demo.domain.vo.RefundA; import com.example.demo.domain.vo.Result; import com.example.demo.sevice.RefundService; import lombok.RequiredArgsConstructor; @@ -12,6 +14,7 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import java.util.Arrays; +import java.util.List; @RestController @RequestMapping("/refund") @@ -97,4 +100,10 @@ public class RefundController { return Result.success(refundService.searchForPage(page.getPageNum(), page.getPageSize(),page.getDetail())); } } + + @PostMapping("/RefundA") + public Result getRefundA(@RequestBody RefundA refundA) { + List result = refundService.getRefundA(refundA); + return Result.success(result); + } } diff --git a/src/main/java/com/example/demo/controller/StatisticsController.java b/src/main/java/com/example/demo/controller/StatisticsController.java index 2483c6a..0a74c4d 100644 --- a/src/main/java/com/example/demo/controller/StatisticsController.java +++ b/src/main/java/com/example/demo/controller/StatisticsController.java @@ -8,12 +8,10 @@ import com.example.demo.serviceImpl.UserServiceImpl; import com.example.demo.sevice.StatisticsService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Arrays; -import java.util.Date; @RestController diff --git a/src/main/java/com/example/demo/controller/UserController.java b/src/main/java/com/example/demo/controller/UserController.java index dd63121..1f01e8f 100644 --- a/src/main/java/com/example/demo/controller/UserController.java +++ b/src/main/java/com/example/demo/controller/UserController.java @@ -8,6 +8,9 @@ import com.example.demo.sevice.UserSevice; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; +import org.springframework.http.ResponseEntity; +import org.springframework.http.HttpStatus; + import java.util.Arrays; @@ -37,4 +40,14 @@ public class UserController { public Result jwcode() throws Exception { return Result.success(userSevice.jwcode()); } + @PostMapping("/add") + public Result User(@RequestBody User user) throws Exception{ + try { + return Result.success(userSevice.add(user)); + + } catch (Exception e) { + log.error(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } + } } 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..357e5fe --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Balance.java @@ -0,0 +1,29 @@ +package com.example.demo.domain.dou; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Balance implements Serializable { + private static final long serialVersionUID = 1L; + + 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..90366ae --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Member.java @@ -0,0 +1,25 @@ +package com.example.demo.domain.dou; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Member implements Serializable { + private static final long serialVersionUID = 1L; + + private Integer id; + private String nickname; + private String shop; + private String jwcode; + private Integer jinbiBuy; + private Integer jinbiFree; + private Integer number; + private String masterNickname; + private String masterShop; + +} diff --git a/src/main/java/com/example/demo/domain/dou/Pay.java b/src/main/java/com/example/demo/domain/dou/Pay.java new file mode 100644 index 0000000..4c6a1bd --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Pay.java @@ -0,0 +1,44 @@ +package com.example.demo.domain.dou; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Pay { + private String token; + private Integer jwcode; + private String OrderNo; + private String type; + private String nickname; + private BigDecimal price; + private Integer count; + private String payStyle; + private Integer state; + private Integer platfrom; + private Integer successTime; + private String name; + private String deptName; + private String shopName; + private Integer money; + private Integer moneyFree; + private Integer moneyBuy; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date startTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date endTime; + private String sortField; + private String sortOrder; + private String ipAddress; + private String time; + +} diff --git a/src/main/java/com/example/demo/domain/dou/RechargeTotal.java b/src/main/java/com/example/demo/domain/dou/RechargeTotal.java new file mode 100644 index 0000000..70c2301 --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/RechargeTotal.java @@ -0,0 +1,30 @@ +package com.example.demo.domain.dou; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class RechargeTotal { + private String token; + private Integer jwcode; + private String OrderNo; + private String type; + private BigDecimal priceTotal; + private Integer countTotal; + private String payStyle; + private String deptName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date startTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date endTime; +} 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..db5f195 --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Records.java @@ -0,0 +1,26 @@ +package com.example.demo.domain.dou; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Records implements Serializable { + private static final long serialVersionUID = 1L; + 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; + private String content ; + +} 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..29b1c37 --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Searchinfo.java @@ -0,0 +1,17 @@ +package com.example.demo.domain.dou; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Searchinfo implements Serializable { + private static final long serialVersionUID = 1L; + + private String jwcode; + private String token; +} diff --git a/src/main/java/com/example/demo/domain/dou/Spend.java b/src/main/java/com/example/demo/domain/dou/Spend.java new file mode 100644 index 0000000..3a8a8c4 --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Spend.java @@ -0,0 +1,41 @@ +package com.example.demo.domain.dou; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Spend implements Serializable { + private static final long serialVersionUID = 1L; + + private String jwcode; + private String nickname; + private String ipAddress; + private Integer jinbi; + private Integer jinbiFree; + private Integer jinbiBuy; + private Integer jinbiCostTotal; + private String token; + private String sortField; + private String sortOrder; + private String sourceName; + private String content; + private Integer payType; + private Integer good; + private Integer createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date startTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date endTime; + private String room; + private Integer sourceType; +} diff --git a/src/main/java/com/example/demo/domain/dou/SpendTotal.java b/src/main/java/com/example/demo/domain/dou/SpendTotal.java new file mode 100644 index 0000000..c332113 --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/SpendTotal.java @@ -0,0 +1,37 @@ +package com.example.demo.domain.dou; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class SpendTotal { + private String token; + private Integer SpendTotal; + private String jwcode; + private String nickname; + private String ipAddress; + private Integer jinbi; + private Integer jinbiFree; + private Integer jinbiBuy; + private Integer jinbiCostTotal; + private String sortField; + private String sortOrder; + private String sourceName; + private String content; + private Integer payType; + private Integer sourceType; + private Integer time; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date startTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date endTime; +} diff --git a/src/main/java/com/example/demo/domain/dou/Total.java b/src/main/java/com/example/demo/domain/dou/Total.java new file mode 100644 index 0000000..25529dd --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Total.java @@ -0,0 +1,28 @@ +package com.example.demo.domain.dou; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Total { + private String token; + private String jwcode; + private String orderNo; + private String type; + private String ipAddress; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date startTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date endTime; + private Integer count; + private Integer price; +} diff --git a/src/main/java/com/example/demo/domain/dou/Yve.java b/src/main/java/com/example/demo/domain/dou/Yve.java new file mode 100644 index 0000000..580d552 --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/Yve.java @@ -0,0 +1,28 @@ +package com.example.demo.domain.dou; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Yve implements Serializable { + + private static final long serialVersionUID = 1L; + + private String jwcode; + private String nickname; + private String ipAddress; + private Integer jinbi; + private Integer jinbiFree; + private Integer jinbiBuy; + private Integer jinbiCostTotal; + private Integer jinbiCostbeenTotal; + private Integer jinbifreebeenTotal; + private String token; + private String sortField; + private String sortOrder; +} diff --git a/src/main/java/com/example/demo/domain/dou/YveTotal.java b/src/main/java/com/example/demo/domain/dou/YveTotal.java new file mode 100644 index 0000000..83ba592 --- /dev/null +++ b/src/main/java/com/example/demo/domain/dou/YveTotal.java @@ -0,0 +1,17 @@ +package com.example.demo.domain.dou; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class YveTotal { + private Integer jinbiBuy; + private Integer jinbiCostTotal; + private Integer jinbiFree; + private String token; + private String ipAddress; + private String jwcode; +} diff --git a/src/main/java/com/example/demo/domain/entity/Activity.java b/src/main/java/com/example/demo/domain/entity/Activity.java index 7068f41..b563bfa 100644 --- a/src/main/java/com/example/demo/domain/entity/Activity.java +++ b/src/main/java/com/example/demo/domain/entity/Activity.java @@ -18,22 +18,23 @@ import java.util.Date; @Data public class Activity implements Serializable { + private static final long serialVersionUID = 1L; private Integer activityId; private Integer adminId; private String dept; - @JsonFormat(shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC") + @JsonFormat(shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "Asia/Shanghai") private Date startTime; - @JsonFormat(shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC") + @JsonFormat(shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "Asia/Shanghai") private Date endTime; private String activityName; private BigDecimal rechargeRatio; - @JsonFormat(shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC") + @JsonFormat(shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; diff --git a/src/main/java/com/example/demo/domain/entity/Admin.java b/src/main/java/com/example/demo/domain/entity/Admin.java index 17b96b8..ee5d759 100644 --- a/src/main/java/com/example/demo/domain/entity/Admin.java +++ b/src/main/java/com/example/demo/domain/entity/Admin.java @@ -1,3 +1,74 @@ +//package com.example.demo.domain.entity; +// +//import com.fasterxml.jackson.annotation.JsonFormat; +//import com.fasterxml.jackson.annotation.JsonIgnore; +//import lombok.Data; +//import lombok.NoArgsConstructor; +//import org.springframework.format.annotation.DateTimeFormat; +//import org.springframework.security.core.GrantedAuthority; +//import org.springframework.security.core.authority.SimpleGrantedAuthority; +//import org.springframework.security.core.userdetails.UserDetails; +// +//import java.io.Serializable; +//import java.util.*; +// +//@Data +//@NoArgsConstructor +//public class Admin implements UserDetails, Serializable { +// private Integer adminId; +// private String name; +// private String username; +// private String password; +// private String permission; +// private String area; +// private String adminFlag; +// private String store; +// private String token; +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") +// @DateTimeFormat(pattern = "yyyy-MM-dd") +// private Date createTime; +// private String jwcode; +// @Override +// @JsonIgnore +// public Collection getAuthorities() { +// Set authorities = new HashSet<>(); +// if (permission != null) { +// int permValue = permission.intValue(); +// if (permValue == 1) { +// authorities.add(new SimpleGrantedAuthority("ROLE_SUPER_ADMIN")); +// } else if (permValue == 2) { +// authorities.add(new SimpleGrantedAuthority("ROLE_ADMIN")); +// } else if (permValue == 3) { +// authorities.add(new SimpleGrantedAuthority("ROLE_AUDITORS")); +// } +// } +// return authorities; +// } +// @Override +// @JsonIgnore +// public boolean isAccountNonExpired() { +// return UserDetails.super.isAccountNonExpired(); +// } +// +// @Override +// @JsonIgnore +// public boolean isAccountNonLocked() { +// return UserDetails.super.isAccountNonLocked(); +// } +// +// @Override +// @JsonIgnore +// public boolean isCredentialsNonExpired() { +// return UserDetails.super.isCredentialsNonExpired(); +// } +// +// @Override +// @JsonIgnore +// public boolean isEnabled() { +// return UserDetails.super.isEnabled(); +// } +//} +// package com.example.demo.domain.entity; import com.fasterxml.jackson.annotation.JsonFormat; @@ -15,54 +86,75 @@ import java.util.*; @Data @NoArgsConstructor public class Admin implements UserDetails, Serializable { + private static final long serialVersionUID = 1L; private Integer adminId; private String name; private String username; private String password; - private Integer permission; + private String permission; private String area; private String adminFlag; private String store; private String token; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; private String jwcode; + private Integer status1; + private String remark; + + private String machineId; + + @Override @JsonIgnore public Collection getAuthorities() { - Setauthorities = new HashSet<>(); - if(permission == 1){ - authorities.add(new SimpleGrantedAuthority("ROLE_SUPER_ADMIN")); - }else if(permission == 2){ - authorities.add(new SimpleGrantedAuthority("ROLE_ADMIN")); - }else if(permission == 3){ - authorities.add(new SimpleGrantedAuthority("ROLE_AUDITORS")); - } - return authorities; + Set authorities = new HashSet<>(); + Optional.ofNullable(permission) + .map(Integer::valueOf) + .ifPresent(permValue -> { + switch (permValue) { + case 1: + authorities.add(new SimpleGrantedAuthority("ROLE_SUPER_ADMIN")); + break; + case 2: + authorities.add(new SimpleGrantedAuthority("ROLE_ADMIN")); + break; + case 3: + authorities.add(new SimpleGrantedAuthority("ROLE_AUDITORS")); + break; + case 5: + authorities.add(new SimpleGrantedAuthority("Branch_Manager")); + break; + default: + // 可以添加默认角色或处理未知权限 + break; + } + }); + return authorities; } + @Override @JsonIgnore public boolean isAccountNonExpired() { - return UserDetails.super.isAccountNonExpired(); + return true; // 默认账户未过期 } @Override @JsonIgnore public boolean isAccountNonLocked() { - return UserDetails.super.isAccountNonLocked(); + return true; // 默认账户未锁定 } @Override @JsonIgnore public boolean isCredentialsNonExpired() { - return UserDetails.super.isCredentialsNonExpired(); + return true; // 默认凭证未过期 } @Override @JsonIgnore public boolean isEnabled() { - return UserDetails.super.isEnabled(); + return status1 != null && status1 == 1; } -} - +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/domain/entity/Audit.java b/src/main/java/com/example/demo/domain/entity/Audit.java index e3f4d01..9a64c4a 100644 --- a/src/main/java/com/example/demo/domain/entity/Audit.java +++ b/src/main/java/com/example/demo/domain/entity/Audit.java @@ -6,13 +6,16 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; @Data @NoArgsConstructor -@JsonIgnoreProperties -public class Audit { +@JsonIgnoreProperties(ignoreUnknown = true) +public class Audit implements Serializable { + private static final long serialVersionUID = 1L; + private Integer auditId; private String jwcode; private Integer rechargeId; @@ -20,7 +23,7 @@ public class Audit { private Integer adminId; private Integer status; private Integer AuditFlag; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; private Date startDate; @@ -47,6 +50,7 @@ private BigDecimal rechargeGold; private String rechargeTime; private String adminName; - + private String sortField; + private String sortOrder; } diff --git a/src/main/java/com/example/demo/domain/entity/Detail.java b/src/main/java/com/example/demo/domain/entity/Detail.java index 3287d58..5c35695 100644 --- a/src/main/java/com/example/demo/domain/entity/Detail.java +++ b/src/main/java/com/example/demo/domain/entity/Detail.java @@ -9,10 +9,12 @@ import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; +import java.util.List; @Data @NoArgsConstructor public class Detail implements Serializable { + private static final long serialVersionUID = 1L; private Integer detailId; private Integer detailyId; private String name; @@ -35,7 +37,7 @@ public class Detail implements Serializable { private Integer status; private Integer updateType; private Integer detailFlag; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; private String username; @@ -68,7 +70,9 @@ public class Detail implements Serializable { private BigDecimal allGold; private Integer typeR;//选择退款部分 - + private String sortField; + private String sortOrder; + private List areas; } diff --git a/src/main/java/com/example/demo/domain/entity/DetailY.java b/src/main/java/com/example/demo/domain/entity/DetailY.java index c6e541c..e87138b 100644 --- a/src/main/java/com/example/demo/domain/entity/DetailY.java +++ b/src/main/java/com/example/demo/domain/entity/DetailY.java @@ -9,11 +9,13 @@ import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; +import java.util.List; @Data @NoArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) public class DetailY implements Serializable { + private static final long serialVersionUID = 1L; private Integer detailyId; private String name; private String jwcode; @@ -30,13 +32,13 @@ public class DetailY implements Serializable { private BigDecimal rechargeCoin; private BigDecimal freeCoin; private BigDecimal taskCoin; + private BigDecimal gold; private Integer adminId; private Integer status; private Integer updateType; private Integer detailFlag; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date createTime; private Date endDate; @@ -51,7 +53,9 @@ public class DetailY implements Serializable { private String auditReson; private String orderCode; private Integer refundFlag; + private Integer gtype; + private List updateTypes; // @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") // @DateTimeFormat(pattern = "yyyy-MM-dd") @@ -72,4 +76,15 @@ public class DetailY implements Serializable { private BigDecimal sumR; private BigDecimal sumF; private BigDecimal sumT; + + private String sortField; + private String sortOrder; + + private String num; + + private List areas; + + private String uid; + private BigDecimal gold_last; + } diff --git a/src/main/java/com/example/demo/domain/entity/Index.java b/src/main/java/com/example/demo/domain/entity/Index.java new file mode 100644 index 0000000..60e5774 --- /dev/null +++ b/src/main/java/com/example/demo/domain/entity/Index.java @@ -0,0 +1,24 @@ +package com.example.demo.domain.entity; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Index implements Serializable { + private static final long serialVersionUID = 1L; + private Integer indexId; + private BigDecimal price; + private String name; + private String remark; + private Integer type; + private Integer productFlag; + private Date createTime; + private String token; +} diff --git a/src/main/java/com/example/demo/domain/entity/Permission.java b/src/main/java/com/example/demo/domain/entity/Permission.java new file mode 100644 index 0000000..f1aa8cb --- /dev/null +++ b/src/main/java/com/example/demo/domain/entity/Permission.java @@ -0,0 +1,14 @@ +package com.example.demo.domain.entity; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@NoArgsConstructor +public class Permission implements Serializable { + private static final long serialVersionUID = 1L; + private Integer permissionId; + private String permissionName; +} diff --git a/src/main/java/com/example/demo/domain/entity/Product.java b/src/main/java/com/example/demo/domain/entity/Product.java index f67e128..0f7d0dc 100644 --- a/src/main/java/com/example/demo/domain/entity/Product.java +++ b/src/main/java/com/example/demo/domain/entity/Product.java @@ -4,22 +4,22 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.NoArgsConstructor; +import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; @Data @NoArgsConstructor -public class Product { +public class Product implements Serializable { + private static final long serialVersionUID = 1L; + private int productId; private BigDecimal price; private String name; - private Date listed_time; - private Date down_time; private String remark; - private String subjects; - private String type; - private String productFlag; + private Integer type; + private Integer productFlag; @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; private String token; diff --git a/src/main/java/com/example/demo/domain/entity/Rate.java b/src/main/java/com/example/demo/domain/entity/Rate.java index db8639f..a017257 100644 --- a/src/main/java/com/example/demo/domain/entity/Rate.java +++ b/src/main/java/com/example/demo/domain/entity/Rate.java @@ -5,25 +5,28 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; @Data @NoArgsConstructor -public class Rate { +public class Rate implements Serializable { + private static final long serialVersionUID = 1L; + private Integer rateId; - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date startTime; - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date endTime; private String currency; private BigDecimal exchangeRate; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date updateTime; private Integer adminId; @@ -32,5 +35,4 @@ public class Rate { private String token; private Integer updateId; private Integer status; - } diff --git a/src/main/java/com/example/demo/domain/entity/Recharge.java b/src/main/java/com/example/demo/domain/entity/Recharge.java index 91f79ef..f73c23a 100644 --- a/src/main/java/com/example/demo/domain/entity/Recharge.java +++ b/src/main/java/com/example/demo/domain/entity/Recharge.java @@ -1,17 +1,22 @@ package com.example.demo.domain.entity; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; @Data @NoArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +public class Recharge implements Serializable { + private static final long serialVersionUID = 1L; -public class Recharge { + private String Rate; private Integer rechargeId; private String jwcode; private Integer activityId; @@ -27,7 +32,7 @@ public class Recharge { private String rechargeRatio; private String remark; private Integer flag; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; private Date startDate; @@ -35,13 +40,12 @@ public class Recharge { private String orderCode; private String token; private Integer rateId; - private Integer line; + private Integer line; private String showInput; private String imageUrl; - private String rate; private String isInputInvalid; private String inputErrorMessage; - + private String adminName; } diff --git a/src/main/java/com/example/demo/domain/entity/User.java b/src/main/java/com/example/demo/domain/entity/User.java index 656af3c..f99293f 100644 --- a/src/main/java/com/example/demo/domain/entity/User.java +++ b/src/main/java/com/example/demo/domain/entity/User.java @@ -5,12 +5,15 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; @Data @NoArgsConstructor -public class User { +public class User implements Serializable { + private static final long serialVersionUID = 1L; + private Integer userId; private String name; private String jwcode; @@ -22,7 +25,7 @@ public class User { private Date birthday; private String head; private Integer UserFlag; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; private String signature; diff --git a/src/main/java/com/example/demo/domain/entity/UserDetailExport.java b/src/main/java/com/example/demo/domain/entity/UserDetailExport.java index 1dbd484..cf8c5e9 100644 --- a/src/main/java/com/example/demo/domain/entity/UserDetailExport.java +++ b/src/main/java/com/example/demo/domain/entity/UserDetailExport.java @@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; @@ -26,13 +27,14 @@ public class UserDetailExport { private String area; @ExcelProperty("平台信息") @ColumnWidth(20) - private String platformInfo; + private String consumePlatform; @ExcelProperty("更新数量") @ColumnWidth(20) - private BigDecimal count; + private BigDecimal gold; @ExcelProperty("更新类型") @ColumnWidth(20) - private int update_type; + private Integer updateType; + @ExcelProperty("充值金币") @ColumnWidth(20) private BigDecimal rechargeCoin; @@ -45,7 +47,7 @@ public class UserDetailExport { @ExcelProperty("提交人") @ColumnWidth(20) private String createAdmin; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; } diff --git a/src/main/java/com/example/demo/domain/entity/UserGold.java b/src/main/java/com/example/demo/domain/entity/UserGold.java index 9293aa8..ab667f0 100644 --- a/src/main/java/com/example/demo/domain/entity/UserGold.java +++ b/src/main/java/com/example/demo/domain/entity/UserGold.java @@ -5,13 +5,16 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; @Data @NoArgsConstructor -public class UserGold { - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") +public class UserGold implements Serializable { + private static final long serialVersionUID = 1L; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private String jwcode; @@ -22,6 +25,7 @@ public class UserGold { private BigDecimal coreJb; private BigDecimal free6; private BigDecimal free12; + private Date addTime; private Date lastTime; private String token; } diff --git a/src/main/java/com/example/demo/domain/vo/ConsumeDetail.java b/src/main/java/com/example/demo/domain/vo/ConsumeDetail.java index e0766d9..dd0200a 100644 --- a/src/main/java/com/example/demo/domain/vo/ConsumeDetail.java +++ b/src/main/java/com/example/demo/domain/vo/ConsumeDetail.java @@ -5,12 +5,17 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; +import java.util.List; + @Data @NoArgsConstructor -public class ConsumeDetail { - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") +public class ConsumeDetail implements Serializable { + private static final long serialVersionUID = 1L; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Integer detailId; private String name; @@ -33,7 +38,7 @@ public class ConsumeDetail { private Integer status; private String updateType; private Integer detailFlag; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; private Integer adminId; @@ -47,4 +52,8 @@ public class ConsumeDetail { private String productName; private String username; + private String sortField; + private String sortOrder; + private List areas; + } diff --git a/src/main/java/com/example/demo/domain/vo/DetailExport.java b/src/main/java/com/example/demo/domain/vo/DetailExport.java index b78b1f3..d0ffca3 100644 --- a/src/main/java/com/example/demo/domain/vo/DetailExport.java +++ b/src/main/java/com/example/demo/domain/vo/DetailExport.java @@ -1,21 +1,32 @@ package com.example.demo.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; import java.util.Date; +import java.util.List; @Data -public class DetailExport { +@AllArgsConstructor +@NoArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +public class DetailExport implements Serializable { + private static final long serialVersionUID = 1L; + private Integer updateType; private String jwcode; private String token; private String area; - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private List areas; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date startDate; - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date endDate; diff --git a/src/main/java/com/example/demo/domain/vo/DetailVo.java b/src/main/java/com/example/demo/domain/vo/DetailVo.java index cdec47a..85454ed 100644 --- a/src/main/java/com/example/demo/domain/vo/DetailVo.java +++ b/src/main/java/com/example/demo/domain/vo/DetailVo.java @@ -4,13 +4,16 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.NoArgsConstructor; +import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; @Data @NoArgsConstructor -public class DetailVo { +public class DetailVo implements Serializable { + private static final long serialVersionUID = 1L; + private Integer detailId; private String name; private String jwcode; diff --git a/src/main/java/com/example/demo/domain/vo/DetailYVo.java b/src/main/java/com/example/demo/domain/vo/DetailYVo.java index 99d397b..8be7a06 100644 --- a/src/main/java/com/example/demo/domain/vo/DetailYVo.java +++ b/src/main/java/com/example/demo/domain/vo/DetailYVo.java @@ -4,11 +4,13 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.NoArgsConstructor; +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; @Data @NoArgsConstructor -public class DetailYVo { +public class DetailYVo implements Serializable { + private static final long serialVersionUID = 1L; private Integer detailYId; private String name; diff --git a/src/main/java/com/example/demo/domain/vo/DetailYgold.java b/src/main/java/com/example/demo/domain/vo/DetailYgold.java index 1181d1f..53b924c 100644 --- a/src/main/java/com/example/demo/domain/vo/DetailYgold.java +++ b/src/main/java/com/example/demo/domain/vo/DetailYgold.java @@ -3,10 +3,15 @@ package com.example.demo.domain.vo; import lombok.Data; import lombok.NoArgsConstructor; +import java.io.Serializable; import java.math.BigDecimal; +import java.util.List; + @Data @NoArgsConstructor -public class DetailYgold { +public class DetailYgold implements Serializable { + private static final long serialVersionUID = 1L; + private String name; private String area; private BigDecimal buyJb; @@ -16,4 +21,14 @@ public class DetailYgold { private String jwcode; private Integer Rcoin; private Integer Scoin; + + + private BigDecimal SumbuyJb; + private BigDecimal SumcoreJb; + private BigDecimal Sumfree12; + private BigDecimal Sumfree6; + + private String sortField; + private String sortOrder; + private List areas; } diff --git a/src/main/java/com/example/demo/domain/vo/ERP.java b/src/main/java/com/example/demo/domain/vo/ERP.java index 47c6e98..73a31d8 100644 --- a/src/main/java/com/example/demo/domain/vo/ERP.java +++ b/src/main/java/com/example/demo/domain/vo/ERP.java @@ -1,15 +1,20 @@ package com.example.demo.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.Data; import lombok.NoArgsConstructor; +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; @Data @NoArgsConstructor -public class ERP { +@JsonIgnoreProperties(ignoreUnknown = true) +public class ERP implements Serializable { + private static final long serialVersionUID = 1L; + private String jwcode; private BigDecimal taskJb; private BigDecimal freeJb; @@ -18,7 +23,7 @@ public class ERP { private String productName; private String reamrk; private String type; - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date createTime; private String consumePlatform; private String name; @@ -28,4 +33,7 @@ public class ERP { private Integer updateType; private String area; private String token; + + private Table table; + } diff --git a/src/main/java/com/example/demo/domain/vo/Meium.java b/src/main/java/com/example/demo/domain/vo/Meium.java index d295cc7..5b0479d 100644 --- a/src/main/java/com/example/demo/domain/vo/Meium.java +++ b/src/main/java/com/example/demo/domain/vo/Meium.java @@ -18,8 +18,8 @@ import java.util.Map; @Data @NoArgsConstructor - public class Meium implements Serializable { + private static final long serialVersionUID = 1L; //中间-11个月 每月充值金币 private BigDecimal rechargeSumCoin; //中间-11个月 每月免费金币 @@ -28,7 +28,7 @@ public class Meium implements Serializable { private BigDecimal taskSumCoin; private String area; private String store; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private BigDecimal totalRechargeSum; private Date searchStartTime; @@ -42,6 +42,9 @@ public class Meium implements Serializable { private String day; + private String sortField; + private String sortOrder; + @JsonAnySetter public void setAdditionalProperty(String name, Object value) { this.additionalProperties.put(name, value); diff --git a/src/main/java/com/example/demo/domain/vo/Page.java b/src/main/java/com/example/demo/domain/vo/Page.java index 47cafd7..8520962 100644 --- a/src/main/java/com/example/demo/domain/vo/Page.java +++ b/src/main/java/com/example/demo/domain/vo/Page.java @@ -1,6 +1,9 @@ package com.example.demo.domain.vo; +import com.example.demo.domain.dou.Pay; +import com.example.demo.domain.dou.Spend; +import com.example.demo.domain.dou.Yve; import com.example.demo.domain.entity.*; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.Data; @@ -13,6 +16,7 @@ import java.io.Serializable; @NoArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) public class Page implements Serializable { + private static final long serialVersionUID = 1L; private Integer pageNum; private Integer pageSize; @@ -27,6 +31,9 @@ public class Page implements Serializable { private DetailY detailY; private DetailYVo detailYVo; private DetailYgold detailYgold; + private Yve yve; + private Pay pay; + private Spend spend; } diff --git a/src/main/java/com/example/demo/domain/vo/RechargeA.java b/src/main/java/com/example/demo/domain/vo/RechargeA.java new file mode 100644 index 0000000..b9bbde4 --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/RechargeA.java @@ -0,0 +1,37 @@ +package com.example.demo.domain.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class RechargeA implements Serializable { + private static final long serialVersionUID = 1L; + private Integer Raudit; + private BigDecimal SumRaudit; + private BigDecimal SumRaudit1; + private BigDecimal SumRaudit2; + + private String flag; + + private List flags; + private String token; + + private String jwcode; + private String activityId; + private Integer adminId; + private Date startDate; + private Date endDate; + private String payWay; + private String rechargeWay; + private String area; + private String auditStatus; + private List areas; +} diff --git a/src/main/java/com/example/demo/domain/vo/RechargeVo.java b/src/main/java/com/example/demo/domain/vo/RechargeVo.java index 8e361fa..1acfa64 100644 --- a/src/main/java/com/example/demo/domain/vo/RechargeVo.java +++ b/src/main/java/com/example/demo/domain/vo/RechargeVo.java @@ -5,11 +5,16 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; // 引入 Serializable import java.math.BigDecimal; import java.util.Date; +import java.util.List; + @Data @NoArgsConstructor -public class RechargeVo { +public class RechargeVo implements Serializable { // 实现 Serializable 接口 + + private static final long serialVersionUID = 1L; // 添加 serialVersionUID private Integer rechargeId; private String jwcode; @@ -23,11 +28,10 @@ public class RechargeVo { private String rechargeVoucher; private Integer adminId; private String area; - - private String remark; private Integer flag; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; private Date startDate; @@ -43,4 +47,13 @@ public class RechargeVo { private Integer detailId; private String orderCode; -} \ No newline at end of file + private String adminName; + + private String sortField; + private String sortOrder; + + private List areas; // List 类型默认是可序列化的 + + // 如果有任何不需要序列化的字段,可以使用 transient 关键字 + // private transient SomeNonSerializableType nonSerializableField; +} diff --git a/src/main/java/com/example/demo/domain/vo/RefundA.java b/src/main/java/com/example/demo/domain/vo/RefundA.java new file mode 100644 index 0000000..3d18d5f --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/RefundA.java @@ -0,0 +1,45 @@ +package com.example.demo.domain.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class RefundA implements Serializable { + private static final long serialVersionUID = 1L; + private Integer Raudit; + private BigDecimal SumRaudit; + private BigDecimal SumRaudit1; + private BigDecimal SumRaudit2; + private BigDecimal SumRaudit3; + + + private String flag; + + private List flags; + private String token; + + private String jwcode; + private String activityId; + private Integer adminId; + private Date startDate; + private Date endDate; + private String payWay; + private String rechargeWay; + private String area; + private String status; + private String refundType; + private String refundGoods; + + private String category; + private BigDecimal amount; + private List areas; + +} diff --git a/src/main/java/com/example/demo/domain/vo/Result.java b/src/main/java/com/example/demo/domain/vo/Result.java index 7ca93f6..d0cdd77 100644 --- a/src/main/java/com/example/demo/domain/vo/Result.java +++ b/src/main/java/com/example/demo/domain/vo/Result.java @@ -6,10 +6,13 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import java.io.Serializable; + @Data @NoArgsConstructor @AllArgsConstructor -public class Result { +public class Result implements Serializable { + private static final long serialVersionUID = 1L; private Integer code; private String msg; private Object data; diff --git a/src/main/java/com/example/demo/domain/vo/Statistics.java b/src/main/java/com/example/demo/domain/vo/Statistics.java index 165b0bc..8b311db 100644 --- a/src/main/java/com/example/demo/domain/vo/Statistics.java +++ b/src/main/java/com/example/demo/domain/vo/Statistics.java @@ -4,13 +4,15 @@ import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; import lombok.NoArgsConstructor; +import java.io.Serializable; import java.math.BigDecimal; @Data @NoArgsConstructor -public class Statistics { +public class Statistics implements Serializable { + private static final long serialVersionUID = 1L; private BigDecimal rechargeSumCoin; private BigDecimal free6SumCoin; private BigDecimal free12SumCoin; 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/domain/vo/SumCoin.java b/src/main/java/com/example/demo/domain/vo/SumCoin.java index 592c6f4..a3f3a9f 100644 --- a/src/main/java/com/example/demo/domain/vo/SumCoin.java +++ b/src/main/java/com/example/demo/domain/vo/SumCoin.java @@ -6,15 +6,19 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Date; +import java.util.List; @Data @NoArgsConstructor -public class SumCoin { +public class SumCoin implements Serializable { + private static final long serialVersionUID = 1L; + private List areas; //当前金币余量 充值金币 private BigDecimal todayRecharge; @@ -58,11 +62,11 @@ public class SumCoin { private BigDecimal yearSumFreeCoin; //全年累计消耗金币数--下面 消耗任务金币 private BigDecimal yearSumTaskCoin; - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date searchStartTime; - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date searchEndTime; private Integer updateType; @@ -89,4 +93,7 @@ public class SumCoin { private BigDecimal totalTask; private String token; +// 识别年 + private Integer year; + } diff --git a/src/main/java/com/example/demo/domain/vo/SumConsume.java b/src/main/java/com/example/demo/domain/vo/SumConsume.java new file mode 100644 index 0000000..69d1db2 --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/SumConsume.java @@ -0,0 +1,30 @@ +package com.example.demo.domain.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class SumConsume implements Serializable { + private static final long serialVersionUID = 1L; + private BigDecimal Sumcion; + private BigDecimal SumRcion; + private BigDecimal SumFcion; + private BigDecimal SumTcion; + private String jwcode; + private String consumePlatform; + private String consumeType; + private String productName; + private Date startDate; + private Date endDate; + private String token; + private String area; + private List areas; +} diff --git a/src/main/java/com/example/demo/domain/vo/SumDetailY.java b/src/main/java/com/example/demo/domain/vo/SumDetailY.java new file mode 100644 index 0000000..0604b89 --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/SumDetailY.java @@ -0,0 +1,30 @@ +package com.example.demo.domain.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class SumDetailY implements Serializable { + private static final long serialVersionUID = 1L; + private BigDecimal sumR; + private BigDecimal sumT; + private BigDecimal sumF; + private List updateTypes; + private String token; + private Date startDate; + private Date endDate; + private String area; + private String jwcode; + private Integer updateType; + private String consumePlatform; + private String types; + private List areas; +} diff --git a/src/main/java/com/example/demo/domain/vo/Table.java b/src/main/java/com/example/demo/domain/vo/Table.java new file mode 100644 index 0000000..fd5d9b0 --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/Table.java @@ -0,0 +1,33 @@ +package com.example.demo.domain.vo; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@NoArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +public class Table implements Serializable { + private static final long serialVersionUID = 1L; + private Long id; + private String uid; + private BigDecimal gold_last; + private Integer gtype; + private String jwcode; + private BigDecimal free; + private BigDecimal core_jb; + private BigDecimal buy_jb; + private String cz_time; + private String cz_user; + private String cz_bz; + private Integer flag; + private Integer operation_type; + private Integer operation_platform; + private Integer operation_type_id; + private String goods_name; + + // Getters and setters +} diff --git a/src/main/java/com/example/demo/domain/vo/UserConsumeCoin.java b/src/main/java/com/example/demo/domain/vo/UserConsumeCoin.java index 7e65d9f..1f9a237 100644 --- a/src/main/java/com/example/demo/domain/vo/UserConsumeCoin.java +++ b/src/main/java/com/example/demo/domain/vo/UserConsumeCoin.java @@ -5,12 +5,14 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.apache.ibatis.annotations.Param; +import java.io.Serializable; import java.math.BigDecimal; @Data @NoArgsConstructor -public class UserConsumeCoin { +public class UserConsumeCoin implements Serializable { + private static final long serialVersionUID = 1L; private String jwcode; private BigDecimal free6; diff --git a/src/main/java/com/example/demo/domain/vo/UserVo.java b/src/main/java/com/example/demo/domain/vo/UserVo.java index 18c8f5a..788c4b5 100644 --- a/src/main/java/com/example/demo/domain/vo/UserVo.java +++ b/src/main/java/com/example/demo/domain/vo/UserVo.java @@ -5,13 +5,15 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; @Data @NoArgsConstructor -public class UserVo { - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") +public class UserVo implements Serializable { + private static final long serialVersionUID = 1L; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd") private String jwcode; private String name; diff --git a/src/main/java/com/example/demo/domain/work/One.java b/src/main/java/com/example/demo/domain/work/One.java new file mode 100644 index 0000000..624cc35 --- /dev/null +++ b/src/main/java/com/example/demo/domain/work/One.java @@ -0,0 +1,24 @@ +package com.example.demo.domain.work; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class One implements Serializable { + private static final long serialVersionUID = 1L; + private String token ; + private BigDecimal sumgold ; + private BigDecimal differr ; + private BigDecimal rechargegold ; + private BigDecimal freegold ; + private BigDecimal taskgold ; + private BigDecimal sfreegold; + private BigDecimal dfreegold; + +} diff --git a/src/main/java/com/example/demo/domain/work/Three.java b/src/main/java/com/example/demo/domain/work/Three.java new file mode 100644 index 0000000..95972af --- /dev/null +++ b/src/main/java/com/example/demo/domain/work/Three.java @@ -0,0 +1,24 @@ +package com.example.demo.domain.work; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Three implements Serializable { + private static final long serialVersionUID = 1L; + private BigDecimal consumeCoin; + private BigDecimal consumeGold; + private BigDecimal refundCoin; + private BigDecimal yesterdayCoin; + private BigDecimal yesterdayGold; + private BigDecimal yesterdayrefund; + private BigDecimal rechargegold ; + private BigDecimal freegold ; + private BigDecimal taskgold ; +} diff --git a/src/main/java/com/example/demo/domain/work/Two.java b/src/main/java/com/example/demo/domain/work/Two.java new file mode 100644 index 0000000..2de5581 --- /dev/null +++ b/src/main/java/com/example/demo/domain/work/Two.java @@ -0,0 +1,22 @@ +package com.example.demo.domain.work; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Two implements Serializable { + private static final long serialVersionUID = 1L; + private BigDecimal totalgold; + private BigDecimal totalcoin; + private BigDecimal yesterdaytotal; + private BigDecimal yesterdayrecharge; + private BigDecimal rechargegold ; + private BigDecimal freegold ; + private BigDecimal taskgold ; +} diff --git a/src/main/java/com/example/demo/mapper/AdminMapper.java b/src/main/java/com/example/demo/mapper/AdminMapper.java index a443c2f..45ba51c 100644 --- a/src/main/java/com/example/demo/mapper/AdminMapper.java +++ b/src/main/java/com/example/demo/mapper/AdminMapper.java @@ -11,9 +11,9 @@ import java.util.List; public interface AdminMapper { @Insert({ "insert into admin", - "(name,jwcode,password,permission,area,admin_flag,create_time)", + "(name,jwcode,password,permission,area,store,admin_flag,create_time,remark,status1,machineId)", "values", - "(#{name},#{jwcode},,#{password},#{permission},#{area},#{admin_flag},now())" + "(#{name},#{jwcode},#{password},#{permission},#{area},#{store},#{adminFlag},now(),#{remark},#{status1},#{machineId})" }) @Options(useGeneratedKeys = true,keyColumn = "admin_id",keyProperty = "adminId") int insert(Admin admin); @@ -23,12 +23,14 @@ public interface AdminMapper { "UPDATE admin", "", "name =#{name},", - "jwcode =#{jwcode},", "password =#{password},", "permission =#{permission},", "area =#{area},", - "admin_flag =#{adminFlag},", + "admin_flag =#{adminFlag},", + "status1 =#{status1},", + "remark =#{remark},", "", + "where jwcode =#{jwcode}", "" }) int update(Admin admin); @@ -46,13 +48,43 @@ public interface AdminMapper { "" }) List select(Admin admin); + + @Select({ + "select DISTINCT store from admin" + }) + List selectStore(); + @Select({ + "select DISTINCT area from admin" + }) + List selectArea(); + + @Select({ +// "" - }) +// @Select({ +// "" +// }) List select(ConsumeDetail consumeDetail); //查询消费信息 @Select({ - "select * ,product.name as productName from detail_y " , - "inner join product on detail_y.product_id= product.product_id ", + "select * from detail_y " , +// "inner join product on detail_y.product_id= product.product_id ", "where `detail_flag`=1 AND update_type = '1' and jwcode=#{jwcode} AND refund_flag=1" }) - List getDeatil(Integer jwcode); + List getDeatil(String jwcode); //查询消费信息 @@ -83,4 +98,5 @@ public interface ConsumeMapper { + } diff --git a/src/main/java/com/example/demo/mapper/DetailYMapper.java b/src/main/java/com/example/demo/mapper/DetailYMapper.java index d3354c6..e06e0cc 100644 --- a/src/main/java/com/example/demo/mapper/DetailYMapper.java +++ b/src/main/java/com/example/demo/mapper/DetailYMapper.java @@ -4,12 +4,22 @@ import com.example.demo.domain.entity.DetailY; import com.example.demo.domain.entity.UserDetailExport; import com.example.demo.domain.vo.DetailYgold; import com.example.demo.domain.vo.DetailExport; +import com.example.demo.domain.vo.SumDetailY; import org.apache.ibatis.annotations.*; import java.util.List; @Mapper public interface DetailYMapper { + + + DetailYgold getgold(DetailYgold detailYgold); + List getDetailY(SumDetailY sumDetailY); + List getarea(); + + + + @Insert({ // "insert into detail_y", // "(jwcode,order_code,activity_id,recharge_way,product_id,consume_platform,consume_type,refund_type,refund_goods,name,username,area" + @@ -19,9 +29,9 @@ public interface DetailYMapper { // ",#{refundGoods},#{name},#{username},#{area},#{contactId},#{remark},#{rechargeCoin}" + // ",#{freeCoin},#{taskCoin},#{adminId},#{updateType},1,now(),#{firstRecharge})" "insert into detail_y \n" + - "(jwcode, order_code, activity_id, recharge_way, product_id, consume_platform, consume_type, refund_type, refund_goods, name, username, area, contact_id, remark, recharge_coin, free_coin, task_coin, admin_id, update_type, detail_flag, create_time, first_recharge,product_name)\n" + + "(jwcode, order_code, activity_id, recharge_way, product_id, consume_platform, consume_type, refund_type, refund_goods, name, username, area, contact_id, remark, recharge_coin, free_coin, task_coin, admin_id, update_type, detail_flag, create_time, first_recharge,product_name,gtype,uid,gold_last)\n" + "values \n" + - "(#{jwcode}, #{orderCode}, #{activityId}, #{rechargeWay}, #{productId}, #{consumePlatform}, #{consumeType}, #{refundType}, #{refundGoods}, #{name}, #{username}, #{area}, #{contactId}, #{remark}, #{rechargeCoin}, #{freeCoin}, #{taskCoin}, #{adminId}, #{updateType}, 1, now(), #{firstRecharge},#{productName})" + "(#{jwcode}, #{orderCode}, #{activityId}, #{rechargeWay}, #{productId}, #{consumePlatform}, #{consumeType}, #{refundType}, #{refundGoods},#{name}, #{username}, #{area}, #{contactId}, #{remark}, #{rechargeCoin}, #{freeCoin}, #{taskCoin}, #{adminId}, #{updateType}, 1, #{createTime}, #{firstRecharge},#{productName},#{gtype},#{uid},#{gold_last})" }) @Options(useGeneratedKeys = true,keyColumn = "detaily_id",keyProperty = "detailyId") int add(DetailY detaily); @@ -30,69 +40,92 @@ public interface DetailYMapper { }) DetailY selectByDetailyId(Integer detaily_id); - @Select({ - "" - - }) +// @Select({ +// "" +// +// }) List selectgold(DetailYgold detailYgold); - @Select({ - "" - - }) +// @Select({ +// "" +// +// }) List select(DetailY detailY); + List select1(DetailY detailY); - @Select({ - "" - }) + +// @Select({ +// "" +// }) DetailY getCount(DetailY detailY); //导出数据的SQL @@ -110,19 +143,20 @@ public interface DetailYMapper { @Select("SELECT COUNT(*) FROM detail_y") int getTotalCount(); - @Select({ - "" - }) +// @Select({ +// "" +// }) List searchAll(DetailExport detailExport); } diff --git a/src/main/java/com/example/demo/mapper/OneMapper.java b/src/main/java/com/example/demo/mapper/OneMapper.java new file mode 100644 index 0000000..001d78e --- /dev/null +++ b/src/main/java/com/example/demo/mapper/OneMapper.java @@ -0,0 +1,16 @@ +package com.example.demo.mapper; + + +import com.example.demo.domain.work.One; +import com.example.demo.domain.work.Three; +import com.example.demo.domain.work.Two; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface OneMapper { + One getOne(List areas) throws Exception; + Two getTwo(List areas) throws Exception; + Three getThree(List areas) throws Exception; +} diff --git a/src/main/java/com/example/demo/mapper/PermissionMapper.java b/src/main/java/com/example/demo/mapper/PermissionMapper.java new file mode 100644 index 0000000..6407a6d --- /dev/null +++ b/src/main/java/com/example/demo/mapper/PermissionMapper.java @@ -0,0 +1,15 @@ +package com.example.demo.mapper; + +import com.example.demo.domain.entity.Permission; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface PermissionMapper { + @Select({ + "select * from permission" + }) + List getPermission(); +} diff --git a/src/main/java/com/example/demo/mapper/ProductMapper.java b/src/main/java/com/example/demo/mapper/ProductMapper.java index e66b1f8..521e478 100644 --- a/src/main/java/com/example/demo/mapper/ProductMapper.java +++ b/src/main/java/com/example/demo/mapper/ProductMapper.java @@ -1,6 +1,7 @@ package com.example.demo.mapper; +import com.example.demo.domain.entity.Index; import com.example.demo.domain.entity.Product; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; @@ -9,6 +10,11 @@ import java.util.List; @Mapper public interface ProductMapper { + + List findIndex(Index index); + + int add(Product product); + @Select({ "select * from product" }) diff --git a/src/main/java/com/example/demo/mapper/RechargeMapper.java b/src/main/java/com/example/demo/mapper/RechargeMapper.java index 7279517..3817e5c 100644 --- a/src/main/java/com/example/demo/mapper/RechargeMapper.java +++ b/src/main/java/com/example/demo/mapper/RechargeMapper.java @@ -2,6 +2,7 @@ package com.example.demo.mapper; import com.example.demo.domain.entity.Recharge; +import com.example.demo.domain.vo.RechargeA; import com.example.demo.domain.vo.RechargeVo; import org.apache.ibatis.annotations.*; @@ -10,17 +11,30 @@ import java.util.List; @Mapper public interface RechargeMapper { + List getRechargeA(RechargeA rechargeA); + List getWay(); + @Insert({ "INSERT INTO recharge", - "(jwcode,order_code,activity_id,paid_gold,free_gold,recharge_gold,pay_way,recharge_way,recharge_time,recharge_voucher,admin_id,remark,flag)", + "(jwcode,order_code,activity_id,paid_gold,free_gold,recharge_gold,pay_way,recharge_way,recharge_time,recharge_voucher,admin_id,remark,flag,admin_name)", "values ", - "(#{jwcode},#{orderCode},#{activityId},#{paidGold},#{freeGold},#{rechargeGold},#{payWay},#{rechargeWay},#{rechargeTime},#{rechargeVoucher},#{adminId},#{remark},1)" + "(#{jwcode},#{orderCode},#{activityId},#{paidGold},#{freeGold},#{rechargeGold},#{payWay},#{rechargeWay},#{rechargeTime},#{rechargeVoucher},#{adminId},#{remark},1,#{adminName})" }) @Options(useGeneratedKeys = true,keyColumn = "recharge_id",keyProperty = "rechargeId") int insert(Recharge recharge); @Insert({ + "INSERT INTO recharge", + "(jwcode,order_code,activity_id,paid_gold,free_gold,recharge_gold,pay_way,recharge_way,recharge_time,recharge_voucher,admin_id,remark,flag,admin_name)", + "values ", + "(#{jwcode},#{orderCode},#{activityId},#{paidGold}*100,#{freeGold}*100,#{rechargeGold},#{payWay},#{rechargeWay},#{rechargeTime},#{rechargeVoucher},#{adminId},#{remark},1,#{adminName})" + }) + @Options(useGeneratedKeys = true,keyColumn = "recharge_id",keyProperty = "rechargeId") + int insert1(Recharge recharge); + + + @Insert({ "" }) int update(Recharge recharge); - @Select({ - "" - }) +// @Select({ +// "" +// }) List select(RechargeVo rechargeVo); //根据jwcode和充值类型判断有没有,有首充标识设为0,否者设为1 @Select({"select count(*) from detail", "where jwcode=#{jwcode} and update_type='0'"}) int getAllByjwAndup(String jwcode); + } diff --git a/src/main/java/com/example/demo/mapper/RefundMapper.java b/src/main/java/com/example/demo/mapper/RefundMapper.java index 7b20467..86e554f 100644 --- a/src/main/java/com/example/demo/mapper/RefundMapper.java +++ b/src/main/java/com/example/demo/mapper/RefundMapper.java @@ -2,7 +2,7 @@ package com.example.demo.mapper; import com.example.demo.domain.entity.Detail; -import com.example.demo.domain.entity.Detail; +import com.example.demo.domain.vo.RefundA; import org.apache.ibatis.annotations.*; import java.util.List; @@ -10,6 +10,8 @@ import java.util.List; @Mapper public interface RefundMapper { + List getRefundA(RefundA refundA); + @Insert({ "insert into detail", "(jwcode,refund_type,refund_goods,contact_id,recharge_coin,free_coin,task_coin,remark,admin_id,create_time,update_type,order_code)", @@ -21,9 +23,9 @@ public interface RefundMapper { @Insert({ "insert into detail_y", - "(jwcode,refund_type,refund_goods,contact_id,recharge_coin,free_coin,task_coin,remark,admin_id,create_time,update_type,order_code,area,username,name,consume_platform)", + "(jwcode,refund_type,refund_goods,contact_id,recharge_coin,free_coin,task_coin,remark,admin_id,create_time,update_type,order_code,area,username,name,consume_platform,refund_flag)", "values", - "(#{jwcode},#{refundType},#{refundGoods},#{contactId},#{rechargeCoin},#{freeCoin},#{taskCoin},#{remark},#{adminId},now(),2,#{orderCode},#{area},#{username},#{name},'金币系统')" + "(#{jwcode},#{refundType},#{refundGoods},#{contactId},#{rechargeCoin},#{freeCoin},#{taskCoin},#{remark},#{adminId},now(),2,#{orderCode},#{area},#{username},#{name},'金币系统',0)" }) @Options(useGeneratedKeys = true, keyColumn = "detaily_id", keyProperty = "detailyId") int inserty(Detail detail); @@ -66,32 +68,42 @@ public interface RefundMapper { int update(@Param("detailId") Integer detailId); //退款成功,将detail表中的的记录退款状态改为已退款 - @Update("update detail set refund_flag = 0 where detail_id = #{contactId}") + @Update("update detail_y set refund_flag = 0 where detaily_id = #{contactId}") int updateOrderCode(Integer contactId); @Select("select * from detail where detail_id = #{detailId} and detail_flag = 1") Detail selectByDetailId(Integer detailId); - @Select({ - "" - }) - List select(Detail detail); +// @Select({ +// "" +// }) + List select(Detail detail); } diff --git a/src/main/java/com/example/demo/mapper/StatisticsMapper.java b/src/main/java/com/example/demo/mapper/StatisticsMapper.java index 4de49d0..47dfe52 100644 --- a/src/main/java/com/example/demo/mapper/StatisticsMapper.java +++ b/src/main/java/com/example/demo/mapper/StatisticsMapper.java @@ -10,31 +10,31 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; -import java.time.LocalDate; -import java.time.LocalDateTime; import java.util.Date; import java.util.List; @Mapper public interface StatisticsMapper { + + List getMeium(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); //全年累计金币数 - @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 " + + @Select("SELECT SUM(recharge_coin) / 100 AS rechargeSumCoin, " + + " SUM(free_coin) / 100 AS freeSumCoin, " + + " SUM(task_coin) / 100 AS taskSumCoin, " + + " (SUM(recharge_coin) + SUM(free_coin) + SUM(task_coin))/ 100 AS totalSumCoin " + "FROM `detail_y` " + "WHERE update_type = '0' " + " AND create_time >= CONCAT(YEAR(CURDATE()), '-01-01') " + " AND create_time < NOW()") Statistics getTotalYearCoin(); //免费金币分类 - @Select("SELECT SUM(free_6) AS free6SumCoin,SUM(free_12) AS free12SumCoin From user_gold") + @Select("SELECT SUM(free_6) / 100 AS free6SumCoin,SUM(free_12) / 100 AS free12SumCoin From user_gold") Statistics getFreeCoinTotal(); //昨日新增 - @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 " + + @Select("SELECT SUM(recharge_coin) / 100 AS rechargeYesterdaySumCoin, " + + " SUM(free_coin) / 100 AS freeYesterdaySumCoin, " + + " SUM(task_coin) / 100 AS taskYesterdaySumCoin, " + + " (SUM(recharge_coin) + SUM(free_coin) + SUM(task_coin))/ 100 AS totalYesterdaySumCoin " + "FROM `detail_y` " + "WHERE update_type = '0' " + " AND create_time >= CURDATE() - INTERVAL 1 DAY " + @@ -77,10 +77,10 @@ public interface StatisticsMapper { //金币系统1 @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 " + + " SUM(d.recharge_coin) / 100 AS rechargeCoinSystemSum, " + + " SUM(d.free_coin) / 100 AS freeCoinSystemSum, " + + " SUM(d.task_coin) / 100 AS taskCoinSystemSum, " + + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin))/ 100 AS totalCoinSystemSum " + "FROM detail_y d " + "JOIN product p ON d.product_id = p.product_id " + "WHERE d.update_type = '1' AND " + @@ -91,10 +91,10 @@ public interface StatisticsMapper { //ERP1 @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 " + + " SUM(d.recharge_coin) / 100 AS rechargeERPSum, " + + " SUM(d.free_coin) / 100 AS freeERPSum, " + + " SUM(d.task_coin) / 100 AS taskERPSum, " + + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin))/ 100 AS totalERPSum " + "FROM detail_y d " + "JOIN product p ON d.product_id = p.product_id " + "WHERE d.update_type = '1' AND " + @@ -104,10 +104,10 @@ public interface StatisticsMapper { // //HomilyChart1 @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 " + + " SUM(d.recharge_coin) / 100 AS rechargeHomilyChartSum, " + + " SUM(d.free_coin) / 100 AS freeHomilyChartSum, " + + " SUM(d.task_coin) / 100 AS taskHomilyChartSum, " + + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) / 100 AS totalHomilyChartSum " + "FROM detail_y d " + "JOIN product p ON d.product_id = p.product_id " + "WHERE d.update_type = '1' AND " + @@ -118,10 +118,10 @@ public interface StatisticsMapper { // //HomilyLink1 @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 " + + " SUM(d.recharge_coin) / 100 AS rechargeHomilyLinkSum, " + + " SUM(d.free_coin) / 100 AS freeHomilyLinkSum, " + + " SUM(d.task_coin) / 100 AS taskHomilyLinkSum, " + + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin) / 100) AS totalHomilyLinkSum " + "FROM detail_y d " + "JOIN product p ON d.product_id = p.product_id " + "WHERE d.update_type = '1' AND " + @@ -130,15 +130,15 @@ public interface StatisticsMapper { 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 ASHsterdayTask," , - "(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" , + @Select({"SELECT today.rechargeSumCoin / 100 AS todayRecharge," , + "yesterday.rechargeSumCoin / 100 AS yesterdayRecharge," , + "today.freeSumCoin / 100 AS todayFree,", + "yesterday.freeSumCoin / 100 AS yesterdayFree," , + "today.taskSumCoin / 100 AS todayTask," , + "yesterday.taskSumCoin / 100 AS HsterdayTask," , + "(today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) / 100 AS todayTotalCoin," , + "(yesterday.rechargeSumCoin + yesterday.freeSumCoin + yesterday.taskSumCoin) / 100 AS yesterdayTotalCoin," , + "((today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) -(yesterday.rechargeSumCoin + yesterday.freeSumCoin + yesterday.taskSumCoin)) / 100 AS coinDifference" , "FROM (SELECT SUM(recharge_coin) AS rechargeSumCoin, SUM(free_coin) AS freeSumCoin, SUM(task_coin) AS taskSumCoin FROM detail_y 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_y WHERE DATE(create_time) <= CURDATE() - INTERVAL 1 DAY) AS yesterday"}) SumCoin getSumCoin(); @@ -147,38 +147,37 @@ public interface StatisticsMapper { - @Select({"SELECT SUM(CASE WHEN update_type = '1' THEN recharge_coin ELSE 0 END) AS yearRecharge," , - "SUM(CASE WHEN update_type = '1' THEN free_coin ELSE 0 END) AS yearFree," + - " SUM(CASE WHEN update_type = '1' THEN task_coin ELSE 0 END) AS yearTask," + - " SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS yearConsumeCoin,", - " SUM(CASE WHEN update_type = '2' THEN recharge_coin ELSE 0 END) AS totalRechargeRefund," , - " SUM(CASE WHEN update_type = '2' THEN free_coin ELSE 0 END) AS totalFreeRefund," , - " SUM(CASE WHEN update_type = '2' THEN task_coin ELSE 0 END) AS totalTaskRefund," , - " SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS yearRefundCoin," , - " SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END)+SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS yearsumCoin,", - " SUM(CASE WHEN update_type IN ('1', '2') THEN recharge_coin ELSE 0 END) AS yearSumRechargeCoin,", - " SUM(CASE WHEN update_type IN ('1', '2') THEN free_coin ELSE 0 END) AS yearSumFreeCoin,", - " SUM(CASE WHEN update_type IN ('1', '2') THEN task_coin ELSE 0 END) AS yearSumTaskCoin", + @Select({"SELECT SUM(CASE WHEN update_type = '1' THEN recharge_coin ELSE 0 END) / 100 AS yearRecharge," , + "SUM(CASE WHEN update_type = '1' THEN free_coin ELSE 0 END) / 100 AS yearFree," + + " SUM(CASE WHEN update_type = '1' THEN task_coin ELSE 0 END) / 100 AS yearTask," + + " SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100 AS yearConsumeCoin,", + " SUM(CASE WHEN update_type = '2' THEN recharge_coin ELSE 0 END) / 100 AS totalRechargeRefund," , + " SUM(CASE WHEN update_type = '2' THEN free_coin ELSE 0 END) / 100 AS totalFreeRefund," , + " SUM(CASE WHEN update_type = '2' THEN task_coin ELSE 0 END) / 100 AS totalTaskRefund," , + " SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100 AS yearRefundCoin," , + " SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100+SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100 AS yearsumCoin,", + " SUM(CASE WHEN update_type IN ('1', '2') THEN recharge_coin ELSE 0 END) / 100 AS yearSumRechargeCoin,", + " SUM(CASE WHEN update_type IN ('1', '2') THEN free_coin ELSE 0 END) / 100 AS yearSumFreeCoin,", + " SUM(CASE WHEN update_type IN ('1', '2') THEN task_coin ELSE 0 END) / 100 AS yearSumTaskCoin", "FROM detail_y WHERE YEAR(create_time) = YEAR(CURRENT_DATE)" , " AND create_time <= NOW()"}) SumCoin getYearConsumeCoin(); @Select({ - "SELECT IFNULL(SUM(CASE WHEN update_type = '1' THEN recharge_coin ELSE 0 END), 0) AS todayRecharge,", - " IFNULL(SUM(CASE WHEN update_type = '1' THEN free_coin ELSE 0 END), 0) AS todayFree,", - " IFNULL(SUM(CASE WHEN update_type = '1' THEN task_coin ELSE 0 END), 0) AS todayTask,", - " IFNULL(SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END), 0) AS dayConsumeCoin,", - " IFNULL(SUM(CASE WHEN update_type = '2' THEN recharge_coin ELSE 0 END), 0) AS total_recharge_refund,", - " IFNULL(SUM(CASE WHEN update_type = '2' THEN free_coin ELSE 0 END), 0) AS total_free_refund,", - " IFNULL(SUM(CASE WHEN update_type = '2' THEN task_coin ELSE 0 END), 0) AS total_task_refund,", - " IFNULL(SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END), 0) AS dayRefundCoin,", - " IFNULL(SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END), 0) +", - " IFNULL(SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END), 0) AS daysumCoin", + "SELECT IFNULL(SUM(CASE WHEN update_type = '1' THEN recharge_coin ELSE 0 END) / 100, 0) AS todayRecharge,", + " IFNULL(SUM(CASE WHEN update_type = '1' THEN free_coin ELSE 0 END) / 100, 0) AS todayFree,", + " IFNULL(SUM(CASE WHEN update_type = '1' THEN task_coin ELSE 0 END) / 100, 0) AS todayTask,", + " IFNULL(SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100, 0) AS dayConsumeCoin,", + " IFNULL(SUM(CASE WHEN update_type = '2' THEN recharge_coin ELSE 0 END) / 100, 0) AS total_recharge_refund,", + " IFNULL(SUM(CASE WHEN update_type = '2' THEN free_coin ELSE 0 END) / 100, 0) AS total_free_refund,", + " IFNULL(SUM(CASE WHEN update_type = '2' THEN task_coin ELSE 0 END) / 100, 0) AS total_task_refund,", + " IFNULL(SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100, 0) AS dayRefundCoin,", + " IFNULL(SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100, 0) +", + " IFNULL(SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100, 0) AS daysumCoin", "FROM `detail_y` 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,", @@ -199,22 +198,22 @@ public interface StatisticsMapper { // }) - @Select({ - "" - }) +// @Select({ +// "" +// }) - List getMediuPayCoin(@Param("searchStartTime") Date StartTime, @Param("searchEndTime") Date searchEndTime); + List getMediuPayCoin(@Param("searchStartTime") Date StartTime, @Param("searchEndTime") Date searchEndTime, List areas); //本年--1 @@ -224,51 +223,51 @@ public interface StatisticsMapper { // "and datediff(create_time,#{searchEndTime})<=0 and update_type = '1'" + // "GROUP BY month ORDER BY month asc" // }) - @Select({ - "" - }) +// @Select({ +// "" +// }) - List getMediuConsumeCoin(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); + List getMediuConsumeCoin(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime, List areas); // 本月 ---0 - @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + - "from detail_y where datediff(create_time,#{searchStartTime})>=0 " + - "and datediff(create_time,#{searchEndTime})<=0 and update_type = 0 group by DATE_FORMAT(create_time,'%m-%d')" - }) - List getMediuPayCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); +// @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) / 100 AS rechargeSumCoin,sum(free_coin) / 100 as freeSumCoin ,sum(task_coin) / 100 as taskSumCoin " + +// "from detail_y where datediff(create_time,#{searchStartTime})>=0 " + +// "and datediff(create_time,#{searchEndTime})<=0 and update_type = 0 group by DATE_FORMAT(create_time,'%m-%d')" +// }) + List getMediuPayCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime, List areas); - @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + - "from detail_y where datediff(create_time,#{searchStartTime})>=0 " + - "and datediff(create_time,#{searchEndTime})<=0 and update_type = 1 group by DATE_FORMAT(create_time,'%m-%d')" - }) +// @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) / 100 AS rechargeSumCoin,sum(free_coin) / 100 as freeSumCoin ,sum(task_coin) / 100 as taskSumCoin " + +// "from detail_y where datediff(create_time,#{searchStartTime})>=0 " + +// "and datediff(create_time,#{searchEndTime})<=0 and update_type = 1 group by DATE_FORMAT(create_time,'%m-%d')" +// }) - List getMediuCounsumeCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); + List getMediuCounsumeCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime, List areas); - @Select({"SELECT DATE_FORMAT(create_time, '%Y-%m-%d') AS day,", - "IFNULL(SUM(recharge_coin), 0) AS rechargeSumCoin,", - "IFNULL(SUM(free_coin), 0) AS freeSumCoin,", - "IFNULL(SUM(task_coin), 0) AS taskSumCoin", - "FROM detail_y", - "WHERE DATE(create_time) = #{searchEndTime}", - "AND update_type = #{updateType}", - "GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d')" - }) - List getMediuPayCoinday(@Param("searchEndTime") Date searchEndTime, @Param("updateType") Integer updateType); +// @Select({"SELECT DATE_FORMAT(create_time, '%Y-%m-%d') AS day,", +// "IFNULL(SUM(recharge_coin) / 100, 0) AS rechargeSumCoin,", +// "IFNULL(SUM(free_coin) / 100, 0) AS freeSumCoin,", +// "IFNULL(SUM(task_coin) / 100, 0) AS taskSumCoin", +// "FROM detail_y", +// "WHERE DATE(create_time) = #{searchEndTime}", +// "AND update_type = #{updateType}", +// "GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d')" +// }) + List getMediuPayCoinday(@Param("searchEndTime") Date searchEndTime, @Param("updateType") Integer updateType, List areas); @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + @@ -276,21 +275,21 @@ public interface StatisticsMapper { }) List getMediuConsumeCoinday1(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); - @Select({ - "SELECT DATE_FORMAT(create_time, '%Y-%m-%d') AS day,", - "IFNULL(SUM(recharge_coin), 0) AS rechargeSumCoin,", - "IFNULL(SUM(free_coin), 0) AS freeSumCoin,", - "IFNULL(SUM(task_coin), 0) AS taskSumCoin", - "FROM detail_y", - "WHERE DATE(create_time) = #{searchEndTime}", - "AND update_type = #{updateType}", - "GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d')" - }) - List getMediuConsumeCoinday(@Param("searchEndTime") Date searchEndTime, @Param("updateType") Integer updateType); +// @Select({ +// "SELECT DATE_FORMAT(create_time, '%Y-%m-%d') AS day,", +// "IFNULL(SUM(recharge_coin) / 100, 0) AS rechargeSumCoin,", +// "IFNULL(SUM(free_coin) / 100, 0) AS freeSumCoin,", +// "IFNULL(SUM(task_coin) / 100, 0) AS taskSumCoin", +// "FROM detail_y", +// "WHERE DATE(create_time) = #{searchEndTime}", +// "AND update_type = #{updateType}", +// "GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d')" +// }) + List getMediuConsumeCoinday(@Param("searchEndTime") Date searchEndTime, @Param("updateType") Integer updateType, List areas); //给定时间段--10 - @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + + @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) / 100 AS rechargeSumCoin,sum(free_coin) / 100 as freeSumCoin ,sum(task_coin) / 100 as taskSumCoin " + "from detail_y where recharge_coin>0 and datediff(create_time,#{searchStartTime})>=0 " + "and datediff(create_time,#{searchEndTime})<=0 and update_type = '0' group by DATE_FORMAT(create_time,'%m-%d')" }) @@ -298,9 +297,9 @@ public interface StatisticsMapper { @Select({ "SELECT m.day,", - " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END), 0) AS rechargeSumCoin,", - " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END), 0) AS freeSumCoin,", - " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END), 0) AS taskSumCoin", + " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) / 100, 0) AS rechargeSumCoin,", + " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) / 100, 0) AS freeSumCoin,", + " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END) / 100, 0) AS taskSumCoin", "FROM (", " SELECT DATE_ADD(#{searchStartTime}, INTERVAL n DAY) AS day", " FROM (", @@ -321,20 +320,20 @@ public interface StatisticsMapper { @Select({"SELECT today.jwcode," , - "today.rechargeSumCoin AS todayRecharge," , - "today.freeSumCoin AS todayFree,", - "today.taskSumCoin AS todayTask," , - "(today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) AS todayTotalCoin" , + "today.rechargeSumCoin / 100 AS todayRecharge," , + "today.freeSumCoin / 100 AS todayFree,", + "today.taskSumCoin / 100 AS todayTask," , + "(today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) / 100 AS todayTotalCoin" , "FROM (SELECT jwcode, SUM(recharge_coin) AS rechargeSumCoin, SUM(free_coin) AS freeSumCoin, SUM(task_coin) AS taskSumCoin FROM detail_y WHERE create_time <= CURRENT_TIMESTAMP) AS today" , "where jwcode=#{jwcode}"}) SumCoin getMess(Integer jwcode); @Select({"SELECT u.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" , + " SUM(d.recharge_coin) / 100 AS totalRecharge," , + " SUM(d.free_coin) / 100 AS totalFree," , + " SUM(d.task_coin) / 100 AS totalTask," , + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin) / 100) AS todayTotalCoin" , "FROM detail_y d" , "INNER JOIN activity a ON d.activity_id = a.activity_id" , "INNER JOIN user u ON a.user_id = u.user_id" , @@ -347,11 +346,11 @@ public interface StatisticsMapper { List getMediumAreaPay(); - @Select({"SELECT u.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" , + @Select({"SELECT u.area, " , + " SUM(d.recharge_coin) / 100 AS totalRecharge," , + " SUM(d.free_coin) / 100 AS totalFree," , + " SUM(d.task_coin) / 100 AS totalTask," , + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin) / 100) AS todayTotalCoin" , "FROM detail_y d" , "INNER JOIN user u ON u.jwcode = d.jwcode", "WHERE d.update_type = '1'", @@ -368,9 +367,9 @@ public interface StatisticsMapper { @Select({ "SELECT m.week,", - " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END), 0) AS xrechargeSumCoin,", - " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END), 0) AS xfreeSumCoin,", - " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END), 0) AS xtaskSumCoin", + " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) / 100 0) AS xrechargeSumCoin,", + " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) / 100, 0) AS xfreeSumCoin,", + " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END) / 100, 0) AS xtaskSumCoin", "FROM (", " SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n WEEK), '%Y-%u') AS week", " FROM (", @@ -391,10 +390,10 @@ public interface StatisticsMapper { @Select({ "" }) @@ -463,10 +462,10 @@ public interface StatisticsMapper { @Select({ "" }) List getPay(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); - } diff --git a/src/main/java/com/example/demo/mapper/UserMapper.java b/src/main/java/com/example/demo/mapper/UserMapper.java index 58c0cef..182fda2 100644 --- a/src/main/java/com/example/demo/mapper/UserMapper.java +++ b/src/main/java/com/example/demo/mapper/UserMapper.java @@ -10,6 +10,10 @@ import java.util.List; @Mapper public interface UserMapper { + + int add(User user); + int addUserGold(UserGold userGold); + @Select({ "