|
@@ -1,62 +1,53 @@
|
|
|
package com.ydtech.modules.admin.service.impl;
|
|
package com.ydtech.modules.admin.service.impl;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.jthinking.common.util.ip.IPInfo;
|
|
|
|
|
-import com.jthinking.common.util.ip.IPInfoUtils;
|
|
|
|
|
import com.ydtech.modules.admin.dao.SysPcAddressMapper;
|
|
import com.ydtech.modules.admin.dao.SysPcAddressMapper;
|
|
|
import com.ydtech.modules.admin.model.SysUser;
|
|
import com.ydtech.modules.admin.model.SysUser;
|
|
|
-import com.ydtech.modules.admin.model.po.SysPcAddress;
|
|
|
|
|
|
|
+import com.ydtech.modules.admin.model.dto.IpInfoDto;
|
|
|
import com.ydtech.modules.admin.model.po.SysPcAddressHistory;
|
|
import com.ydtech.modules.admin.model.po.SysPcAddressHistory;
|
|
|
|
|
+import com.ydtech.modules.admin.model.po.SysPcAddress;
|
|
|
import com.ydtech.modules.admin.service.SysPcAddressHistoryService;
|
|
import com.ydtech.modules.admin.service.SysPcAddressHistoryService;
|
|
|
import com.ydtech.modules.admin.service.SysPcAddressService;
|
|
import com.ydtech.modules.admin.service.SysPcAddressService;
|
|
|
-import com.ydtech.modules.base.controller.BaseController;
|
|
|
|
|
-import com.ydtech.utils.IPUtil;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
-import org.springframework.web.context.request.RequestContextHolder;
|
|
|
|
|
-import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
|
-
|
|
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
-import java.util.Collections;
|
|
|
|
|
-import java.util.Date;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
-import java.util.Objects;
|
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
-* @author Administrator
|
|
|
|
|
-* @description 针对表【sys_pc_address(pc获取ip地址)】的数据库操作Service实现
|
|
|
|
|
-* @createDate 2024-09-02 09:40:08
|
|
|
|
|
-*/
|
|
|
|
|
|
|
+ * @author Administrator
|
|
|
|
|
+ * @description 针对表【sys_pc_address(pc获取ip地址)】的数据库操作Service实现
|
|
|
|
|
+ * @createDate 2024-09-02 09:40:08
|
|
|
|
|
+ */
|
|
|
@Service
|
|
@Service
|
|
|
@RequiredArgsConstructor
|
|
@RequiredArgsConstructor
|
|
|
-public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, SysPcAddress>
|
|
|
|
|
- implements SysPcAddressService {
|
|
|
|
|
|
|
+public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, SysPcAddress> implements SysPcAddressService {
|
|
|
|
|
|
|
|
private final SysPcAddressHistoryService sysPcAddressHistoryService;
|
|
private final SysPcAddressHistoryService sysPcAddressHistoryService;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void saveSysPcAddress(SysUser user) {
|
|
|
|
|
|
|
+ public void saveSysPcAddress(IpInfoDto ipInfoDto, SysUser user) {
|
|
|
|
|
+
|
|
|
SysPcAddress sysPcAddress = getById(user.getId());
|
|
SysPcAddress sysPcAddress = getById(user.getId());
|
|
|
if (sysPcAddress == null) {
|
|
if (sysPcAddress == null) {
|
|
|
- sysPcAddress=new SysPcAddress();
|
|
|
|
|
|
|
+ sysPcAddress = new SysPcAddress();
|
|
|
}
|
|
}
|
|
|
- HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
|
|
|
|
|
- String ipAddr = IPUtil.getIpAddr(request);
|
|
|
|
|
- IPInfo ipInfo = IPInfoUtils.getIpInfo(ipAddr);
|
|
|
|
|
sysPcAddress.setUserId(user.getId());
|
|
sysPcAddress.setUserId(user.getId());
|
|
|
sysPcAddress.setUserName(user.getName());
|
|
sysPcAddress.setUserName(user.getName());
|
|
|
- sysPcAddress.setIp(ipAddr);
|
|
|
|
|
- sysPcAddress.setLatitude(String.valueOf(ipInfo.getLat()));
|
|
|
|
|
- sysPcAddress.setLongitude(String.valueOf(ipInfo.getLng()));
|
|
|
|
|
- sysPcAddress.setAddress(ipInfo.getAddress());
|
|
|
|
|
|
|
+ sysPcAddress.setIp(ipInfoDto.getIp());
|
|
|
|
|
+ sysPcAddress.setLatitude(ipInfoDto.getLat());
|
|
|
|
|
+ sysPcAddress.setLongitude(ipInfoDto.getLng());
|
|
|
|
|
+ sysPcAddress.setProv(ipInfoDto.getProv());
|
|
|
|
|
+ sysPcAddress.setCity(ipInfoDto.getCity());
|
|
|
|
|
+ sysPcAddress.setDistrict(ipInfoDto.getDistrict());
|
|
|
|
|
+ sysPcAddress.setAddress(ipInfoDto.getProv() + ipInfoDto.getCity() + ipInfoDto.getDistrict());
|
|
|
sysPcAddress.setOperationTime(new Date());
|
|
sysPcAddress.setOperationTime(new Date());
|
|
|
|
|
|
|
|
|
|
+
|
|
|
SysPcAddressHistory sysPcAddressHistory = new SysPcAddressHistory();
|
|
SysPcAddressHistory sysPcAddressHistory = new SysPcAddressHistory();
|
|
|
BeanUtils.copyProperties(sysPcAddress, sysPcAddressHistory);
|
|
BeanUtils.copyProperties(sysPcAddress, sysPcAddressHistory);
|
|
|
- saveOrUpdate(sysPcAddress);
|
|
|
|
|
|
|
+ this.saveOrUpdate(sysPcAddress);
|
|
|
sysPcAddressHistoryService.save(sysPcAddressHistory);
|
|
sysPcAddressHistoryService.save(sysPcAddressHistory);
|
|
|
}
|
|
}
|
|
|
|
|
|