SysPcAddressServiceImpl.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.ydtech.modules.admin.service.impl;
  2. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  3. import com.ydtech.modules.admin.dao.SysPcAddressMapper;
  4. import com.ydtech.modules.admin.model.SysUser;
  5. import com.ydtech.modules.admin.model.dto.IpInfoDto;
  6. import com.ydtech.modules.admin.model.po.SysPcAddressHistory;
  7. import com.ydtech.modules.admin.model.po.SysPcAddress;
  8. import com.ydtech.modules.admin.service.SysPcAddressHistoryService;
  9. import com.ydtech.modules.admin.service.SysPcAddressService;
  10. import lombok.RequiredArgsConstructor;
  11. import org.springframework.beans.BeanUtils;
  12. import org.springframework.stereotype.Service;
  13. import org.springframework.transaction.annotation.Transactional;
  14. import java.util.*;
  15. /**
  16. * @author Administrator
  17. * @description 针对表【sys_pc_address(pc获取ip地址)】的数据库操作Service实现
  18. * @createDate 2024-09-02 09:40:08
  19. */
  20. @Service
  21. @RequiredArgsConstructor
  22. public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, SysPcAddress> implements SysPcAddressService {
  23. private final SysPcAddressHistoryService sysPcAddressHistoryService;
  24. @Override
  25. @Transactional(rollbackFor = Exception.class)
  26. public void saveSysPcAddress(IpInfoDto ipInfoDto, SysUser user) {
  27. SysPcAddress sysPcAddress = getById(user.getId());
  28. if (sysPcAddress == null) {
  29. sysPcAddress = new SysPcAddress();
  30. }
  31. sysPcAddress.setUserId(user.getId());
  32. sysPcAddress.setUserName(user.getName());
  33. sysPcAddress.setIp(ipInfoDto.getIp());
  34. sysPcAddress.setLatitude(ipInfoDto.getLat());
  35. sysPcAddress.setLongitude(ipInfoDto.getLng());
  36. sysPcAddress.setProv(ipInfoDto.getProv());
  37. sysPcAddress.setCity(ipInfoDto.getCity());
  38. sysPcAddress.setDistrict(ipInfoDto.getDistrict());
  39. sysPcAddress.setAddress(ipInfoDto.getProv() + ipInfoDto.getCity() + ipInfoDto.getDistrict());
  40. sysPcAddress.setOperationTime(new Date());
  41. SysPcAddressHistory sysPcAddressHistory = new SysPcAddressHistory();
  42. BeanUtils.copyProperties(sysPcAddress, sysPcAddressHistory);
  43. this.saveOrUpdate(sysPcAddress);
  44. sysPcAddressHistoryService.save(sysPcAddressHistory);
  45. }
  46. @Override
  47. public List<SysPcAddress> getEveryone() {
  48. return list();
  49. }
  50. }