金币系统后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

144 lines
4.6 KiB

  1. package com.example.demo.serviceImpl;
  2. import com.example.demo.Util.BaseDES;
  3. import com.example.demo.Util.BaseDES2;
  4. import com.example.demo.domain.dou.*;
  5. import com.example.demo.domain.vo.RechargeVo;
  6. import com.example.demo.mapperLink.DouMapper;
  7. import com.example.demo.mapperPay.PayMapper;
  8. import com.example.demo.sevice.DouService;
  9. import com.github.pagehelper.PageHelper;
  10. import com.github.pagehelper.PageInfo;
  11. import lombok.RequiredArgsConstructor;
  12. import org.springframework.cache.annotation.CacheConfig;
  13. import org.springframework.http.ResponseEntity;
  14. import org.springframework.stereotype.Service;
  15. import org.springframework.transaction.annotation.Transactional;
  16. import org.springframework.util.ObjectUtils;
  17. import org.springframework.web.client.RestTemplate;
  18. import java.util.List;
  19. import java.util.UUID;
  20. @Service
  21. @Transactional
  22. @RequiredArgsConstructor
  23. @CacheConfig(cacheNames = "dou")
  24. public class DouServiceImpl implements DouService {
  25. private final DouMapper douMapper;
  26. private final PayMapper payMapper;
  27. private final RestTemplate restTemplate;
  28. @Override
  29. public int add(Records records) throws Exception {
  30. Integer uid = douMapper.searchId(records.getJwcode());
  31. if(uid == null){
  32. throw new Exception("用户不存在");
  33. }
  34. Integer moneyFree = records.getMoneyFree() != null ? records.getMoneyFree() : 0;
  35. Integer moneyBuy = records.getMoneyBuy() != null ? records.getMoneyBuy() : 0;
  36. // 3. 构造请求 URL 和参数
  37. String baseUrl = "http://39.101.133.168:8828/hljw/api/user/gold";
  38. String jwcode1 = records.getJwcode();
  39. BaseDES2 des = new BaseDES2();
  40. String jwcode= des.encrypt(jwcode1);
  41. String op = ""; // 初始化操作类型
  42. String url = ""; // 初始化 URL
  43. // 假设 jwcode 已经加密
  44. if(records.getData()==0){
  45. op = "recharge";
  46. }
  47. else if(records.getData()==1){
  48. op = "cost";
  49. }
  50. // 根据业务逻辑设置操作类型
  51. // 假设 records 中有 gold 字段
  52. String content = records.getContent(); // 假设 records 中有 content 字段
  53. if(moneyBuy!=0){
  54. UUID orderNo = UUID.randomUUID();
  55. Integer gold = moneyBuy;
  56. url = baseUrl + "?jwcode=" + jwcode + "&op=" + op + "&gold=" + gold + "&content=" + content +"&order_no=" + orderNo;
  57. }
  58. if(moneyFree!=0){
  59. Integer gold = moneyFree;
  60. url = baseUrl + "?jwcode=" + jwcode + "&op=" + op + "&gold=" + gold + "&content=" + content;
  61. }
  62. // 构造完整 URL
  63. System.out.println(url);
  64. // 4. 调用接口
  65. ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);
  66. // 5. 处理响应
  67. if (response.getStatusCode().is2xxSuccessful()) {
  68. // 解析响应内容(假设返回 JSON)
  69. String responseBody = response.getBody();
  70. // 进一步处理响应数据
  71. System.out.println("Response: " + responseBody);
  72. } else {
  73. throw new RuntimeException("接口调用失败,HTTP 状态码:" + response.getStatusCode());
  74. }
  75. // 返回结果(根据业务逻辑决定返回值)
  76. return 1; // 示例返回值
  77. }
  78. @Override
  79. public Member searchinfo(Searchinfo jwcode) throws Exception {
  80. Integer uid = douMapper.searchId(jwcode.getJwcode());
  81. if(uid == null){
  82. throw new Exception("用户不存在");
  83. }
  84. return douMapper.searchinfo(jwcode);
  85. }
  86. @Override
  87. public List<Yve> getYve(Yve yve) {
  88. return douMapper.getYve(yve);
  89. }
  90. @Override
  91. public YveTotal getYveTotal(YveTotal yveTotal) {
  92. return douMapper.getYveTotal(yveTotal);
  93. }
  94. @Override
  95. public List<String> getIp() {
  96. return douMapper.getIp();
  97. }
  98. @Override
  99. public Object searchForPage(Integer pageNum, Integer pageSize, Yve yve) {
  100. PageHelper.startPage(pageNum, pageSize);
  101. List<Yve> list= douMapper.getYve(yve);
  102. return new PageInfo<>(list);
  103. }
  104. @Override
  105. public List<String> getStyle() {
  106. return payMapper.getStyle();
  107. }
  108. @Override
  109. public List<String> getPayIp() {
  110. return payMapper.getPayIp();
  111. }
  112. @Override
  113. public List<Pay> getPay(Pay pay) {
  114. return payMapper.getPay(pay);
  115. }
  116. @Override
  117. public Object searchPay(Integer pageNum, Integer pageSize, Pay pay) {
  118. PageHelper.startPage(pageNum, pageSize);
  119. List<Pay> list= payMapper.getPay(pay);
  120. return new PageInfo<>(list);
  121. }
  122. }