Browse Source

7月31日系统充值与新增

huangqizheng/feature-20250731164458-地区部分修改以及导出的封装
sunjiabei 2 weeks ago
parent
commit
3ce7e1a727
  1. 5
      pom.xml
  2. 11
      src/main/java/com/example/demo/controller/bean/BeanRechargeController.java
  3. 2
      src/main/java/com/example/demo/domain/vo/bean/BeanRecharge.java
  4. 6
      src/main/java/com/example/demo/domain/vo/bean/BeanRechargeInfo.java
  5. 5
      src/main/java/com/example/demo/mapper/bean/BeanRechargeMapper2.java
  6. 20
      src/main/java/com/example/demo/mapper/coin/BeanRechargeMapper1.java
  7. 58
      src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java
  8. 18
      src/main/resources/jindouMapper/BeanRechargeMapper.xml
  9. 61
      src/main/resources/jindouMapper/BeanRechargeMapper2.xml
  10. 28
      src/main/resources/mapper/BeanRechargeMapper1.xml

5
pom.xml

@ -115,6 +115,11 @@
<version>3.0.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.2</version> <!-- 版本号可根据实际情况调整 -->
</dependency>
<!-- <dependency>-->
<!-- <groupId>io.jsonwebtoken</groupId>-->
<!-- <artifactId>jjwt-api</artifactId>-->

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

