From 3ca382419700698bf69d30b6f20d0fb493bd2c2d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 13 Mar 2024 10:40:01 +0800
Subject: [PATCH] app使用统计添加行政区划筛选

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java |   71 +++++++++++++++++++++++++++++++++--
 1 files changed, 66 insertions(+), 5 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java
index 698081f..24af6b5 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java
@@ -1,5 +1,8 @@
 package cn.gistack.sm.log.service.impl;
 
+import cn.gistack.pwd.dto.CBCResultDTO;
+import cn.gistack.pwd.dto.ResultDTO;
+import cn.gistack.pwd.fegin.IPwdClient;
 import cn.gistack.sm.log.entity.SmLogManage;
 import cn.gistack.sm.log.mapper.SmLogManageMapper;
 import cn.gistack.sm.log.service.ISmLogManageService;
@@ -7,11 +10,15 @@
 import cn.gistack.sm.log.vo.AppStatisticsVO;
 import cn.gistack.sm.log.vo.SmLogManageVO;
 import cn.gistack.system.user.feign.IUserClient;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -25,22 +32,76 @@
 @AllArgsConstructor
 public class ISmLogManageServiceImpl extends BaseServiceImpl<SmLogManageMapper, SmLogManage> implements ISmLogManageService {
 	private IUserClient userClient;
+	private IPwdClient pwdClient;
 
 	@Override
 	public AppStatisticsVO getAppStatistics(AppStatisticsVO appStatisticsVO) {
 
-		Integer appUserNum = baseMapper.getAppUserNum();
-		Integer sysUserNum = userClient.getAllUserList().getData().size();
+		String adCode = "";
+		if (StringUtil.isNotBlank(appStatisticsVO.getAdCode())){
+			String paramAd = appStatisticsVO.getAdCode();
+
+			if (paramAd.substring(0,4).indexOf("00") > -1) {
+				//前四位包含00说明是湖北省      4200/00000000
+				adCode =StringUtil.format("%{}%",paramAd.substring(0,2));
+			} else if (paramAd.substring(0,6).indexOf("00") > -1) {
+				//前六位包含00说明是市级    420100/000000
+//				adCode = paramAd.substring(0,4);
+				adCode =StringUtil.format("%{}%",paramAd.substring(0,4));
+			}else if (paramAd.substring(0,8).indexOf("00") > -1){
+				//前8位包含00 说明是区级     42011700/0000
+//				adCode = paramAd.substring(0,6);
+				adCode =StringUtil.format("%{}%",paramAd.substring(0,6));
+			}
+		}
+
+		int appUserNum = baseMapper.getAppUserNum(adCode);
+		int sysUserNum =userClient.getSysUserNum(appStatisticsVO.getAdCode());
+
 		appStatisticsVO.setSysUserNum(sysUserNum);
 		appStatisticsVO.setAppUserNum(appUserNum);
 
-		List<AppStatistics> appStatistics = baseMapper.getAppStatistics(appStatisticsVO);
-		appStatisticsVO.setList(appStatistics);
+//		List<AppStatistics> appStatistics = baseMapper.getAppStatistics(appStatisticsVO);
+//		appStatisticsVO.setList(appStatistics);
 		return appStatisticsVO;
 	}
 
 	@Override
 	public IPage<SmLogManageVO> selectPage(IPage<SmLogManageVO> page, SmLogManageVO smLogManage) {
-		return page.setRecords(baseMapper.selectMyPage(page,smLogManage));
+		List<SmLogManageVO> list = baseMapper.selectMyPage(page, smLogManage);
+
+		list.forEach(smLogManageVO ->{
+			SmLogManage log = new SmLogManage();
+
+			log.setIp(smLogManageVO.getIp());
+			log.setOperationDescription(smLogManageVO.getOperationDescription());
+			log.setUrl(smLogManageVO.getUrl());
+			log.setSource(smLogManage.getSource());
+
+			String message = JSONObject.toJSONString(log);
+			 pwdClient.verify(smLogManageVO.getMaced(),
+				 smLogManageVO.getSm4iv(),
+				 smLogManageVO.getKeyindexs(),
+				 message,smLogManageVO.getId().toString(),"sm_log_manage");
+		});
+
+		return page.setRecords(list);
+	}
+
+	@Override
+	public boolean save(SmLogManage entity) {
+
+		String message = JSONObject.toJSONString(entity);
+		R<CBCResultDTO> cbcResultDTOR =  pwdClient.getCBCMacEncipher(message);
+
+		//保存加密字段
+		String maced = cbcResultDTOR.getData().getMaced();
+		String keyIndex = cbcResultDTOR.getData().getKeyIndex();
+		String sm4iv = cbcResultDTOR.getData().getSm4IV();
+		entity.setMaced(maced);
+		entity.setKeyindexs(keyIndex);
+		entity.setSm4iv(sm4iv);
+
+		return super.save(entity);
 	}
 }

--
Gitblit v1.9.3