Browse Source
Merge branch 'refs/heads/Huang' into dev
Merge branch 'refs/heads/Huang' into dev
# Conflicts: # src/main/java/com/example/demo/controller/ConsumeController.java # src/main/java/com/example/demo/controller/RechargeController.java # src/main/resources/application.ymldev
130 changed files with 4909 additions and 621 deletions
-
44pom.xml
-
9src/main/java/com/example/demo/DemoApplication.java
-
4src/main/java/com/example/demo/Util/BaseDES.java
-
100src/main/java/com/example/demo/Util/BaseDES2.java
-
107src/main/java/com/example/demo/Util/DESGB.java
-
227src/main/java/com/example/demo/Util/GoldTistV2.java
-
2src/main/java/com/example/demo/Util/JWTUtil.java
-
2src/main/java/com/example/demo/Util/RequestWrapper.java
-
33src/main/java/com/example/demo/config/CacheConfig.java
-
50src/main/java/com/example/demo/config/DBSrcArticle.java
-
62src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java
-
60src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java
-
46src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java
-
1src/main/java/com/example/demo/config/RedisConfig.java
-
17src/main/java/com/example/demo/config/WebClientConfig.java
-
1src/main/java/com/example/demo/config/WebConfig.java
-
43src/main/java/com/example/demo/config/dBSrcUser.java
-
2src/main/java/com/example/demo/controller/ActivityController.java
-
41src/main/java/com/example/demo/controller/AdminController.java
-
28src/main/java/com/example/demo/controller/AuditController.java
-
35src/main/java/com/example/demo/controller/ConsumeController.java
-
18src/main/java/com/example/demo/controller/DetailYController.java
-
117src/main/java/com/example/demo/controller/DouController.java
-
58src/main/java/com/example/demo/controller/OneController.java
-
24src/main/java/com/example/demo/controller/PermissionController.java
-
9src/main/java/com/example/demo/controller/ProductController.java
-
33src/main/java/com/example/demo/controller/RechargeController.java
-
9src/main/java/com/example/demo/controller/RefundController.java
-
2src/main/java/com/example/demo/controller/StatisticsController.java
-
13src/main/java/com/example/demo/controller/UserController.java
-
29src/main/java/com/example/demo/domain/dou/Balance.java
-
25src/main/java/com/example/demo/domain/dou/Member.java
-
44src/main/java/com/example/demo/domain/dou/Pay.java
-
30src/main/java/com/example/demo/domain/dou/RechargeTotal.java
-
26src/main/java/com/example/demo/domain/dou/Records.java
-
17src/main/java/com/example/demo/domain/dou/Searchinfo.java
-
41src/main/java/com/example/demo/domain/dou/Spend.java
-
37src/main/java/com/example/demo/domain/dou/SpendTotal.java
-
28src/main/java/com/example/demo/domain/dou/Total.java
-
28src/main/java/com/example/demo/domain/dou/Yve.java
-
17src/main/java/com/example/demo/domain/dou/YveTotal.java
-
7src/main/java/com/example/demo/domain/entity/Activity.java
-
126src/main/java/com/example/demo/domain/entity/Admin.java
-
12src/main/java/com/example/demo/domain/entity/Audit.java
-
8src/main/java/com/example/demo/domain/entity/Detail.java
-
19src/main/java/com/example/demo/domain/entity/DetailY.java
-
24src/main/java/com/example/demo/domain/entity/Index.java
-
14src/main/java/com/example/demo/domain/entity/Permission.java
-
12src/main/java/com/example/demo/domain/entity/Product.java
-
14src/main/java/com/example/demo/domain/entity/Rate.java
-
14src/main/java/com/example/demo/domain/entity/Recharge.java
-
7src/main/java/com/example/demo/domain/entity/User.java
-
10src/main/java/com/example/demo/domain/entity/UserDetailExport.java
-
8src/main/java/com/example/demo/domain/entity/UserGold.java
-
15src/main/java/com/example/demo/domain/vo/ConsumeDetail.java
-
17src/main/java/com/example/demo/domain/vo/DetailExport.java
-
5src/main/java/com/example/demo/domain/vo/DetailVo.java
-
4src/main/java/com/example/demo/domain/vo/DetailYVo.java
-
17src/main/java/com/example/demo/domain/vo/DetailYgold.java
-
12src/main/java/com/example/demo/domain/vo/ERP.java
-
7src/main/java/com/example/demo/domain/vo/Meium.java
-
7src/main/java/com/example/demo/domain/vo/Page.java
-
37src/main/java/com/example/demo/domain/vo/RechargeA.java
-
23src/main/java/com/example/demo/domain/vo/RechargeVo.java
-
45src/main/java/com/example/demo/domain/vo/RefundA.java
-
5src/main/java/com/example/demo/domain/vo/Result.java
-
4src/main/java/com/example/demo/domain/vo/Statistics.java
-
4src/main/java/com/example/demo/domain/vo/Statisticss.java
-
13src/main/java/com/example/demo/domain/vo/SumCoin.java
-
30src/main/java/com/example/demo/domain/vo/SumConsume.java
-
30src/main/java/com/example/demo/domain/vo/SumDetailY.java
-
33src/main/java/com/example/demo/domain/vo/Table.java
-
4src/main/java/com/example/demo/domain/vo/UserConsumeCoin.java
-
6src/main/java/com/example/demo/domain/vo/UserVo.java
-
24src/main/java/com/example/demo/domain/work/One.java
-
24src/main/java/com/example/demo/domain/work/Three.java
-
22src/main/java/com/example/demo/domain/work/Two.java
-
50src/main/java/com/example/demo/mapper/AdminMapper.java
-
62src/main/java/com/example/demo/mapper/ConsumeMapper.java
-
184src/main/java/com/example/demo/mapper/DetailYMapper.java
-
16src/main/java/com/example/demo/mapper/OneMapper.java
-
15src/main/java/com/example/demo/mapper/PermissionMapper.java
-
6src/main/java/com/example/demo/mapper/ProductMapper.java
-
77src/main/java/com/example/demo/mapper/RechargeMapper.java
-
62src/main/java/com/example/demo/mapper/RefundMapper.java
-
350src/main/java/com/example/demo/mapper/StatisticsMapper.java
-
19src/main/java/com/example/demo/mapper/UserMapper.java
-
23src/main/java/com/example/demo/mapperLink/DouMapper.java
-
16src/main/java/com/example/demo/mapperPay/PayMapper.java
-
2src/main/java/com/example/demo/security/SecurityConfig.java
-
3src/main/java/com/example/demo/security/TokenFilter.java
-
44src/main/java/com/example/demo/security/UploadFilter.java
-
1src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java
-
60src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java
-
21src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java
-
52src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
-
1src/main/java/com/example/demo/serviceImpl/DetailServiceImpl.java
-
34src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java
-
193src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java
-
31src/main/java/com/example/demo/serviceImpl/OneServiceImpl.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(); |
|||
} |
|||
} |
|||
} |
@ -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(); |
|||
} |
|||
} |
|||
} |
@ -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/"; |
|||
|
|||
|
|||
/** |
|||
* <pre> |
|||
* 发送不带参数的GET的HTTP请求 |
|||
* </pre> |
|||
* |
|||
* @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<String> paramList = new ArrayList<String>(); |
|||
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"); |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
} |
@ -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(); |
|||
} |
|||
} |
@ -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); |
|||
// } |
|||
//} |
@ -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(); |
|||
} |
|||
} |
@ -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(); |
|||
} |
|||
|
|||
} |
@ -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(); |
|||
} |
|||
|
|||
} |
@ -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(); |
|||
} |
|||
} |
@ -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); |
|||
// } |
|||
//} |
@ -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)); |
|||
} |
|||
} |
@ -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<String> areas; |
|||
|
|||
// Getter和Setter方法 |
|||
public String getToken() { |
|||
return token; |
|||
} |
|||
|
|||
public void setToken(String token) { |
|||
this.token = token; |
|||
} |
|||
|
|||
public List<String> getAreas() { |
|||
return areas; |
|||
} |
|||
|
|||
public void setAreas(List<String> 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()); |
|||
} |
|||
} |
@ -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()); |
|||
} |
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
} |
@ -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 ; |
|||
|
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
} |
@ -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<Integer> 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<String> areas; |
|||
} |
@ -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<Integer> 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<String> areas; |
|||
|
|||
} |
@ -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<String> areas; |
|||
} |
@ -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<Integer> 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<String> areas; |
|||
} |
@ -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 |
|||
} |
@ -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; |
|||
|
|||
} |
@ -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 ; |
|||
} |
@ -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 ; |
|||
} |
@ -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<String> areas) throws Exception; |
|||
Two getTwo(List<String> areas) throws Exception; |
|||
Three getThree(List<String> areas) throws Exception; |
|||
} |
@ -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<Permission> getPermission(); |
|||
} |
@ -0,0 +1,23 @@ |
|||
package com.example.demo.mapperLink; |
|||
|
|||
import com.example.demo.domain.dou.*; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Mapper |
|||
public interface DouMapper { |
|||
int add(Records Records); |
|||
Member searchinfo(Searchinfo jwcode); |
|||
Integer searchId(@Param("jwcode")String jwcode); |
|||
List<Yve> getYve(Yve yve); |
|||
YveTotal getYveTotal(YveTotal yveTotal); |
|||
List<String> getIp(); |
|||
List<Spend> getSpend(Spend spend); |
|||
Integer getSpendTotal(SpendTotal spendTotal); |
|||
List<Pay> getPay(Pay pay); |
|||
List<String> getPayIp(); |
|||
Total getTotal(Total total); |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.example.demo.mapperPay; |
|||
|
|||
import com.example.demo.domain.dou.Pay; |
|||
import com.example.demo.domain.dou.RechargeTotal; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Mapper |
|||
public interface PayMapper { |
|||
List<Pay> getPay(Pay pay); |
|||
List<String> getPayIp(); |
|||
List<String> getStyle(); |
|||
RechargeTotal getRechargeTotal(RechargeTotal rechargeTotal); |
|||
|
|||
} |
@ -0,0 +1,44 @@ |
|||
package com.example.demo.security; |
|||
|
|||
import jakarta.servlet.FilterChain; |
|||
import jakarta.servlet.ServletException; |
|||
import jakarta.servlet.http.HttpServletRequest; |
|||
import jakarta.servlet.http.HttpServletResponse; |
|||
import org.springframework.core.annotation.Order; |
|||
import org.springframework.stereotype.Component; |
|||
import org.springframework.web.filter.OncePerRequestFilter; |
|||
import org.springframework.web.multipart.MultipartResolver; |
|||
|
|||
import java.io.IOException; |
|||
|
|||
|
|||
@Component |
|||
public class UploadFilter extends OncePerRequestFilter { |
|||
|
|||
private final MultipartResolver multipartResolver; |
|||
|
|||
public UploadFilter(MultipartResolver multipartResolver) { |
|||
this.multipartResolver = multipartResolver; |
|||
} |
|||
|
|||
@Override |
|||
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) |
|||
throws ServletException, IOException { |
|||
|
|||
// 检查请求是否为上传请求,这里假设上传请求的路径以 "/upload" 开头 |
|||
boolean isUploadRequest = request.getRequestURI().startsWith("/upload"); |
|||
System.out.println(isUploadRequest); |
|||
System.out.println("MultipartResolver: " + multipartResolver); |
|||
if (isUploadRequest ) { |
|||
System.out.println("执行upload-------------------------------"); |
|||
// 如果是上传请求且Content-Type为multipart/form-data,直接将请求传递给下一个过滤器或目标资源 |
|||
filterChain.doFilter(request, response); |
|||
} else { |
|||
// 如果不是上传请求,执行一些自定义逻辑 |
|||
// 例如,可以在这里添加令牌验证或其他安全检查 |
|||
|
|||
// 继续执行过滤器链 |
|||
filterChain.doFilter(request, response); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,193 @@ |
|||
package com.example.demo.serviceImpl; |
|||
|
|||
import com.example.demo.Util.BaseDES; |
|||
import com.example.demo.Util.BaseDES2; |
|||
import com.example.demo.domain.dou.*; |
|||
import com.example.demo.domain.vo.RechargeVo; |
|||
import com.example.demo.mapperLink.DouMapper; |
|||
import com.example.demo.mapperPay.PayMapper; |
|||
import com.example.demo.sevice.DouService; |
|||
import com.github.pagehelper.PageHelper; |
|||
import com.github.pagehelper.PageInfo; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.cache.annotation.CacheConfig; |
|||
import org.springframework.http.ResponseEntity; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
import org.springframework.util.ObjectUtils; |
|||
import org.springframework.web.client.RestTemplate; |
|||
|
|||
import java.util.List; |
|||
import java.util.UUID; |
|||
|
|||
@Service |
|||
@Transactional |
|||
@RequiredArgsConstructor |
|||
@CacheConfig(cacheNames = "dou") |
|||
public class DouServiceImpl implements DouService { |
|||
private final DouMapper douMapper; |
|||
private final PayMapper payMapper; |
|||
private final RestTemplate restTemplate; |
|||
@Override |
|||
public int add(Records records) throws Exception { |
|||
Integer uid = douMapper.searchId(records.getJwcode()); |
|||
if(uid == null){ |
|||
throw new Exception("用户不存在"); |
|||
} |
|||
Integer moneyFree = records.getMoneyFree() != null ? records.getMoneyFree() : 0; |
|||
Integer moneyBuy = records.getMoneyBuy() != null ? records.getMoneyBuy() : 0; |
|||
|
|||
// 3. 构造请求 URL 和参数 |
|||
String baseUrl = "http://39.101.133.168:8828/hljw/api/user/gold"; |
|||
String jwcode1 = records.getJwcode(); |
|||
|
|||
BaseDES2 des = new BaseDES2(); |
|||
|
|||
String jwcode= des.encrypt(jwcode1); |
|||
|
|||
String op = ""; // 初始化操作类型 |
|||
String url = ""; // 初始化 URL |
|||
// 假设 jwcode 已经加密 |
|||
if(records.getData()==0){ |
|||
op = "recharge"; |
|||
} |
|||
else if(records.getData()==1){ |
|||
op = "cost"; |
|||
} |
|||
// 根据业务逻辑设置操作类型 |
|||
// 假设 records 中有 gold 字段 |
|||
String content = records.getContent(); // 假设 records 中有 content 字段 |
|||
if(moneyBuy!=0){ |
|||
UUID orderNo = UUID.randomUUID(); |
|||
Integer gold = moneyBuy; |
|||
url = baseUrl + "?jwcode=" + jwcode + "&op=" + op + "&gold=" + gold + "&content=" + content +"&order_no=" + orderNo; |
|||
} |
|||
if(moneyFree!=0){ |
|||
Integer gold = moneyFree; |
|||
url = baseUrl + "?jwcode=" + jwcode + "&op=" + op + "&gold=" + gold + "&content=" + content; |
|||
} |
|||
// 构造完整 URL |
|||
System.out.println(url); |
|||
|
|||
// 4. 调用接口 |
|||
ResponseEntity<String> response = restTemplate.getForEntity(url, String.class); |
|||
|
|||
// 5. 处理响应 |
|||
if (response.getStatusCode().is2xxSuccessful()) { |
|||
// 解析响应内容(假设返回 JSON) |
|||
String responseBody = response.getBody(); |
|||
// 进一步处理响应数据 |
|||
System.out.println("Response: " + responseBody); |
|||
} else { |
|||
throw new RuntimeException("接口调用失败,HTTP 状态码:" + response.getStatusCode()); |
|||
} |
|||
|
|||
// 返回结果(根据业务逻辑决定返回值) |
|||
return 1; // 示例返回值 |
|||
|
|||
|
|||
} |
|||
|
|||
@Override |
|||
public Member searchinfo(Searchinfo jwcode) throws Exception { |
|||
Integer uid = douMapper.searchId(jwcode.getJwcode()); |
|||
if(uid == null){ |
|||
throw new Exception("用户不存在"); |
|||
} |
|||
|
|||
return douMapper.searchinfo(jwcode); |
|||
} |
|||
|
|||
@Override |
|||
public List<Yve> getYve(Yve yve) { |
|||
return douMapper.getYve(yve); |
|||
} |
|||
|
|||
@Override |
|||
public YveTotal getYveTotal(YveTotal yveTotal) { |
|||
return douMapper.getYveTotal(yveTotal); |
|||
} |
|||
|
|||
@Override |
|||
public List<String> getIp() { |
|||
return douMapper.getIp(); |
|||
} |
|||
|
|||
@Override |
|||
public Object searchForPage(Integer pageNum, Integer pageSize, Yve yve) { |
|||
PageHelper.startPage(pageNum, pageSize); |
|||
List<Yve> list= douMapper.getYve(yve); |
|||
return new PageInfo<>(list); |
|||
} |
|||
|
|||
@Override |
|||
public List<String> getStyle() { |
|||
return payMapper.getStyle(); |
|||
} |
|||
|
|||
@Override |
|||
public List<String> getPayIp() { |
|||
return douMapper.getPayIp(); |
|||
} |
|||
|
|||
@Override |
|||
public List<Pay> getPay(Pay pay) { |
|||
return douMapper.getPay(pay); |
|||
} |
|||
|
|||
@Override |
|||
public Object searchPay(Integer pageNum, Integer pageSize, Pay pay) { |
|||
PageHelper.startPage(pageNum, pageSize); |
|||
List<Pay> list= douMapper.getPay(pay); |
|||
return new PageInfo<>(list); |
|||
} |
|||
|
|||
@Override |
|||
public List<Spend> getSpend(Spend spend) { |
|||
return douMapper.getSpend(spend); |
|||
} |
|||
|
|||
@Override |
|||
public Object searchSpend(Integer pageNum, Integer pageSize, Spend spend) { |
|||
PageHelper.startPage(pageNum, pageSize); |
|||
List<Spend> list= douMapper.getSpend(spend); |
|||
return new PageInfo<>(list); |
|||
} |
|||
|
|||
@Override |
|||
public Integer getSpendTotal(SpendTotal spendTotal) { |
|||
return douMapper.getSpendTotal(spendTotal); |
|||
} |
|||
|
|||
@Override |
|||
public RechargeTotal getRechargeTotal(RechargeTotal rechargeTotal) { |
|||
return payMapper.getRechargeTotal(rechargeTotal); |
|||
} |
|||
|
|||
@Override |
|||
public List<Pay> SearchPay(Pay pay) { |
|||
return payMapper.getPay(pay); |
|||
} |
|||
|
|||
@Override |
|||
public List<String> SearchStyle() { |
|||
return payMapper.getStyle(); |
|||
} |
|||
|
|||
@Override |
|||
public List<String> SearchPayIp() { |
|||
return payMapper.getPayIp(); |
|||
} |
|||
|
|||
@Override |
|||
public Object SearchPay(Integer pageNum, Integer pageSize, Pay pay) { |
|||
PageHelper.startPage(pageNum, pageSize); |
|||
List<Pay> list= payMapper.getPay(pay); |
|||
return new PageInfo<>(list); |
|||
} |
|||
|
|||
@Override |
|||
public Total getTotal(Total total) { |
|||
return douMapper.getTotal(total); |
|||
} |
|||
} |
@ -0,0 +1,31 @@ |
|||
package com.example.demo.serviceImpl; |
|||
|
|||
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.mapper.OneMapper; |
|||
import com.example.demo.sevice.OneService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Service |
|||
public class OneServiceImpl implements OneService { |
|||
@Autowired |
|||
private OneMapper oneMapper; |
|||
@Override |
|||
public One getOne(String token,List<String> areas) throws Exception { |
|||
return oneMapper.getOne(areas); |
|||
} |
|||
|
|||
@Override |
|||
public Two getTwo(String token,List<String> areas) throws Exception { |
|||
return oneMapper.getTwo(areas); |
|||
} |
|||
|
|||
@Override |
|||
public Three getThree(String token,List<String> areas) throws Exception { |
|||
return oneMapper.getThree(areas); |
|||
} |
|||
} |
Some files were not shown because too many files changed in this diff
Write
Preview
Loading…
Cancel
Save
Reference in new issue