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.

80 lines
2.3 KiB

2 months ago
2 months ago
2 months ago
  1. package com.example.demo.serviceImpl;
  2. import com.example.demo.domain.entity.User;
  3. import com.example.demo.domain.vo.Gold;
  4. import com.example.demo.domain.vo.GoldUser;
  5. import com.example.demo.mapper.ConsumeMapper;
  6. import com.example.demo.mapper.UserMapper;
  7. import com.example.demo.service.UserService;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.scheduling.annotation.Scheduled;
  10. import org.springframework.stereotype.Service;
  11. import java.util.Date;
  12. import java.util.List;
  13. /**
  14. * @program: gold-java
  15. * @ClassName UserServiceImpl
  16. * @description:
  17. * @author: Double
  18. * @create: 202506-25 10:32
  19. * @Version 1.0
  20. **/
  21. @Service
  22. public class UserServiceImpl implements UserService {
  23. @Autowired
  24. private UserMapper userMapper;
  25. @Override
  26. public GoldUser selectUser(String jwcode) {
  27. GoldUser user = userMapper.selectUser(jwcode);
  28. return user;
  29. }
  30. @Override
  31. public User selectAllUser(String jwcode) {
  32. User user = userMapper.selectAllUser(jwcode);
  33. return user;
  34. }
  35. @Override
  36. public void updateAllGold(User user) {
  37. userMapper.updateAllGold(user);
  38. }
  39. @Override
  40. public void addUser(User user) {
  41. userMapper.addUser(user);
  42. }
  43. /*
  44. 每小时更新用户首充时间
  45. */
  46. @Override
  47. @Scheduled(cron = "0 0 0 * * ?")
  48. public void updateFirstRecharge() {
  49. List<Integer> jwcodeList = userMapper.getAllJwcode();
  50. for(Integer jwcode : jwcodeList){
  51. Date earliestPayTime = userMapper.getEarliestRecharge(jwcode);
  52. if (earliestPayTime != null){
  53. //获取用户的首充时间
  54. Date currentFirstRecharge = userMapper.selectUserByJwcode(jwcode).getFirstRecharge();
  55. //弱国首充时间为空或与最早支付时间不一致则更新
  56. if (currentFirstRecharge == null || !currentFirstRecharge.after(earliestPayTime)){
  57. userMapper.updateFirstRecharge(jwcode, earliestPayTime);
  58. System.out.println("更新了用户" + jwcode + "的首充时间为"+earliestPayTime);
  59. }
  60. }
  61. }
  62. }
  63. @Override
  64. public GoldUser selectgold(String jwcode) {
  65. GoldUser gold = userMapper.selectGold(jwcode);
  66. return gold;
  67. }
  68. }