@ -57,17 +57,6 @@ public class BeanRechargeController {
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
} else {
//解token权限
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
if (admin != null) {
List<String> list = Arrays.asList(admin.getMarkets().split(","));
page.getBeanRechargeInfo().setMarkets(list);
}
else{
return Result.error("角色为空");
}
return Result.success(beanRechargeService.selectBySystem(page.getPageNum(), page.getPageSize(), page.getBeanRechargeInfo()));
}
} catch (Exception e) {

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

@ -17,8 +17,10 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
public class BeanRecharge {
private Integer id;//id
private Integer jwcode; // 精网号
private Integer freeBean; // 免费豆
private Integer permanentBean; // 永久豆
private String remark; //备注
private String adminName; // 管理员名称
}

6
src/main/java/com/example/demo/domain/vo/bean/BeanRechargeInfo.java

@ -35,5 +35,11 @@ public class BeanRechargeInfo {
private String platform; // 充值平台
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date rechargeTime; // 充值时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date startTime; // 开始时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date endTime; // 结束时间
private List<String> markets; // 地区列表
private String sortField; //排序字段
private String sortOrder; //排序顺序
}

5
src/main/java/com/example/demo/mapper/bean/BeanRechargeMapper.java → src/main/java/com/example/demo/mapper/bean/BeanRechargeMapper2.java

@ -16,7 +16,8 @@ import java.util.List;
**/
@Mapper
public interface BeanRechargeMapper {
public interface BeanRechargeMapper2 {
List<BeanRechargeInfo> selectBySystem(BeanRechargeInfo beanRechargeInfo);
}
}

20
src/main/java/com/example/demo/mapper/coin/BeanRechargeMapper1.java

@ -0,0 +1,20 @@
package com.example.demo.mapper.coin;
import com.example.demo.domain.vo.bean.BeanRecharge;
import org.apache.ibatis.annotations.Mapper;
/**
* @program: gold-java
* @ClassName BeanRechargeMapper
* @description:
* @author: Double
* @create: 202507-30 15:43
* @Version 1.0
**/
@Mapper
public interface BeanRechargeMapper1 {
int add(BeanRecharge recharge);
}

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

@ -2,21 +2,18 @@ package com.example.demo.serviceImpl.bean;
import com.example.demo.domain.vo.bean.BeanRecharge;
import com.example.demo.domain.vo.bean.BeanRechargeInfo;
import com.example.demo.domain.vo.coin.RechargeUser;
import com.example.demo.domain.vo.coin.Result;
import com.example.demo.mapper.bean.BeanRechargeMapper;
import com.example.demo.mapper.bean.BeanRechargeMapper2;
import com.example.demo.mapper.coin.BeanRechargeMapper1;
import com.example.demo.service.bean.BeanRechargeService;
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.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
import java.util.List;
import java.util.UUID;
/**
* @program: gold-java
@ -34,7 +31,11 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
private RestTemplate restTemplate;
@Autowired
private BeanRechargeMapper beanRechargeMapper;
private BeanRechargeMapper2 beanRechargeMapper2;
@Autowired
private BeanRechargeMapper1 beanRechargeMapper1;
//新增金豆
@Override
@ -61,27 +62,28 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
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());
}
beanRechargeMapper1.add(recharge);
// 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());
@ -93,7 +95,7 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
@Override
public PageInfo<BeanRechargeInfo> selectBySystem(Integer pageNum, Integer pageSize, BeanRechargeInfo beanRechargeInfo){
PageHelper.startPage(pageNum, pageSize);
List<BeanRechargeInfo> beanRechargeInfos = beanRechargeMapper.selectBySystem(beanRechargeInfo);
List<BeanRechargeInfo> beanRechargeInfos = beanRechargeMapper2.selectBySystem(beanRechargeInfo);
return new PageInfo<>(beanRechargeInfos);
}
}

18
src/main/resources/jindouMapper/BeanRechargeMapper.xml

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.bean.BeanRechargeMapper">
<select id="selectBySystem" resultType="com.example.demo.domain.vo.bean.BeanRechargeInfo">
SELECT f.id AS id,
m.jwcode AS jwcode,
m.nickname AS name,
m.dept AS market,
f.money_free AS freeBean,
f.money_buy AS permanentBean,
f.content AS remark,
FROM_UNIXTIME(f.time) AS rechargeTime
FROM fx_yaoqing_records f
LEFT JOIN fx_member m ON f.uid = m.id
WHERE `data` = 0
</select>
</mapper>

61
src/main/resources/jindouMapper/BeanRechargeMapper2.xml

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.bean.BeanRechargeMapper2">
<select id="selectBySystem" resultType="com.example.demo.domain.vo.bean.BeanRechargeInfo">
SELECT f.id AS id,
m.jwcode AS jwcode,
m.nickname AS name,
m.dept AS market,
f.money_free AS freeBean,
f.money_buy AS permanentBean,
f.content AS remark,
FROM_UNIXTIME(f.time) AS rechargeTime
FROM fx_yaoqing_records f
LEFT JOIN fx_member m ON f.uid = m.id
<where>
f.data = 0
<!-- 判断 market 是否不为总部且 markets 不为空 -->
<if test="markets != null and markets.size() > 0 and '总部' not in markets">
AND (
<foreach collection="markets" item="market" open="" close="" separator=" OR ">
m.dept LIKE CONCAT('%', #{market}, '%')
</foreach>
)
</if>
</where>
<trim prefix="ORDER BY" suffixOverrides=",">
<choose>
<!-- 当指定排序字段时使用指定字段排序 -->
<when test="sortField != null and sortField != ''">
<choose>
<!-- 对金币数量的排序处理 -->
<when test="sortField == 'permanentBean'">f.money_buy</when>
<when test="sortField == 'freeBean'">f.money_free</when>
<!-- 对时间字段的排序处理 -->
<when test="sortField == 'rechargeTime'">f.time</when>
<!-- 其他字段不支持排序,使用默认排序 -->
<otherwise>f.time</otherwise>
</choose>
<!-- 排序方向处理 -->
<if test="sortOrder != null and sortOrder != ''">
<choose>
<when test="sortOrder == 'ASC'">ASC</when>
<when test="sortOrder == 'DESC'">DESC</when>
<otherwise>DESC</otherwise>
</choose>
</if>
<if test="sortOrder == null or sortOrder == ''">
DESC
</if>
</when>
<!-- 未指定排序字段时,使用默认的时间降序排序 -->
<otherwise>
f.time DESC
</otherwise>
</choose>
</trim>
</select>
</mapper>

28
src/main/resources/mapper/BeanRechargeMapper1.xml

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.coin.BeanRechargeMapper1">
<insert id="add" parameterType="com.example.demo.domain.vo.bean.BeanRecharge" useGeneratedKeys="true" keyProperty="id">
INSERT INTO audit
<trim prefix="(" suffix=")" suffixOverrides=",">
jwcode,
buy_jd,
free_jd,
type,
admin_name,
remark,
audit_status
</trim>
VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{jwcode},
#{permanentBean},
#{freeBean},
0,
#{adminName},
#{remark},
0
</trim>
</insert>
</mapper>
Loading…
Cancel
Save