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 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 getYve(Yve yve) { return douMapper.getYve(yve); } @Override public YveTotal getYveTotal(YveTotal yveTotal) { return douMapper.getYveTotal(yveTotal); } @Override public List getIp() { return douMapper.getIp(); } @Override public Object searchForPage(Integer pageNum, Integer pageSize, Yve yve) { PageHelper.startPage(pageNum, pageSize); List list= douMapper.getYve(yve); return new PageInfo<>(list); } @Override public List getStyle() { return payMapper.getStyle(); } @Override public List getPayIp() { return payMapper.getPayIp(); } @Override public List getPay(Pay pay) { return payMapper.getPay(pay); } @Override public Object searchPay(Integer pageNum, Integer pageSize, Pay pay) { PageHelper.startPage(pageNum, pageSize); List list= payMapper.getPay(pay); return new PageInfo<>(list); } }