Browse Source

7月30日新增金豆

huangqizheng/feature-20250731164458-地区部分修改以及导出的封装
sunjiabei 3 weeks ago
parent
commit
b36a5e25fc
  1. 29
      src/main/java/com/example/demo/controller/bean/BeanRechargeController.java
  2. 2
      src/main/java/com/example/demo/controller/bean/BeanUserController.java
  3. 21
      src/main/java/com/example/demo/domain/vo/bean/BeanRecharge.java
  4. 2
      src/main/java/com/example/demo/domain/vo/bean/BeanUserCard.java
  5. 14
      src/main/java/com/example/demo/mapper/bean/BeanRechargeMapper.java
  6. 7
      src/main/java/com/example/demo/service/bean/BeanRechargeService.java
  7. 66
      src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java
  8. 7
      src/main/resources/jindouMapper/BeanUser.xml

29
src/main/java/com/example/demo/controller/bean/BeanRechargeController.java

@ -1,5 +1,14 @@
package com.example.demo.controller.bean; 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 * @program: gold-java
* @ClassName BeanRechrageController * @ClassName BeanRechrageController
@ -9,5 +18,23 @@ package com.example.demo.controller.bean;
* @Version 1.0 * @Version 1.0
**/ **/
@RestController
@RequestMapping("/beanRecharge")
@RequiredArgsConstructor
@Slf4j
@CrossOrigin
public class BeanRechargeController { 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("添加失败");
}
}
}

2
src/main/java/com/example/demo/controller/bean/BeanUserController.java

@ -34,7 +34,7 @@ public class BeanUserController {
try { try {
return beanUserService.userCard(user.getJwcode().toString()); return beanUserService.userCard(user.getJwcode().toString());
} catch (Exception e) { } catch (Exception e) {
return Result.error("请检查输入精网号");
return Result.error("请检查输入精网号格式");
} }
} }
} }

21
src/main/java/com/example/demo/domain/vo/bean/BeanRecharge.java

@ -1,5 +1,9 @@
package com.example.demo.domain.vo.bean; package com.example.demo.domain.vo.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* @program: gold-java * @program: gold-java
* @ClassName BeanRecharge * @ClassName BeanRecharge
@ -9,5 +13,22 @@ package com.example.demo.domain.vo.bean;
* @Version 1.0 * @Version 1.0
**/ **/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BeanRecharge { public class BeanRecharge {
private Integer jwcode; // 精网号
private Integer freeBean; // 免费豆
private Integer permanentBean; // 永久豆
private String remark; //备注
} }

2
src/main/java/com/example/demo/domain/vo/bean/BeanUserCard.java

@ -24,5 +24,5 @@ public class BeanUserCard {
private String market; // 所属地区 private String market; // 所属地区
private Integer freeBean; // 免费豆 private Integer freeBean; // 免费豆
private Integer permanentBean; // 永久豆 private Integer permanentBean; // 永久豆
private Integer consumeNum; // 消费次数
private Integer consumeSum; // 消费金额
} }

14
src/main/java/com/example/demo/mapper/bean/BeanRechargeMapper.java

@ -1,14 +0,0 @@
package com.example.demo.mapper.bean;
/**
* @program: gold-java
* @ClassName BeanRechargeMapper
* @description:
* @author: Double
* @create: 202507-29 16:46
* @Version 1.0
**/
public interface BeanRechargeMapper {
}

7
src/main/java/com/example/demo/service/bean/BeanRechargeService.java

@ -1,6 +1,9 @@
package com.example.demo.service.bean; 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 * @program: gold-java
* @ClassName BeanRechargeService * @ClassName BeanRechargeService
@ -11,4 +14,6 @@ package com.example.demo.service.bean;
**/ **/
public interface BeanRechargeService { public interface BeanRechargeService {
}
Result add(BeanRecharge recharge);
}

66
src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java

@ -1,6 +1,16 @@
package com.example.demo.serviceImpl.bean; 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.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
import java.util.UUID;
/** /**
* @program: gold-java * @program: gold-java
@ -10,7 +20,57 @@ import org.springframework.stereotype.Service;
* @create: 202507-29 16:47 * @create: 202507-29 16:47
* @Version 1.0 * @Version 1.0
**/ **/
@Service @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<String> 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());
}
}
}

7
src/main/resources/jindouMapper/BeanUser.xml

@ -8,12 +8,13 @@
SELECT SELECT
m.nickname AS name, m.nickname AS name,
m.jwcode AS jwcode, m.jwcode AS jwcode,
m.loc_market AS market,
m.dept AS market,
y.jinbi_free AS freeBean, y.jinbi_free AS freeBean,
y.jinbi_buy AS permanentBean
y.jinbi_buy AS permanentBean,
y.jinbi_cost_total AS consumeSum
FROM FROM
fx_member m fx_member m
INNER JOIN
LEFT JOIN
fx_yaoqing y ON m.id = y.uid fx_yaoqing y ON m.id = y.uid
<where> <where>
m.jwcode = #{jwcode} m.jwcode = #{jwcode}

Loading…
Cancel
Save