You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
2.6 KiB

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<RefundUser> selectAll(Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<RefundUser> refundUsers = refundMapper.selectAll();
return new PageInfo<>(refundUsers);
}
@Override
public Gold statsGold() {
Gold gold = new Gold();
List<RefundUser> 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<RefundUser> selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser) {
PageHelper.startPage(pageNum, pageSize);
List<RefundUser> refundUsers = refundMapper.selectBy(refundUser);
return new PageInfo<>(refundUsers);
}
@Override
public Result add(RefundUser refundUser) {
return null;
}
}