package com.example.demo.serviceImpl; import com.example.demo.domain.entity.User; import com.example.demo.domain.vo.Gold; import com.example.demo.domain.vo.GoldUser; import com.example.demo.mapper.ConsumeMapper; import com.example.demo.mapper.UserMapper; import com.example.demo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; /** * @program: gold-java * @ClassName UserServiceImpl * @description: * @author: Double * @create: 2025−06-25 10:32 * @Version 1.0 **/ @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public GoldUser selectUser(String jwcode) { GoldUser user = userMapper.selectUser(jwcode); return user; } @Override public User selectAllUser(String jwcode) { User user = userMapper.selectAllUser(jwcode); return user; } @Override public void updateAllGold(User user) { userMapper.updateAllGold(user); } @Override public void addUser(User user) { userMapper.addUser(user); } /* 每小时更新用户首充时间 */ @Override @Scheduled(cron = "0 0 0 * * ?") public void updateFirstRecharge() { List jwcodeList = userMapper.getAllJwcode(); for(Integer jwcode : jwcodeList){ Date earliestPayTime = userMapper.getEarliestRecharge(jwcode); if (earliestPayTime != null){ //获取用户的首充时间 Date currentFirstRecharge = userMapper.selectUserByJwcode(jwcode).getFirstRecharge(); //弱国首充时间为空或与最早支付时间不一致则更新 if (currentFirstRecharge == null || !currentFirstRecharge.after(earliestPayTime)){ userMapper.updateFirstRecharge(jwcode, earliestPayTime); System.out.println("更新了用户" + jwcode + "的首充时间为"+earliestPayTime); } } } } @Override public GoldUser selectgold(String jwcode) { GoldUser gold = userMapper.selectGold(jwcode); return gold; } }