helixiao il y a 2 ans
Parent
commit
be3dea07e2

+ 9 - 4
src/main/java/com/ydtech/modules/admin/controller/SysPcAddressController.java

@@ -2,6 +2,7 @@ package com.ydtech.modules.admin.controller;
 
 
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.constants.SystemType;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.po.SysPcAddressHistory;
@@ -53,8 +54,12 @@ public class SysPcAddressController extends BaseController{
     @ApiOperation(value = "保存登录用户位置信息")
     public HttpResult saveIpInfo(@RequestBody IpInfoDto ipInfoDto) {
         SysUser user = BaseController.getUser();
-        // 保存登录信息
-        sysUserService.saveLoginIpAddr(ipInfoDto,user);
+        if (SystemType.ST_1.getCode().equals(ipInfoDto.getSystemType())) {
+            try {
+                // 保存登录信息
+                sysPcAddressService.saveSysPcAddress(ipInfoDto,user);
+            }catch (Exception e){}
+        }
         return HttpResult.ok("保存成功");
 
     }
@@ -69,13 +74,13 @@ public class SysPcAddressController extends BaseController{
     }
 
     @GetMapping("/queryPcNum")
-    @ApiOperation(value = "查询所有用户的位置列表")
+    @ApiOperation(value = "人员数量概览")
     public HttpResult<SysPcAddressNumVo> queryPcNum() {
         return HttpResult.ok("success", this.sysPcAddressService.queryPcNum());
     }
 
     @GetMapping("/queryRegionInfo/{type}")
-    @ApiOperation(value = "查询所有用户的位置列表")
+    @ApiOperation(value = "区域人员概览")
     public HttpResult<List<RegionInfoVo>> queryRegionInfo(@PathVariable("type") Integer type) {
         return HttpResult.ok("success", this.sysPcAddressService.queryRegionInfo(type));
     }

+ 14 - 2
src/main/java/com/ydtech/modules/admin/controller/websocket/SysGeographyPositionController.java

@@ -2,11 +2,11 @@ package com.ydtech.modules.admin.controller.websocket;
 
 
 import com.ydtech.core.page.HttpResult;
-import com.ydtech.modules.admin.model.SysGeographyPosition;
 import com.ydtech.modules.admin.model.SysGeographyPositionRecord;
 import com.ydtech.modules.admin.model.dto.SysGeographyPositionDto;
 import com.ydtech.modules.admin.model.dto.SysGeographyPositionPageDto;
-import com.ydtech.modules.admin.model.vo.SysGeographyPositionInfoVo;
+import com.ydtech.modules.admin.model.dto.SysPcAddressNumVo;
+import com.ydtech.modules.admin.model.vo.RegionInfoVo;
 import com.ydtech.modules.admin.model.vo.SysGeographyPositionVo;
 import com.ydtech.modules.admin.service.SysGeographyPositionService;
 import com.ydtech.modules.order.entity.BasePageResult;
@@ -44,6 +44,18 @@ public class SysGeographyPositionController {
         return HttpResult.ok("success", this.sysGeographyPositionService.queryPositionList(sysGeographyPositionPageDto));
     }
 
+    @GetMapping("/queryPcNum")
+    @ApiOperation(value = "人员数量概览")
+    public HttpResult<SysPcAddressNumVo> queryPcNum() {
+        return HttpResult.ok("success", this.sysGeographyPositionService.queryPcNum());
+    }
+
+    @GetMapping("/queryRegionInfo/{type}")
+    @ApiOperation(value = "区域人员概览")
+    public HttpResult<List<RegionInfoVo>> queryRegionInfo(@PathVariable("type") Integer type) {
+        return HttpResult.ok("success", this.sysGeographyPositionService.queryRegionInfo(type));
+    }
+
 
 
 }

+ 0 - 17
src/main/java/com/ydtech/modules/admin/model/dto/SysPcAddressNumVo.java

