From b36a5e25fc13b2619380360fd84aab61a6d69419 Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Wed, 30 Jul 2025 14:58:19 +0800 Subject: [PATCH] =?UTF-8?q?7=E6=9C=8830=E6=97=A5=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E9=87=91=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/bean/BeanRechargeController.java | 29 +++++++++- .../demo/controller/bean/BeanUserController.java | 2 +- .../example/demo/domain/vo/bean/BeanRecharge.java | 21 +++++++ .../example/demo/domain/vo/bean/BeanUserCard.java | 2 +- .../demo/mapper/bean/BeanRechargeMapper.java | 14 ----- .../demo/service/bean/BeanRechargeService.java | 7 ++- .../serviceImpl/bean/BeanRechargeServiceImpl.java | 66 +++++++++++++++++++++- src/main/resources/jindouMapper/BeanUser.xml | 7 ++- 8 files changed, 124 insertions(+), 24 deletions(-) delete mode 100644 src/main/java/com/example/demo/mapper/bean/BeanRechargeMapper.java diff --git a/src/main/java/com/example/demo/controller/bean/BeanRechargeController.java b/src/main/java/com/example/demo/controller/bean/BeanRechargeController.java index 1bd711e..3101ec4 100644 --- a/src/main/java/com/example/demo/controller/bean/BeanRechargeController.java +++ b/src/main/java/com/example/demo/controller/bean/BeanRechargeController.java @@ -1,5 +1,14 @@ package com.example.demo.controller.bean; +import com.example.demo.domain.vo.bean.BeanRecharge; +import com.example.demo.domain.vo.coin.Result; +import com.example.demo.service.bean.BeanRechargeService; +import com.example.demo.service.bean.BeanUserService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + /** * @program: gold-java * @ClassName BeanRechrageController @@ -9,5 +18,23 @@ package com.example.demo.controller.bean; * @Version 1.0 **/ +@RestController +@RequestMapping("/beanRecharge") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin public class BeanRechargeController { -} + + @Autowired + private BeanRechargeService beanRechargeService; + + //添加金豆 + @PostMapping("/add") + public Result add(@RequestBody BeanRecharge recharge) { + try { + return beanRechargeService.add(recharge); + } catch (Exception e) { + return Result.error("添加失败"); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/controller/bean/BeanUserController.java b/src/main/java/com/example/demo/controller/bean/BeanUserController.java index 5fb72ba..4549988 100644 --- a/src/main/java/com/example/demo/controller/bean/BeanUserController.java +++ b/src/main/java/com/example/demo/controller/bean/BeanUserController.java @@ -34,7 +34,7 @@ public class BeanUserController { try { return beanUserService.userCard(user.getJwcode().toString()); } catch (Exception e) { - return Result.error("请检查输入精网号"); + return Result.error("请检查输入精网号格式"); } } } diff --git a/src/main/java/com/example/demo/domain/vo/bean/BeanRecharge.java b/src/main/java/com/example/demo/domain/vo/bean/BeanRecharge.java index ef9c6de..72577fd 100644 --- a/src/main/java/com/example/demo/domain/vo/bean/BeanRecharge.java +++ b/src/main/java/com/example/demo/domain/vo/bean/BeanRecharge.java @@ -1,5 +1,9 @@ package com.example.demo.domain.vo.bean; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + /** * @program: gold-java * @ClassName BeanRecharge @@ -9,5 +13,22 @@ package com.example.demo.domain.vo.bean; * @Version 1.0 **/ +@Data +@NoArgsConstructor +@AllArgsConstructor public class BeanRecharge { + private Integer jwcode; // 精网号 + private Integer freeBean; // 免费豆 + private Integer permanentBean; // 永久豆 + private String remark; //备注 + + + + + + + + + + } diff --git a/src/main/java/com/example/demo/domain/vo/bean/BeanUserCard.java b/src/main/java/com/example/demo/domain/vo/bean/BeanUserCard.java index 8787d19..2f62f15 100644 --- a/src/main/java/com/example/demo/domain/vo/bean/BeanUserCard.java +++ b/src/main/java/com/example/demo/domain/vo/bean/BeanUserCard.java @@ -24,5 +24,5 @@ public class BeanUserCard { private String market; // 所属地区 private Integer freeBean; // 免费豆 private Integer permanentBean; // 永久豆 - private Integer consumeNum; // 消费次数 + private Integer consumeSum; // 消费金额 } diff --git a/src/main/java/com/example/demo/mapper/bean/BeanRechargeMapper.java b/src/main/java/com/example/demo/mapper/bean/BeanRechargeMapper.java deleted file mode 100644 index aebf03b..0000000 --- a/src/main/java/com/example/demo/mapper/bean/BeanRechargeMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.example.demo.mapper.bean; - - -/** - * @program: gold-java - * @ClassName BeanRechargeMapper - * @description: - * @author: Double - * @create: 2025−07-29 16:46 - * @Version 1.0 - **/ - -public interface BeanRechargeMapper { -} diff --git a/src/main/java/com/example/demo/service/bean/BeanRechargeService.java b/src/main/java/com/example/demo/service/bean/BeanRechargeService.java index 87b1e20..dc06862 100644 --- a/src/main/java/com/example/demo/service/bean/BeanRechargeService.java +++ b/src/main/java/com/example/demo/service/bean/BeanRechargeService.java @@ -1,6 +1,9 @@ package com.example.demo.service.bean; +import com.example.demo.domain.vo.coin.Result; +import com.example.demo.domain.vo.bean.BeanRecharge; + /** * @program: gold-java * @ClassName BeanRechargeService @@ -11,4 +14,6 @@ package com.example.demo.service.bean; **/ public interface BeanRechargeService { -} + + Result add(BeanRecharge recharge); +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java index e055363..6082501 100644 --- a/src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java @@ -1,6 +1,16 @@ package com.example.demo.serviceImpl.bean; +import com.example.demo.domain.vo.bean.BeanRecharge; +import com.example.demo.domain.vo.coin.Result; +import com.example.demo.service.bean.BeanRechargeService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.util.UriComponentsBuilder; + +import java.util.UUID; /** * @program: gold-java @@ -10,7 +20,57 @@ import org.springframework.stereotype.Service; * @create: 2025−07-29 16:47 * @Version 1.0 **/ - @Service -public class BeanRechargeServiceImpl { -} +@RequiredArgsConstructor +public class BeanRechargeServiceImpl implements BeanRechargeService { + + @Autowired + private RestTemplate restTemplate; + + @Override + public Result add(BeanRecharge recharge) { + try { + // 验证精网号是否有效 + if (recharge.getJwcode() == null || recharge.getJwcode().toString().isEmpty()) { + return Result.error("精网号不能为空"); + } + + // 验证免费豆和永久豆是否为非负数 + if (recharge.getFreeBean() < 0 || recharge.getPermanentBean() < 0) { + return Result.error("免费豆和永久豆不能为负数"); + } + // 验证免费豆和永久豆是否均为0 + if (recharge.getFreeBean() == 0 && recharge.getPermanentBean() == 0) { + return Result.error("免费豆和永久豆不能同时为0"); + } + // 验证备注是否为空 + if (recharge.getRemark() == null || recharge.getRemark().toString().isEmpty()) { + return Result.error("备注不能为空"); + } + String jwcode = recharge.getJwcode().toString(); + String op = "recharge"; // 操作类型(根据实际业务定义,例如"recharge"表示充值) + String content = recharge.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", recharge.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()); + } + return Result.success("添加成功"); + } catch (Exception e) { + return Result.error("系统异常:" + e.getMessage()); + } + } +} \ No newline at end of file diff --git a/src/main/resources/jindouMapper/BeanUser.xml b/src/main/resources/jindouMapper/BeanUser.xml index 5de856a..c029b3e 100644 --- a/src/main/resources/jindouMapper/BeanUser.xml +++ b/src/main/resources/jindouMapper/BeanUser.xml @@ -8,12 +8,13 @@ SELECT m.nickname AS name, m.jwcode AS jwcode, - m.loc_market AS market, + m.dept AS market, y.jinbi_free AS freeBean, - y.jinbi_buy AS permanentBean + y.jinbi_buy AS permanentBean, + y.jinbi_cost_total AS consumeSum FROM fx_member m - INNER JOIN + LEFT JOIN fx_yaoqing y ON m.id = y.uid m.jwcode = #{jwcode}