Browse Source

8月4日金豆地址拆分

huangqizheng/feature-20250805200446-配置修改及充值导出修改
sunjiabei 2 weeks ago
parent
commit
3a39dd3122
  1. 15
      src/main/java/com/example/demo/controller/bean/BeanRechargeController.java
  2. 4
      src/main/java/com/example/demo/domain/DTO/OnlineDTO.java
  3. 60
      src/main/java/com/example/demo/domain/vo/bean/BeanOnlineRechargeInfo.java
  4. 4
      src/main/java/com/example/demo/domain/vo/bean/BeanRechargeInfo.java
  5. 60
      src/main/java/com/example/demo/domain/vo/bean/BeanSystemRechargeInfo.java
  6. 3
      src/main/java/com/example/demo/domain/vo/coin/Page.java
  7. 5
      src/main/java/com/example/demo/mapper/bean/BeanRechargeMapper2.java
  8. 6
      src/main/java/com/example/demo/mapper/pay/BeanRechargeMapper3.java
  9. 11
      src/main/java/com/example/demo/service/bean/BeanRechargeService.java
  10. 29
      src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java
  11. 10
      src/main/java/com/example/demo/serviceImpl/bean/BeanUserServiceImpl.java
  12. 9
      src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java
  13. 2
      src/main/resources/jindouMapper/BeanRechargeMapper2.xml
  14. 2
      src/main/resources/paymapper/BeanRechargeMapper3.xml

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