@@ -4,8 +4,6 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.util.List;
-
 @Data
 @ApiModel(value ="PC数量统计")
 public class SysPcAddressNumVo {
@@ -20,19 +18,4 @@ public class SysPcAddressNumVo {
     private Long channelNum;
 
 
-    @ApiModelProperty(value = "区域人员信息")
-    private List<RegionInfo> list;
-
-    @Data
-    public class RegionInfo {
-
-        @ApiModelProperty(value = "区域名称")
-        private String districtName;
-
-        @ApiModelProperty(value = "人数")
-        private String number;
-
-    }
-
-
 }

+ 1 - 1
src/main/java/com/ydtech/modules/admin/model/vo/RegionInfoVo.java

@@ -13,5 +13,5 @@ public class RegionInfoVo {
     private String districtName;
 
     @ApiModelProperty(value = "人数")
-    private String number;
+    private Integer number;
 }

+ 6 - 1
src/main/java/com/ydtech/modules/admin/service/SysGeographyPositionService.java

@@ -5,7 +5,8 @@ import com.ydtech.modules.admin.model.SysGeographyPosition;
 import com.ydtech.modules.admin.model.SysGeographyPositionRecord;
 import com.ydtech.modules.admin.model.dto.SysGeographyPositionDto;
 import com.ydtech.modules.admin.model.dto.SysGeographyPositionPageDto;
-import com.ydtech.modules.admin.model.vo.SysGeographyPositionInfoVo;
+import com.ydtech.modules.admin.model.dto.SysPcAddressNumVo;
+import com.ydtech.modules.admin.model.vo.RegionInfoVo;
 import com.ydtech.modules.admin.model.vo.SysGeographyPositionVo;
 import com.ydtech.modules.order.entity.BasePageResult;
 
@@ -16,4 +17,8 @@ public interface SysGeographyPositionService extends IService<SysGeographyPositi
     SysGeographyPositionVo queryPosition(SysGeographyPositionDto sysGeographyPositionDto);
 
     BasePageResult<SysGeographyPositionRecord> queryPositionList(SysGeographyPositionPageDto sysGeographyPositionPageDto);
+
+    SysPcAddressNumVo queryPcNum();
+
+    List<RegionInfoVo> queryRegionInfo(Integer type);
 }

+ 0 - 6
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -243,12 +243,6 @@ public interface SysUserService extends BaseIService<SysUser> {
      */
     List<String> getTelemarketingPersonnelData();
 
-    /**
-     * 保存 ip 地址
-     *
-     */
-    void saveLoginIpAddr(IpInfoDto ipInfoDto, SysUser user);
-
 
 }
 

+ 79 - 2
src/main/java/com/ydtech/modules/admin/service/impl/SysGeographyPositionServiceImpl.java

@@ -13,10 +13,10 @@ import com.ydtech.modules.admin.model.SysGeographyPositionRecord;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.dto.SysGeographyPositionDto;
 import com.ydtech.modules.admin.model.dto.SysGeographyPositionPageDto;
-import com.ydtech.modules.admin.model.po.SysPcAddress;
+import com.ydtech.modules.admin.model.dto.SysPcAddressNumVo;
+import com.ydtech.modules.admin.model.vo.RegionInfoVo;
 import com.ydtech.modules.admin.model.vo.SysGeographyPositionInfoVo;
 import com.ydtech.modules.admin.model.vo.SysGeographyPositionVo;
-import com.ydtech.modules.admin.service.SysDeptService;
 import com.ydtech.modules.admin.service.SysGeographyPositionRecordService;
 import com.ydtech.modules.admin.service.SysGeographyPositionService;
 import com.ydtech.modules.admin.service.SysUserService;
@@ -27,6 +27,8 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 @Service("SysGeographyPositionService")
 public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPositionMapper, SysGeographyPosition> implements SysGeographyPositionService {
@@ -93,4 +95,79 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
     }
 
 
