package com.example.demo.serviceImpl.bean; import com.example.demo.domain.vo.bean.BeanAuditInfo; import com.example.demo.domain.vo.bean.BeanRechargeInfo; import com.example.demo.domain.vo.coin.Result; import com.example.demo.mapper.coin.BeanAuditMapper; import com.example.demo.service.bean.BeanAuditService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponentsBuilder; import java.util.List; import java.util.UUID; /** * @program: gold-java * @ClassName BeanAuditServiceImpl * @description: * @author: Double * @create: 2025−08-01 11:37 * @Version 1.0 **/ @Service @RequiredArgsConstructor public class BeanAuditServiceImpl implements BeanAuditService { @Autowired private BeanAuditMapper beanAuditMapper; @Autowired private RestTemplate restTemplate; //查找审核信息 @Override public PageInfo selectBy(Integer pageNum, Integer pageSize, BeanAuditInfo beanAuditInfo) { PageHelper.startPage(pageNum, pageSize); List beanAuditInfos = beanAuditMapper.selectBy(beanAuditInfo); return new PageInfo<>(beanAuditInfos); } @Transactional @Override public Result updateStatus1(Long id) { BeanAuditInfo beanAuditInfo = beanAuditMapper.selectById(id); String jwcode = beanAuditInfo.getJwcode().toString(); String op = "recharge"; // 操作类型(根据实际业务定义,例如"recharge"表示充值) String content = beanAuditInfo.getRemark(); // 备注作为content参数 String orderNo = UUID.randomUUID().toString().replace("-", ""); // 生成唯一订单号(去除横线) // 2. 构建接口URL及参数 String apiUrl = "http://47.92.148.30:3003/mock/61/hljw/api/user/gold"; UriComponentsBuilder urlBuilder = UriComponentsBuilder.fromHttpUrl(apiUrl) .queryParam("jwcode", jwcode) .queryParam("op", op) .queryParam("gold", beanAuditInfo.getPermanentBean()) .queryParam("content", content) .queryParam("order_no", orderNo); // 3. 发送GET请求 ResponseEntity response = restTemplate.getForEntity(urlBuilder.toUriString(), String.class); // 4. 处理响应结果 if (!response.getStatusCode().is2xxSuccessful()) { return Result.error("远程接口调用失败,状态码:" + response.getStatusCodeValue()); } beanAuditMapper.updateStatus1(id); return Result.success(); } @Override public void updateStatus2(Long id) { beanAuditMapper.updateStatus2(id); } }