From f20611265f7d34fd4fbcdfdaff6cb9cccd0b25fc Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Fri, 21 Jun 2024 11:53:21 +0800
Subject: [PATCH] 湖北水库:施工:项目查询过滤无效修复、根据角色查询用户
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java | 89 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 89 insertions(+), 0 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 409c3da..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,10 +1,25 @@
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;
+import cn.gistack.sm.log.vo.AppStatistics;
+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;
/**
* @ClassName ISmLogManageServiceImpl
@@ -14,5 +29,79 @@
* @Version 1.0
*/
@Service
+@AllArgsConstructor
public class ISmLogManageServiceImpl extends BaseServiceImpl<SmLogManageMapper, SmLogManage> implements ISmLogManageService {
+ private IUserClient userClient;
+ private IPwdClient pwdClient;
+
+ @Override
+ public AppStatisticsVO getAppStatistics(AppStatisticsVO appStatisticsVO) {
+
+ 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);
+ return appStatisticsVO;
+ }
+
+ @Override
+ public IPage<SmLogManageVO> selectPage(IPage<SmLogManageVO> page, SmLogManageVO 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