+    @Override
+    public SysPcAddressNumVo queryPcNum() {
+        SysPcAddressNumVo sysPcAddressNumVo = new SysPcAddressNumVo();
+
+        Long all = sysGeographyPositionMapper.selectCount(new LambdaQueryWrapper<SysGeographyPosition>());
+        Long channelNum = sysGeographyPositionMapper.selectCount(new LambdaQueryWrapper<SysGeographyPosition>().eq(SysGeographyPosition::getSource,1));
+        Long proxyNum = sysGeographyPositionMapper.selectCount(new LambdaQueryWrapper<SysGeographyPosition>().eq(SysGeographyPosition::getSource,2));
+        sysPcAddressNumVo.setAllNum(all);
+        sysPcAddressNumVo.setProxyNum(proxyNum);
+        sysPcAddressNumVo.setChannelNum(channelNum);
+
+
+        return sysPcAddressNumVo;
+    }
+
+    @Override
+    public List<RegionInfoVo> queryRegionInfo(Integer type) {
+        List<RegionInfoVo> regionInfoVos = new ArrayList<>();
+        //全部:0   渠道:1 代理:2
+        if (type == 0){
+            List<SysGeographyPosition> list = list();
+            Map<String, List<SysGeographyPosition>> map = list.stream().collect(Collectors.groupingBy(SysGeographyPosition::getDistrict));
+
+            for (Map.Entry<String, List<SysGeographyPosition>> entry : map.entrySet()) {
+                RegionInfoVo regionInfoVo = new RegionInfoVo();
+                String key = entry.getKey();
+                List<SysGeographyPosition> list1 = entry.getValue();
+                int listSize = list1.size();
+                System.out.println("Key: " + key + ", List size: " + listSize);
+                regionInfoVo.setDistrictName(key);
+                regionInfoVo.setNumber(list1.size());
+                regionInfoVos.add(regionInfoVo);
+            }
+
+        }else if (type == 1) {
+            List<SysGeographyPosition> sysPcAddresses = sysGeographyPositionMapper.selectList(new LambdaQueryWrapper<SysGeographyPosition>().eq(SysGeographyPosition::getSource, 1));
+            Map<String, List<SysGeographyPosition>> map = sysPcAddresses.stream().collect(Collectors.groupingBy(SysGeographyPosition::getDistrict));
+
+            for (Map.Entry<String, List<SysGeographyPosition>> entry : map.entrySet()) {
+                RegionInfoVo regionInfoVo = new RegionInfoVo();
+                String key = entry.getKey();
+                List<SysGeographyPosition> list1 = entry.getValue();
+                int listSize = list1.size();
+                System.out.println("Key: " + key + ", List size: " + listSize);
+                regionInfoVo.setDistrictName(key);
+                regionInfoVo.setNumber(list1.size());
+                regionInfoVos.add(regionInfoVo);
+            }
+
+
+        }else if (type == 2){
+
+            List<SysGeographyPosition> sysPcAddresses = sysGeographyPositionMapper.selectList(new LambdaQueryWrapper<SysGeographyPosition>().eq(SysGeographyPosition::getSource, 2));
+            Map<String, List<SysGeographyPosition>> map = sysPcAddresses.stream().collect(Collectors.groupingBy(SysGeographyPosition::getDistrict));
+
+            for (Map.Entry<String, List<SysGeographyPosition>> entry : map.entrySet()) {
+                RegionInfoVo regionInfoVo = new RegionInfoVo();
+                String key = entry.getKey();
+                List<SysGeographyPosition> list1 = entry.getValue();
+                int listSize = list1.size();
+                System.out.println("Key: " + key + ", List size: " + listSize);
+                regionInfoVo.setDistrictName(key);
+                regionInfoVo.setNumber(list1.size());
+                regionInfoVos.add(regionInfoVo);
+            }
+        }
+
+
+        return regionInfoVos;
+
+    }
+
+
+
+
 }

+ 35 - 14
src/main/java/com/ydtech/modules/admin/service/impl/SysPcAddressServiceImpl.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.admin.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.modules.admin.dao.SysDeptMapper;
 import com.ydtech.modules.admin.dao.SysPcAddressMapper;
@@ -11,12 +10,9 @@ import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.po.SysPcAddressHistory;
 import com.ydtech.modules.admin.model.po.SysPcAddress;
 import com.ydtech.modules.admin.model.vo.RegionInfoVo;