@ -1,7 +1,8 @@
package com.example.demo.controller.bean;
import com.example.demo.domain.vo.bean.BeanOnlineRechargeInfo;
import com.example.demo.domain.vo.bean.BeanRecharge;
import com.example.demo.domain.vo.bean.BeanRechargeInfo;
import com.example.demo.domain.vo.bean.BeanSystemRechargeInfo;
import com.example.demo.domain.vo.bean.GoldBean;
import com.example.demo.domain.vo.coin.Page;
import com.example.demo.domain.vo.coin.Result;
@ -53,7 +54,7 @@ public class BeanRechargeController {
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
} else {
return Result.success(beanRechargeService.selectBySystem(page.getPageNum(), page.getPageSize(), page.getBeanRechargeInfo()));
return Result.success(beanRechargeService.selectBySystem(page.getPageNum(), page.getPageSize(), page.getBeanSystemRechargeInfo()));
}
} catch (Exception e) {
e.printStackTrace();
@ -64,9 +65,9 @@ public class BeanRechargeController {
//系统金豆统计
@PostMapping("/statsSystemBean")
public Result statsSystemBean(@RequestBody BeanRechargeInfo beanRechargeInfo) {
public Result statsSystemBean(@RequestBody BeanSystemRechargeInfo beanSystemRechargeInfo) {
try {
GoldBean goldBean = beanRechargeService.statsSystemBean(beanRechargeInfo);
GoldBean goldBean = beanRechargeService.statsSystemBean(beanSystemRechargeInfo);
return Result.success(goldBean);
} catch (Exception e) {
return Result.error("请检查数据的格式");
@ -90,7 +91,7 @@ public class BeanRechargeController {
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
} else {
return Result.success(beanRechargeService.selectByOnline(page.getPageNum(), page.getPageSize(), page.getBeanRechargeInfo()));
return Result.success(beanRechargeService.selectByOnline(page.getPageNum(), page.getPageSize(), page.getBeanOnlineRechargeInfo()));
}
} catch (Exception e) {
e.printStackTrace();
@ -101,9 +102,9 @@ public class BeanRechargeController {
//线上金豆统计
@PostMapping("/statsOnlineBean")
public Result statsOnlineBean(@RequestBody BeanRechargeInfo beanRechargeInfo) {
public Result statsOnlineBean(@RequestBody BeanOnlineRechargeInfo beanOnlineRechargeInfo) {
try {
GoldBean goldBean = beanRechargeService.statsOnlineBean(beanRechargeInfo);
GoldBean goldBean = beanRechargeService.statsOnlineBean(beanOnlineRechargeInfo);
return Result.success(goldBean);
} catch (Exception e) {
return Result.error("请检查数据的格式");

4
src/main/java/com/example/demo/domain/DTO/OnlineDTO.java

@ -1,6 +1,6 @@
package com.example.demo.domain.DTO;
import com.example.demo.domain.vo.bean.BeanRechargeInfo;
import com.example.demo.domain.vo.bean.BeanOnlineRechargeInfo;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -32,5 +32,5 @@ public class OnlineDTO {
private Integer page = 1;
@NotNull(message = "pageSize不能为空")
private Integer pageSize = 20;
private BeanRechargeInfo beanRechargeInfo;
private BeanOnlineRechargeInfo beanRechargeInfo;
}

60
src/main/java/com/example/demo/domain/vo/bean/BeanOnlineRechargeInfo.java

@ -0,0 +1,60 @@
package com.example.demo.domain.vo.bean;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* @program: gold-java
* @ClassName BeanRecharge
* @description:
* @author: Double
* @create: 202507-30 15:11
* @Version 1.0
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BeanOnlineRechargeInfo {
private Long id;//id
@ExcelProperty("精网号")
private Integer jwcode; // 精网号
@ExcelProperty("客户姓名")
private String name; // 姓名
@ExcelProperty("所属地区")
private String market; // 所属地区
@ExcelProperty("金额")
private Double money; // 金额
@ExcelProperty("数量")
private Integer num; // 数量
@ExcelProperty("订单号")
private String orderNo; // 订单号
@ExcelProperty("备注")
private String remark; //备注
@ExcelProperty("充值平台 PC:1 手机:2")
private String platform; // 充值平台
@ExcelProperty("充值时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date rechargeTime; // 充值时间
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date startTime; // 开始时间
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date endTime; // 结束时间
@ExcelIgnore
private List<String> markets; // 地区列表
@ExcelIgnore
private String sortField; //排序字段
@ExcelIgnore
private String sortOrder; //排序顺序
}

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

@ -42,9 +42,7 @@ public class BeanRechargeInfo {
private Integer num; // 数量
@ExcelProperty("订单号")
private String orderNo; // 订单号
@ExcelProperty("备注")
private String remark; //备注
@ExcelProperty("充值平台")
@ExcelProperty("充值平台 PC:1 手机:2")
private String platform; // 充值平台
@ExcelProperty("充值时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")

60
src/main/java/com/example/demo/domain/vo/bean/BeanSystemRechargeInfo.java

@ -0,0 +1,60 @@
package com.example.demo.domain.vo.bean;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* @program: gold-java
* @ClassName BeanRecharge
* @description:
* @author: Double
* @create: 202507-30 15:11
* @Version 1.0
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BeanSystemRechargeInfo {
private Long id;//id
@ExcelProperty("精网号")
private Integer jwcode; // 精网号
@ExcelProperty("客户姓名")
private String name; // 姓名
@ExcelProperty("所属地区")
private String market; // 所属地区
@ExcelProperty("免费金豆")
private Integer freeBean; // 免费豆
@ExcelProperty("永久金豆")
private Integer permanentBean; // 永久豆
@ExcelProperty("金额")
private Double money; // 金额
@ExcelProperty("备注")
private String remark; //备注
@ExcelProperty("充值平台 PC:1 手机:2")
private String platform; // 充值平台
@ExcelProperty("充值时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date rechargeTime; // 充值时间
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date startTime; // 开始时间
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date endTime; // 结束时间
@ExcelIgnore
private List<String> markets; // 地区列表
@ExcelIgnore
private String sortField; //排序字段
@ExcelIgnore
private String sortOrder; //排序顺序
}

3
src/main/java/com/example/demo/domain/vo/coin/Page.java

@ -34,7 +34,8 @@ public class Page {
private BeanConsumeLive beanConsumeLive; //直播金豆消费
private BeanConsumeFan beanConsumeFan; //铁粉金豆消费
private BeanConsumeArticle beanConsumeArticle; //文章金豆消费
private BeanRechargeInfo beanRechargeInfo; //金豆充值信息
private BeanSystemRechargeInfo beanSystemRechargeInfo; //金豆充值信息
private BeanOnlineRechargeInfo beanOnlineRechargeInfo; //金豆充值信息
private BeanConsumeGold beanConsumeGold; //金豆消费合计数
private BeanUser beanUser; //客户金豆余额明细
private BeanUserCard beanUserCard; //客户金豆卡片

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

@ -1,7 +1,8 @@
package com.example.demo.mapper.bean;
import com.example.demo.domain.vo.bean.BeanRechargeInfo;
import com.example.demo.domain.vo.bean.BeanSystemRechargeInfo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -18,7 +19,7 @@ import java.util.List;
@Mapper
public interface BeanRechargeMapper2 {
List<BeanRechargeInfo> selectBySystem(BeanRechargeInfo beanRechargeInfo);
List<BeanSystemRechargeInfo> selectBySystem(BeanSystemRechargeInfo beanSystemRechargeInfo);
List<String> systemMarket();
}

6
src/main/java/com/example/demo/mapper/pay/BeanRechargeMapper3.java

@ -1,7 +1,7 @@
package com.example.demo.mapper.pay;
import com.example.demo.domain.vo.bean.BeanRechargeInfo;
import com.example.demo.domain.vo.bean.BeanOnlineRechargeInfo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -18,7 +18,7 @@ import java.util.List;
@Mapper
public interface BeanRechargeMapper3 {
List<BeanRechargeInfo> selectByOnline(BeanRechargeInfo beanRechargeInfo);
List<BeanOnlineRechargeInfo> selectByOnline(BeanOnlineRechargeInfo beanOnlineRechargeInfo);
List<String> systemMarket();
List<String> onlineMarket();
}

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

@ -1,7 +1,8 @@
package com.example.demo.service.bean;
import com.example.demo.domain.vo.bean.BeanRechargeInfo;
import com.example.demo.domain.vo.bean.BeanOnlineRechargeInfo;
import com.example.demo.domain.vo.bean.BeanSystemRechargeInfo;
import com.example.demo.domain.vo.bean.GoldBean;
import com.example.demo.domain.vo.coin.RefundUser;
import com.example.demo.domain.vo.coin.Result;
@ -25,16 +26,16 @@ public interface BeanRechargeService {
Result add(BeanRecharge recharge);
//系统充值
PageInfo<BeanRechargeInfo> selectBySystem(Integer pageNum, Integer pageSize, BeanRechargeInfo beanRechargeInfo);
PageInfo<BeanSystemRechargeInfo> selectBySystem(Integer pageNum, Integer pageSize, BeanSystemRechargeInfo beanRechargeInfo);
//系统金豆统计
GoldBean statsSystemBean(BeanRechargeInfo beanRechargeInfo);
GoldBean statsSystemBean(BeanSystemRechargeInfo beanRechargeInfo);
//线上充值
PageInfo<BeanRechargeInfo> selectByOnline(Integer pageNum, Integer pageSize, BeanRechargeInfo beanRechargeInfo);
PageInfo<BeanOnlineRechargeInfo> selectByOnline(Integer pageNum, Integer pageSize, BeanOnlineRechargeInfo beanRechargeInfo);
//线上金豆统计
GoldBean statsOnlineBean(BeanRechargeInfo beanRechargeInfo);
GoldBean statsOnlineBean(BeanOnlineRechargeInfo beanRechargeInfo);
//获取系统充值地区
List<String> systemMarket();

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

@ -1,7 +1,8 @@
package com.example.demo.serviceImpl.bean;
import com.example.demo.domain.vo.bean.BeanOnlineRechargeInfo;
import com.example.demo.domain.vo.bean.BeanRecharge;
import com.example.demo.domain.vo.bean.BeanRechargeInfo;
import com.example.demo.domain.vo.bean.BeanSystemRechargeInfo;
import com.example.demo.domain.vo.bean.GoldBean;
import com.example.demo.domain.vo.coin.Gold;
import com.example.demo.domain.vo.coin.GoldUser;
@ -115,17 +116,17 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
//系统充值明细
@Override
public PageInfo<BeanRechargeInfo> selectBySystem(Integer pageNum, Integer pageSize, BeanRechargeInfo beanRechargeInfo){
public PageInfo<BeanSystemRechargeInfo> selectBySystem(Integer pageNum, Integer pageSize, BeanSystemRechargeInfo beanSystemRechargeInfo){
PageHelper.startPage(pageNum, pageSize);
List<BeanRechargeInfo> beanRechargeInfos = beanRechargeMapper2.selectBySystem(beanRechargeInfo);
return new PageInfo<>(beanRechargeInfos);
List<BeanSystemRechargeInfo> beanSystemRechargeInfos = beanRechargeMapper2.selectBySystem(beanSystemRechargeInfo);
return new PageInfo<>(beanSystemRechargeInfos);
}
//统计系统金豆记录
@Override
public GoldBean statsSystemBean(BeanRechargeInfo beanRechargeInfo) {
public GoldBean statsSystemBean(BeanSystemRechargeInfo beanSystemRechargeInfo) {
GoldBean gold = new GoldBean();
List<BeanRechargeInfo> beanRechargeInfos = beanRechargeMapper2.selectBySystem(beanRechargeInfo);
List<BeanSystemRechargeInfo> beanSystemRechargeInfos = beanRechargeMapper2.selectBySystem(beanSystemRechargeInfo);
// 初始化累加器
int permanentGoldSum = 0;
@ -133,7 +134,7 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
Double moneySum = 0.0;
// 遍历充值记录并累加金币
for (BeanRechargeInfo info : beanRechargeInfos) {
for (BeanSystemRechargeInfo info : beanSystemRechargeInfos) {
// 累加永久金币
if (info.getPermanentBean() != null) {
permanentGoldSum += info.getPermanentBean();
@ -169,24 +170,24 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
//线上充值明细
@Override
public PageInfo<BeanRechargeInfo> selectByOnline(Integer pageNum, Integer pageSize, BeanRechargeInfo beanRechargeInfo){
public PageInfo<BeanOnlineRechargeInfo> selectByOnline(Integer pageNum, Integer pageSize, BeanOnlineRechargeInfo beanOnlineRechargeInfo){
PageHelper.startPage(pageNum, pageSize);
List<BeanRechargeInfo> beanRechargeInfos = beanRechargeMapper3.selectByOnline(beanRechargeInfo);
return new PageInfo<>(beanRechargeInfos);
List<BeanOnlineRechargeInfo> beanOnlineRechargeInfos = beanRechargeMapper3.selectByOnline(beanOnlineRechargeInfo);
return new PageInfo<>(beanOnlineRechargeInfos);
}
//统计线上金豆记录
@Override
public GoldBean statsOnlineBean(BeanRechargeInfo beanRechargeInfo) {
public GoldBean statsOnlineBean(BeanOnlineRechargeInfo beanOnlineRechargeInfo) {
GoldBean gold = new GoldBean();
List<BeanRechargeInfo> beanRechargeInfos = beanRechargeMapper3.selectByOnline(beanRechargeInfo);
List<BeanOnlineRechargeInfo> beanOnlineRechargeInfos = beanRechargeMapper3.selectByOnline(beanOnlineRechargeInfo);
// 初始化累加器
int countSum = 0;
Double moneySum = 0.0;
// 遍历充值记录并累加金币
for (BeanRechargeInfo info : beanRechargeInfos) {
for (BeanOnlineRechargeInfo info : beanOnlineRechargeInfos) {
// 累加数量
if (info.getNum() != null) {
countSum += info.getNum();
@ -207,7 +208,7 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
@Override
public List<String> onlineMarket() {
List<String> list = beanRechargeMapper3.systemMarket();
List<String> list = beanRechargeMapper3.onlineMarket();
// 使用 Java 8 Stream API 过滤 null 和空字符串
List<String> filteredList = list.stream()
.filter(Objects::nonNull) // 过滤掉 null

10
src/main/java/com/example/demo/serviceImpl/bean/BeanUserServiceImpl.java

@ -40,17 +40,9 @@ public class BeanUserServiceImpl implements BeanUserService {
public Result userCard(String jwcode) {
//解token权限
try {
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(","));
BeanUserCard user = beanUserMapper.userCard(jwcode);
return Result.success(user);
}
else{
return Result.error("登录用户为空");
}
} catch (Exception e) {
e.printStackTrace();
return Result.error("用户查找不到");

9
src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java

@ -16,11 +16,8 @@ import com.example.demo.domain.entity.Admin;
import com.example.demo.domain.entity.Export;
import com.example.demo.domain.entity.User;
import com.example.demo.domain.export.Goldmingxi;
import com.example.demo.domain.vo.bean.BeanConsumeArticle;
import com.example.demo.domain.vo.bean.BeanConsumeFan;
import com.example.demo.domain.vo.bean.BeanConsumeLive;
import com.example.demo.domain.vo.bean.*;
import com.example.demo.domain.vo.bean.BeanRechargeInfo;
import com.example.demo.domain.vo.coin.*;
import com.example.demo.mapper.coin.ExportMapper;
@ -407,9 +404,9 @@ public class ExportExcelServiceImpl implements ExportExcelService {
case "articleUser":
return BeanConsumeArticle.class;
case "beanUser":
return BeanRechargeInfo.class;
return BeanSystemRechargeInfo.class;
case "onlineUser":
return BeanRechargeInfo.class;
return BeanOnlineRechargeInfo.class;
default:
throw new IllegalArgumentException("不支持的导出类型: " + exportType);
}

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

@ -1,7 +1,7 @@
<?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 id="selectBySystem" resultType="com.example.demo.domain.vo.bean.BeanSystemRechargeInfo">
SELECT f.id AS id,
m.jwcode AS jwcode,
m.nickname AS name,

2
src/main/resources/paymapper/BeanRechargeMapper3.xml

@ -1,7 +1,7 @@
<?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.pay.BeanRechargeMapper3">
<select id="selectByOnline" resultType="com.example.demo.domain.vo.bean.BeanRechargeInfo">
<select id="selectByOnline" resultType="com.example.demo.domain.vo.bean.BeanOnlineRechargeInfo">
SELECT g.id AS id,
g.jwcode AS jwcode,
m.name AS name,

Loading…
Cancel
Save