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
144 lines
4.6 KiB
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 payMapper.getPayIp();
|
|
}
|
|
|
|
@Override
|
|
public List<Pay> getPay(Pay pay) {
|
|
return payMapper.getPay(pay);
|
|
}
|
|
|
|
@Override
|
|
public Object searchPay(Integer pageNum, Integer pageSize, Pay pay) {
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
List<Pay> list= payMapper.getPay(pay);
|
|
return new PageInfo<>(list);
|
|
}
|
|
}
|