-import com.ydtech.modules.admin.model.vo.SysDeptTreeVo;
 import com.ydtech.modules.admin.service.GeoService;
 import com.ydtech.modules.admin.service.SysPcAddressHistoryService;
 import com.ydtech.modules.admin.service.SysPcAddressService;
-import com.ydtech.modules.admin.service.SysUserService;
-import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.utils.StringUtils;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
@@ -118,26 +114,51 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
         List<RegionInfoVo> regionInfoVos = new ArrayList<>();
         //全部:0   渠道:1 代理:2
         if (type == 0){
-            RegionInfoVo regionInfoVo = new RegionInfoVo();
             List<SysPcAddress> list = list();
             Map<String, List<SysPcAddress>> map = list.stream().collect(Collectors.groupingBy(SysPcAddress::getDistrict));
 
-//            map.forEach();
-//            for (Map.Entry<String, List<String>> entry : map.entrySet()) {
-//                String key = entry.getKey();
-//                List<String> list = entry.getValue();
-//                int listSize = list.size();
-//                System.out.println("Key: " + key + ", List size: " + listSize);
-//            }
-
+            for (Map.Entry<String, List<SysPcAddress>> entry : map.entrySet()) {
+                RegionInfoVo regionInfoVo = new RegionInfoVo();
+                String key = entry.getKey();
+                List<SysPcAddress> list1 = entry.getValue();
+                int listSize = list1.size();
+                System.out.println("Key: " + key + ", List size: " + listSize);
+                regionInfoVo.setDistrictName(key);
+                regionInfoVo.setNumber(list1.size());
+                regionInfoVos.add(regionInfoVo);
+            }
 
         }else if (type == 1) {
             List<SysPcAddress> sysPcAddresses = sysPcAddressMapper.selectList(new LambdaQueryWrapper<SysPcAddress>().eq(SysPcAddress::getSource, 1));
+            Map<String, List<SysPcAddress>> map = sysPcAddresses.stream().collect(Collectors.groupingBy(SysPcAddress::getDistrict));
+
+            for (Map.Entry<String, List<SysPcAddress>> entry : map.entrySet()) {
+                RegionInfoVo regionInfoVo = new RegionInfoVo();
+                String key = entry.getKey();
+                List<SysPcAddress> list1 = entry.getValue();
+                int listSize = list1.size();
+                System.out.println("Key: " + key + ", List size: " + listSize);
+                regionInfoVo.setDistrictName(key);
+                regionInfoVo.setNumber(list1.size());
+                regionInfoVos.add(regionInfoVo);
+            }
+
 
         }else if (type == 2){
 
             List<SysPcAddress> sysPcAddresses = sysPcAddressMapper.selectList(new LambdaQueryWrapper<SysPcAddress>().eq(SysPcAddress::getSource, 2));
-
+            Map<String, List<SysPcAddress>> map = sysPcAddresses.stream().collect(Collectors.groupingBy(SysPcAddress::getDistrict));
+
+            for (Map.Entry<String, List<SysPcAddress>> entry : map.entrySet()) {
+                RegionInfoVo regionInfoVo = new RegionInfoVo();
+                String key = entry.getKey();
+                List<SysPcAddress> list1 = entry.getValue();
+                int listSize = list1.size();
+                System.out.println("Key: " + key + ", List size: " + listSize);
+                regionInfoVo.setDistrictName(key);
+                regionInfoVo.setNumber(list1.size());
+                regionInfoVos.add(regionInfoVo);
+            }
         }
 
 

+ 0 - 10
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -1611,14 +1611,4 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return baseMapper.getTelemarketingPersonnelUserId();
     }
 
-    @Override
-    public void saveLoginIpAddr(IpInfoDto ipInfoDto, SysUser user) {
-        if (SystemType.ST_1.getCode().equals(ipInfoDto.getSystemType())) {
-            try {
-                sysPcAddressService.saveSysPcAddress(ipInfoDto,user);
-            }catch (Exception e){}
-        }
-
-    }
-
 }