diff --git a/src/main/java/com/example/demo/DemoApplication.java b/src/main/java/com/example/demo/DemoApplication.java index dd35ee5..c10b006 100644 --- a/src/main/java/com/example/demo/DemoApplication.java +++ b/src/main/java/com/example/demo/DemoApplication.java @@ -7,8 +7,9 @@ import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @EnableScheduling // 启用调度功能 -@MapperScan(basePackages = "com.example.demo.mapper", sqlSessionTemplateRef = "mysql1SqlSessionTemplate") +@MapperScan(basePackages = "com.example.demo.mapper.coin", sqlSessionTemplateRef = "mysql1SqlSessionTemplate") @MapperScan(basePackages = "com.example.demo.mapper.bean", sqlSessionTemplateRef = "mysql2SqlSessionTemplate") +@MapperScan(basePackages = "com.example.demo.mapper.pay", sqlSessionTemplateRef = "mysql3SqlSessionTemplate") public class DemoApplication { public static void main(String[] args) { diff --git a/src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java b/src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java index 52577d3..e03cc15 100644 --- a/src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java +++ b/src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java @@ -29,7 +29,7 @@ public class Mysql3DataSourceConfig { @Qualifier("globalConfiguration3") org.apache.ibatis.session.Configuration globalConfiguration3) throws Exception { SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); - sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:jindouMapper/*.xml")); + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:payMapper/*.xml")); sessionFactory.setConfiguration(globalConfiguration3); return sessionFactory.getObject(); } 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 0a4d0db..1a2b92d 100644 --- a/src/main/java/com/example/demo/controller/bean/BeanRechargeController.java +++ b/src/main/java/com/example/demo/controller/bean/BeanRechargeController.java @@ -80,4 +80,34 @@ public class BeanRechargeController { return Result.error("请检查数据的格式"); } } + + //线上充值 + @PostMapping("/selectByOnline") + public Result selectByOnline(@RequestBody BeanPage page) { + try { + if (ObjectUtils.isEmpty(page.getPageNum())) { + return Result.error("页码数为空!"); + } + if (ObjectUtils.isEmpty(page.getPageSize())) { + return Result.error("页大小为空!"); + } else { + return Result.success(beanRechargeService.selectByOnline(page.getPageNum(), page.getPageSize(), page.getBeanRechargeInfo())); + } + } catch (Exception e) { + e.printStackTrace(); + return Result.error("请检查筛选数据的格式"); + } + + } + + //线上金豆统计 + @PostMapping("/statsOnlineBean") + public Result statsOnlineBean(@RequestBody BeanRechargeInfo beanRechargeInfo) { + try { + GoldBean goldBean = beanRechargeService.statsOnlineBean(beanRechargeInfo); + return Result.success(goldBean); + } catch (Exception e) { + return Result.error("请检查数据的格式"); + } + } } \ No newline at end of file diff --git a/src/main/java/com/example/demo/domain/vo/bean/BeanRechargeInfo.java b/src/main/java/com/example/demo/domain/vo/bean/BeanRechargeInfo.java index 57ee8f5..ddd5372 100644 --- a/src/main/java/com/example/demo/domain/vo/bean/BeanRechargeInfo.java +++ b/src/main/java/com/example/demo/domain/vo/bean/BeanRechargeInfo.java @@ -28,8 +28,8 @@ public class BeanRechargeInfo { private String market; // 所属地区 private Integer freeBean; // 免费豆 private Integer permanentBean; // 永久豆 - private Integer money; // 金额 - private Integer num; // 数量 + private Double money; // 金额 + private Integer num; // 数量 private Double amount; // 金额 private String orderNo; // 订单号 private String remark; //备注 diff --git a/src/main/java/com/example/demo/domain/vo/bean/GoldBean.java b/src/main/java/com/example/demo/domain/vo/bean/GoldBean.java index 8c87de5..4ec287a 100644 --- a/src/main/java/com/example/demo/domain/vo/bean/GoldBean.java +++ b/src/main/java/com/example/demo/domain/vo/bean/GoldBean.java @@ -19,6 +19,6 @@ import lombok.NoArgsConstructor; public class GoldBean { private Integer freeBean; // 免费豆 private Integer permanentBean; // 永久豆 - private Integer money; // 金额 + private Double money; // 金额 private Integer beanNum; // 豆数量 } diff --git a/src/main/java/com/example/demo/mapper/pay/BeanRechargeMapper3.java b/src/main/java/com/example/demo/mapper/pay/BeanRechargeMapper3.java new file mode 100644 index 0000000..b43fb4a --- /dev/null +++ b/src/main/java/com/example/demo/mapper/pay/BeanRechargeMapper3.java @@ -0,0 +1,23 @@ +package com.example.demo.mapper.pay; + + +import com.example.demo.domain.vo.bean.BeanRechargeInfo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @program: gold-java + * @ClassName BeanRechargeMapper + * @description: + * @author: Double + * @create: 2025−07-30 15:43 + * @Version 1.0 + **/ + +@Mapper +public interface BeanRechargeMapper3 { + + List selectByOnline(BeanRechargeInfo beanRechargeInfo); + +} \ No newline at end of file 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 e5f7ed2..e3e3941 100644 --- a/src/main/java/com/example/demo/service/bean/BeanRechargeService.java +++ b/src/main/java/com/example/demo/service/bean/BeanRechargeService.java @@ -19,9 +19,18 @@ import com.github.pagehelper.PageInfo; public interface BeanRechargeService { + //线上充值 Result add(BeanRecharge recharge); + //系统充值 PageInfo selectBySystem(Integer pageNum, Integer pageSize, BeanRechargeInfo beanRechargeInfo); + //系统金豆统计 GoldBean statsSystemBean(BeanRechargeInfo beanRechargeInfo); + + //线上充值 + PageInfo selectByOnline(Integer pageNum, Integer pageSize, BeanRechargeInfo beanRechargeInfo); + + //线上金豆统计 + GoldBean statsOnlineBean(BeanRechargeInfo beanRechargeInfo); } \ 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 f91726e..d000fa3 100644 --- a/src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java @@ -8,15 +8,19 @@ import com.example.demo.domain.vo.coin.RechargeUser; import com.example.demo.domain.vo.coin.Result; import com.example.demo.mapper.bean.BeanRechargeMapper2; import com.example.demo.mapper.coin.BeanRechargeMapper1; +import com.example.demo.mapper.pay.BeanRechargeMapper3; 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 @@ -39,6 +43,9 @@ public class BeanRechargeServiceImpl implements BeanRechargeService { @Autowired private BeanRechargeMapper1 beanRechargeMapper1; + @Autowired + private BeanRechargeMapper3 beanRechargeMapper3; + //新增金豆 @Override @@ -65,6 +72,9 @@ public class BeanRechargeServiceImpl implements BeanRechargeService { if (recharge.getRemark() == null || recharge.getRemark().toString().isEmpty()) { return Result.error("备注不能为空"); } + if(recharge.getAdminName() == null || recharge.getAdminName().toString().isEmpty()){ + return Result.error("管理员名称不能为空"); + } beanRechargeMapper1.add(recharge); // String jwcode = recharge.getJwcode().toString(); // String op = "recharge"; // 操作类型(根据实际业务定义,例如"recharge"表示充值) @@ -93,6 +103,14 @@ public class BeanRechargeServiceImpl implements BeanRechargeService { } } + //系统充值明细 + @Override + public PageInfo selectBySystem(Integer pageNum, Integer pageSize, BeanRechargeInfo beanRechargeInfo){ + PageHelper.startPage(pageNum, pageSize); + List beanRechargeInfos = beanRechargeMapper2.selectBySystem(beanRechargeInfo); + return new PageInfo<>(beanRechargeInfos); + } + //统计系统金豆记录 @Override public GoldBean statsSystemBean(BeanRechargeInfo beanRechargeInfo) { @@ -102,7 +120,7 @@ public class BeanRechargeServiceImpl implements BeanRechargeService { // 初始化累加器 int permanentGoldSum = 0; int freeGoldSum = 0; - int moneySum = 0; + Double moneySum = 0.0; // 遍历充值记录并累加金币 for (BeanRechargeInfo info : beanRechargeInfos) { @@ -128,11 +146,40 @@ public class BeanRechargeServiceImpl implements BeanRechargeService { return gold; } - //系统充值明细 + //线上充值明细 @Override - public PageInfo selectBySystem(Integer pageNum, Integer pageSize, BeanRechargeInfo beanRechargeInfo){ + public PageInfo selectByOnline(Integer pageNum, Integer pageSize, BeanRechargeInfo beanRechargeInfo){ PageHelper.startPage(pageNum, pageSize); - List beanRechargeInfos = beanRechargeMapper2.selectBySystem(beanRechargeInfo); + List beanRechargeInfos = beanRechargeMapper3.selectByOnline(beanRechargeInfo); return new PageInfo<>(beanRechargeInfos); } + + //统计线上金豆记录 + @Override + public GoldBean statsOnlineBean(BeanRechargeInfo beanRechargeInfo) { + GoldBean gold = new GoldBean(); + List beanRechargeInfos = beanRechargeMapper3.selectByOnline(beanRechargeInfo); + + // 初始化累加器 + int countSum = 0; + Double moneySum = 0.0; + + // 遍历充值记录并累加金币 + for (BeanRechargeInfo info : beanRechargeInfos) { + // 累加数量 + if (info.getNum() != null) { + countSum += info.getNum(); + } + // 累加金额 + if (info.getMoney() != null) { + moneySum += info.getMoney(); + } + } + + // 将累加结果设置到Gold对象 + gold.setBeanNum(countSum); + gold.setMoney(moneySum); + return gold; + } + } \ No newline at end of file diff --git a/src/main/resources/paymapper/BeanRechargeMapper3.xml b/src/main/resources/paymapper/BeanRechargeMapper3.xml new file mode 100644 index 0000000..645003c --- /dev/null +++ b/src/main/resources/paymapper/BeanRechargeMapper3.xml @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file