package com.example.demo.serviceImpl; import com.example.demo.domain.vo.ConsumeUser; import com.example.demo.domain.vo.Gold; import com.example.demo.domain.vo.RefundUser; import com.example.demo.domain.vo.Result; import com.example.demo.mapper.ConsumeMapper; import com.example.demo.mapper.RefundMapper; import com.example.demo.mapper.UserMapper; import com.example.demo.service.RefundService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @program: gold-java * @ClassName RefundServiceImpl * @description: * @author: Double * @create: 2025−06-27 11:50 * @Version 1.0 **/ @Service public class RefundServiceImpl implements RefundService { @Autowired private RefundMapper refundMapper; @Autowired private UserMapper userMapper; @Override public PageInfo selectAll(Integer pageNum, Integer pageSize) { PageHelper.startPage(pageNum, pageSize); List refundUsers = refundMapper.selectAll(); return new PageInfo<>(refundUsers); } @Override public Gold statsGold() { Gold gold = new Gold(); List refundUsers = refundMapper.selectAll(); // 初始化累加器 int permanentGoldSum = 0; int freeGoldSum = 0; int taskGoldSum = 0; // 遍历推开记录并累加金币 for (RefundUser refundUser : refundUsers) { // 累加永久金币 if (refundUser.getPermanentGold() != null) { permanentGoldSum += refundUser.getPermanentGold(); } // 累加免费金币 if (refundUser.getFreeGold() != null) { freeGoldSum += refundUser.getFreeGold(); } // 累加任务金币 if (refundUser.getTaskGold() != null) { taskGoldSum += refundUser.getTaskGold(); } } // 将累加结果设置到Gold对象 gold.setPermanentGolds(permanentGoldSum); gold.setFreeGolds(freeGoldSum); gold.setTaskGolds(taskGoldSum); return gold; } @Override public PageInfo selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser) { PageHelper.startPage(pageNum, pageSize); List refundUsers = refundMapper.selectBy(refundUser); return new PageInfo<>(refundUsers); } @Override public Result add(RefundUser refundUser) { return null; } }