Commit d4b78777 by wuchao

新版本

parent 3ba59f4c
package com.chenyang.nse.bussiness.controller.core.log.app;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.chenyang.nse.bussiness.commmon.json.RespHelper;
import com.chenyang.nse.bussiness.commmon.json.Response;
import com.chenyang.nse.bussiness.config.PropertiesLoaderUtils;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping({"/core/log/app/appexecutelog"})
public class AppExecuteLogController {
@GetMapping({"/getapplog"})
@ResponseBody
public Response getauditlog(@RequestParam("date") String date, @RequestParam("type") String type) throws IOException {
new Properties();
Properties props = PropertiesLoaderUtils.loadAllProperties("config.properties");
String filepath = props.getProperty("appserverlogpath");
String typename = "";
JSONArray jsonArray = new JSONArray();
if ("1".equals(type)) {
typename = "masking";
} else if ("2".equals(type)) {
typename = "audit";
}
String path = filepath + File.separator + typename + File.separator + date + ".txt";
File file = new File(path);
BufferedReader reader = null;
reader = new BufferedReader(new FileReader(file));
String linestr = null;
while((linestr = reader.readLine()) != null) {
JSONObject jsonObject = JSONObject.parseObject(linestr);
jsonArray.add(jsonObject);
}
return RespHelper.successResp(jsonArray);
}
}
package com.chenyang.nse.bussiness.controller.core.rule;
import com.chenyang.nse.bussiness.commmon.json.RespHelper;
import com.chenyang.nse.bussiness.commmon.json.Response;
import com.chenyang.nse.bussiness.engine.infa.powercenter961.pubtool.StringUtil;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.app.AppDataRule;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions.ApplicationConditions;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions.DateConditions;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions.DbuserConditions;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions.IpConditions;
import com.chenyang.nse.bussiness.service.core.AppDataRuleService;
import com.chenyang.nse.bussiness.tools.login.CommonUtils;
import com.chenyang.nse.bussiness.tools.msg.MesUtil;
import com.chenyang.nse.bussiness.tools.object.ObjectTool;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping({"/core/rule/appdatarule"})
public class AppDataRuleController {
@Autowired
private AppDataRuleService appDataRuleService;
private static final Logger ddmauditLogger = LoggerFactory.getLogger("ddmauditLogger");
private static final Logger operationLogger = LoggerFactory.getLogger("operationLogger");
@PostMapping({"/add"})
@ResponseBody
public Response appDataRuleAdd(@RequestBody Map<String, Object> params) {
AppDataRule ruleinfo = (AppDataRule)ObjectTool.getObjectByMap(AppDataRule.class, (Map)params.get("ruleinfo"));
String id = ruleinfo.getId();
AppDataRule appDataRule = new AppDataRule();
BeanUtils.copyProperties(ruleinfo, appDataRule);
if (StringUtil.isBlank(id)) {
appDataRule.setId(UUID.randomUUID().toString());
ddmauditLogger.info(MesUtil.getMsg("DDM_01401", new String[]{CommonUtils.loginUsername(), ruleinfo.getRulename()}));
} else {
this.appDataRuleService.delIpConditionsInfoByRuleId(id);
this.appDataRuleService.delApplicationConditionsInfoByRuleId(id);
this.appDataRuleService.delDbuserConditionsInfoByRuleId(id);
this.appDataRuleService.delDateConditionsInfoByRuleId(id);
ddmauditLogger.info(MesUtil.getMsg("DDM_01403", new String[]{CommonUtils.loginUsername(), ruleinfo.getRulename()}));
}
List ipconditionslist = (List)params.get("ipconditionslist");
ipconditionslist.forEach((ipconditions) -> {
IpConditions ipcs = (IpConditions)ObjectTool.getObjectByMap(IpConditions.class, (Map)ipconditions);
IpConditions ipConditions = new IpConditions();
BeanUtils.copyProperties(ipcs, ipConditions);
ipConditions.setRuleid(appDataRule.getId());
this.appDataRuleService.saveIpConditionsInfo(ipConditions);
});
List applicationconditionslist = (List)params.get("applicationconditionslist");
applicationconditionslist.forEach((applicationconditions) -> {
ApplicationConditions appcs = (ApplicationConditions)ObjectTool.getObjectByMap(ApplicationConditions.class, (Map)applicationconditions);
ApplicationConditions applicationConditions = new ApplicationConditions();
BeanUtils.copyProperties(appcs, applicationConditions);
applicationConditions.setRuleid(appDataRule.getId());
this.appDataRuleService.saveApplicationConditionsInfo(applicationConditions);
});
List dbuserconditionslist = (List)params.get("dbuserconditionslist");
dbuserconditionslist.forEach((dbuserconditions) -> {
DbuserConditions dbusercs = (DbuserConditions)ObjectTool.getObjectByMap(DbuserConditions.class, (Map)dbuserconditions);
DbuserConditions dbuserConditions = new DbuserConditions();
BeanUtils.copyProperties(dbusercs, dbuserConditions);
dbuserConditions.setRuleid(appDataRule.getId());
this.appDataRuleService.saveDbuserConditionsInfo(dbuserConditions);
});
List dateconditionslist = (List)params.get("dateconditionslist");
dateconditionslist.forEach((dateconditions) -> {
DateConditions datecs = (DateConditions)ObjectTool.getObjectByMap(DateConditions.class, (Map)dateconditions);
DateConditions dateConditions = new DateConditions();
BeanUtils.copyProperties(datecs, dateConditions);
dateConditions.setRuleid(appDataRule.getId());
this.appDataRuleService.saveDateConditionsInfo(dateConditions);
});
this.appDataRuleService.saveAppRuleInfo(appDataRule, id);
return RespHelper.successResp();
}
@GetMapping({"/initEdit"})
@ResponseBody
public Response appDataRuleInitEdit(@RequestParam("ruleid") String id, @RequestParam("rulename") String rulename) {
ddmauditLogger.info(MesUtil.getMsg("DDM_01402", new String[]{CommonUtils.loginUsername(), rulename}));
AppDataRule appRuleInfo = this.appDataRuleService.getAppRuleInfoById(id);
List<IpConditions> ipConditionsList = this.appDataRuleService.getIpConditionsInfoByRuleId(id);
List<ApplicationConditions> applicationConditionsList = this.appDataRuleService.getApplicationConditionsInfoByRuleId(id);
List<DbuserConditions> dbuserConditionsList = this.appDataRuleService.getDbuserConditionsInfoByRuleId(id);
List<DateConditions> dateConditionsList = this.appDataRuleService.getDateConditionsInfoByRuleId(id);
Map<String, Object> map = new HashMap();
map.put("ruleinfo", appRuleInfo);
map.put("ipConditions", ipConditionsList);
map.put("applicationConditions", applicationConditionsList);
map.put("dbuserConditions", dbuserConditionsList);
map.put("dateConditions", dateConditionsList);
return RespHelper.successResp(map);
}
@PostMapping({"/del"})
@ResponseBody
public Response appDataRuleDel(@RequestBody Map<String, Object> params) {
String id = (String)params.get("ruleid");
String rulename = (String)params.get("rulename");
ddmauditLogger.info(MesUtil.getMsg("DDM_01404", new String[]{CommonUtils.loginUsername(), rulename}));
this.appDataRuleService.delAppRuleInfoById(id);
this.appDataRuleService.delIpConditionsInfoByRuleId(id);
this.appDataRuleService.delApplicationConditionsInfoByRuleId(id);
this.appDataRuleService.delDbuserConditionsInfoByRuleId(id);
this.appDataRuleService.delDateConditionsInfoByRuleId(id);
return RespHelper.successResp();
}
@GetMapping({"/query"})
@ResponseBody
public Response appDataRuleQuery() {
ddmauditLogger.info(MesUtil.getMsg("DDM_01400", new String[]{CommonUtils.loginUsername()}));
return RespHelper.successResp(this.appDataRuleService.queryAll());
}
}
package com.chenyang.nse.bussiness.controller.restfulapi.tools;
import com.chenyang.nse.bussiness.service.core.api.ApiInfoService;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
public class ApiInfoLogTool {
@Autowired
private ApiInfoService apiInfoService;
private static ApiInfoLogTool apiInfoLogTool;
@PostConstruct
public void init() {
apiInfoLogTool = this;
apiInfoLogTool.apiInfoService = this.apiInfoService;
}
public static void apiInfoLogGenerater(String authorization) {
}
}
package com.chenyang.nse.bussiness.controller.restfulapi.tools;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.cglib.beans.BeanMap;
public class ApiTool {
public static final String RT_SUC_CODE_200_STR = "200";
public static final String RT_FAIL_CODE_400_STR = "400";
public static <T> Map<String, Object> beanToMap(T bean) {
Map<String, Object> map = Maps.newHashMap();
if (bean != null) {
BeanMap beanMap = BeanMap.create(bean);
for(Object key : beanMap.keySet()) {
map.put(key + "", beanMap.get(key));
}
}
return map;
}
public static <T> T mapToBean(Map<String, Object> map, T bean) {
BeanMap beanMap = BeanMap.create(bean);
beanMap.putAll(map);
return bean;
}
public static <T> List<Map<String, Object>> objectsToMaps(List<T> objList) {
List<Map<String, Object>> list = Lists.newArrayList();
if (objList != null && objList.size() > 0) {
Map<String, Object> map = null;
T bean = null;
int i = 0;
for(int size = objList.size(); i < size; ++i) {
bean = (T)objList.get(i);
map = beanToMap(bean);
list.add(map);
}
}
return list;
}
public static List<Map<String, Object>> realObjectsToMaps(List<Object> objList) {
List<Map<String, Object>> list = Lists.newArrayList();
if (objList != null && objList.size() > 0) {
Map<String, Object> map = new HashMap();
Object bean = null;
int i = 0;
for(int size = objList.size(); i < size; ++i) {
bean = objList.get(i);
map.put("data", bean);
list.add(map);
}
}
return list;
}
}
package com.chenyang.nse.bussiness.dao.table.core.api;
import com.chenyang.nse.bussiness.dao.BaseDao;
import com.chenyang.nse.bussiness.entity.orm.table.core.api.ApiSysParameter;
import org.springframework.stereotype.Repository;
@Repository
public class ApiSysParameterDao extends BaseDao<ApiSysParameter, String> {
}
package com.chenyang.nse.bussiness.dao.table.core.rule.app;
import com.chenyang.nse.bussiness.dao.BaseDao;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.app.AppDataRule;
import java.util.List;
import org.hibernate.transform.Transformers;
import org.springframework.stereotype.Repository;
@Repository
public class AppDataRuleDao extends BaseDao<AppDataRule, String> {
public List<AppDataRule> queryByAssetId(String assetid) {
String sql = "select u.id as id,u.rulename from t_console_appdatarule u inner join t_core_controlled_asset_rule r on u.id = r.ruleid where u.id!=1 and r.assetid = :assetid order by u.createtime desc ";
return this.getSession().createNativeQuery(sql).setParameter("assetid", assetid).setResultTransformer(Transformers.aliasToBean(AppDataRule.class)).getResultList();
}
}
package com.chenyang.nse.bussiness.entity.orm.table.core.api;
import com.chenyang.nse.bussiness.entity.orm.table.TBaseEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(
name = "api_sys_parameter"
)
public class ApiSysParameter extends TBaseEntity {
private String parameterName;
private String parameterValue;
private String apiInfoId;
public String getParameterName() {
return this.parameterName;
}
public void setParameterName(String parameterName) {
this.parameterName = parameterName;
}
public String getParameterValue() {
return this.parameterValue;
}
public void setParameterValue(String parameterValue) {
this.parameterValue = parameterValue;
}
public String getApiInfoId() {
return this.apiInfoId;
}
public void setApiInfoId(String apiInfoId) {
this.apiInfoId = apiInfoId;
}
}
package com.chenyang.nse.bussiness.entity.orm.table.core.rule.app;
import com.chenyang.nse.bussiness.entity.orm.table.TInitEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(
name = "t_console_appdatarule"
)
public class AppDataRule extends TInitEntity {
private String rulename;
private String type;
private String belongtogroup;
private String remark;
private String desensitizationexpression;
private String auditswitch;
private String isdefault;
public String getRulename() {
return this.rulename;
}
public void setRulename(String rulename) {
this.rulename = rulename;
}
public String getType() {
return this.type;
}
public void setType(String type) {
this.type = type;
}
public String getBelongtogroup() {
return this.belongtogroup;
}
public void setBelongtogroup(String belongtogroup) {
this.belongtogroup = belongtogroup;
}
public String getRemark() {
return this.remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getDesensitizationexpression() {
return this.desensitizationexpression;
}
public void setDesensitizationexpression(String desensitizationexpression) {
this.desensitizationexpression = desensitizationexpression;
}
public String getAuditswitch() {
return this.auditswitch;
}
public void setAuditswitch(String auditswitch) {
this.auditswitch = auditswitch;
}
public String getIsdefault() {
return this.isdefault;
}
public void setIsdefault(String isdefault) {
this.isdefault = isdefault;
}
}
package com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions;
import com.chenyang.nse.bussiness.entity.orm.table.TBaseEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(
name = "t_console_applicationconditions"
)
public class ApplicationConditions extends TBaseEntity {
private String matchsymbol;
private String matchval;
private String ruleid;
public String getMatchsymbol() {
return this.matchsymbol;
}
public void setMatchsymbol(String matchsymbol) {
this.matchsymbol = matchsymbol;
}
public String getMatchval() {
return this.matchval;
}
public void setMatchval(String matchval) {
this.matchval = matchval;
}
public String getRuleid() {
return this.ruleid;
}
public void setRuleid(String ruleid) {
this.ruleid = ruleid;
}
}
package com.chenyang.nse.bussiness.entity.vo.api;
import com.chenyang.nse.bussiness.entity.orm.table.core.api.ApiHeaderParameter;
import com.chenyang.nse.bussiness.entity.orm.table.core.api.ApiInfo;
import com.chenyang.nse.bussiness.entity.orm.table.core.api.ApiSysParameter;
import java.util.List;
public class ApiInfoObjectVO {
private ApiInfo apiInfo;
private List<ApiSysParameter> apiSysParameterList;
private List<ApiHeaderParameter> apiHeaderParameterList;
public ApiInfo getApiInfo() {
return this.apiInfo;
}
public void setApiInfo(ApiInfo apiInfo) {
this.apiInfo = apiInfo;
}
public List<ApiSysParameter> getApiSysParameterList() {
return this.apiSysParameterList;
}
public void setApiSysParameterList(List<ApiSysParameter> apiSysParameterList) {
this.apiSysParameterList = apiSysParameterList;
}
public List<ApiHeaderParameter> getApiHeaderParameterList() {
return this.apiHeaderParameterList;
}
public void setApiHeaderParameterList(List<ApiHeaderParameter> apiHeaderParameterList) {
this.apiHeaderParameterList = apiHeaderParameterList;
}
}
package com.chenyang.nse.bussiness.entity.vo.api;
import com.chenyang.nse.bussiness.entity.orm.table.TBaseEntity;
public class ApiInfoVO extends TBaseEntity {
private String url;
private String requestWay;
private String state;
private String headerParameterId;
private String sysParameterId;
private String taskId;
private String projectId;
public String getUrl() {
return this.url;
}
public void setUrl(String url) {
this.url = url;
}
public String getRequestWay() {
return this.requestWay;
}
public void setRequestWay(String requestWay) {
this.requestWay = requestWay;
}
public String getState() {
return this.state;
}
public void setState(String state) {
this.state = state;
}
public String getHeaderParameterId() {
return this.headerParameterId;
}
public void setHeaderParameterId(String headerParameterId) {
this.headerParameterId = headerParameterId;
}
public String getSysParameterId() {
return this.sysParameterId;
}
public void setSysParameterId(String sysParameterId) {
this.sysParameterId = sysParameterId;
}
public String getTaskId() {
return this.taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public String getProjectId() {
return this.projectId;
}
public void setProjectId(String projectId) {
this.projectId = projectId;
}
}
package com.chenyang.nse.bussiness.performance_monitor.exception;
public class AppException extends CommonException {
private String responData;
private static final long serialVersionUID = 1L;
public AppException(String errorCode, String errorMessage) {
super(errorCode, errorMessage);
}
public AppException(String errorCode, String errorMessage, String responData) {
super(errorCode, errorMessage);
this.responData = responData;
}
public String getResponData() {
return this.responData;
}
public void setResponData(String responData) {
this.responData = responData;
}
}
package com.chenyang.nse.bussiness.service.core;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.app.AppDataRule;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions.ApplicationConditions;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions.DateConditions;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions.DbuserConditions;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions.IpConditions;
import java.util.List;
public interface AppDataRuleService {
void saveAppRuleInfo(AppDataRule appDataRule, String id);
void saveIpConditionsInfo(IpConditions ipConditions);
void saveApplicationConditionsInfo(ApplicationConditions applicationConditions);
void saveDbuserConditionsInfo(DbuserConditions dbuserConditions);
void saveDateConditionsInfo(DateConditions dateConditions);
AppDataRule getAppRuleInfoById(String id);
List<IpConditions> getIpConditionsInfoByRuleId(String ruleid);
List<ApplicationConditions> getApplicationConditionsInfoByRuleId(String ruleid);
List<DbuserConditions> getDbuserConditionsInfoByRuleId(String ruleid);
List<DateConditions> getDateConditionsInfoByRuleId(String ruleid);
void delAppRuleInfoById(String id);
void delIpConditionsInfoByRuleId(String ruleid);
void delApplicationConditionsInfoByRuleId(String ruleid);
void delDbuserConditionsInfoByRuleId(String ruleid);
void delDateConditionsInfoByRuleId(String ruleid);
List<AppDataRule> queryAll();
List<AppDataRule> queryRuleBygroup(String dataareaid, String dbtype);
}
package com.chenyang.nse.bussiness.service.core.api;
import com.chenyang.nse.bussiness.entity.orm.table.core.api.ApiInfo;
import java.util.List;
import java.util.Map;
public interface ApiInfoService {
List<ApiInfo> queryApiInfolist();
List<ApiInfo> queryApiInfoByConditon(Map<String, String> condMap);
}
package com.chenyang.nse.bussiness.service.core.api;
import com.chenyang.nse.bussiness.entity.orm.table.core.api.ApiSysParameter;
import java.util.List;
public interface ApiSysParameterService {
List<ApiSysParameter> querylist();
}
package com.chenyang.nse.bussiness.service.core.api.impl;
import com.chenyang.nse.bussiness.dao.table.core.api.ApiInfoDao;
import com.chenyang.nse.bussiness.entity.orm.table.core.api.ApiInfo;
import com.chenyang.nse.bussiness.service.core.api.ApiInfoService;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional
public class ApiInfoServiceImpl implements ApiInfoService {
@Autowired
private ApiInfoDao apiInfoDao;
public List<ApiInfo> queryApiInfolist() {
List<ApiInfo> list = this.apiInfoDao.queryAll();
return list;
}
public List<ApiInfo> queryApiInfoByConditon(Map<String, String> condMap) {
Criteria criteria = this.apiInfoDao.createCriteria();
if (condMap.containsKey("type") && StringUtils.isNotBlank((String)condMap.get("type")) && "3".equals(condMap.get("type"))) {
if (condMap.containsKey("url") && StringUtils.isNotBlank((String)condMap.get("url"))) {
criteria.add(Restrictions.like("url", (String)condMap.get("url") + "%"));
}
} else if (condMap.containsKey("url") && StringUtils.isNotBlank((String)condMap.get("url"))) {
criteria.add(Restrictions.eq("url", condMap.get("url")));
}
new ArrayList();
List<ApiInfo> apiInfolist = this.apiInfoDao.queryAll(criteria);
return apiInfolist;
}
}
package com.chenyang.nse.bussiness.service.core.api.impl;
import com.chenyang.nse.bussiness.dao.table.core.api.ApiSysParameterDao;
import com.chenyang.nse.bussiness.entity.orm.table.core.api.ApiSysParameter;
import com.chenyang.nse.bussiness.service.core.api.ApiSysParameterService;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional
public class ApiSysParameterServiceImpl implements ApiSysParameterService {
@Autowired
private ApiSysParameterDao apiSysParameterDao;
public List<ApiSysParameter> querylist() {
List<ApiSysParameter> list = this.apiSysParameterDao.queryAll();
return list;
}
}
package com.chenyang.nse.bussiness.service.core.impl;
import com.chenyang.nse.bussiness.dao.table.core.rule.app.AppDataRuleDao;
import com.chenyang.nse.bussiness.dao.table.core.rule.conditions.ApplicationConditionsDao;
import com.chenyang.nse.bussiness.dao.table.core.rule.conditions.DateConditionsDao;
import com.chenyang.nse.bussiness.dao.table.core.rule.conditions.DbuserConditionsDao;
import com.chenyang.nse.bussiness.dao.table.core.rule.conditions.IpConditionsDao;
import com.chenyang.nse.bussiness.engine.infa.powercenter961.pubtool.StringUtil;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.app.AppDataRule;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions.ApplicationConditions;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions.DateConditions;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions.DbuserConditions;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.conditions.IpConditions;
import com.chenyang.nse.bussiness.service.core.AppDataRuleService;
import com.chenyang.nse.bussiness.tools.login.CommonUtils;
import java.util.Date;
import java.util.List;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional
public class AppDataRuleServiceImpl implements AppDataRuleService {
@Autowired
private AppDataRuleDao appDataRuleDao;
@Autowired
private IpConditionsDao ipConditionsDao;
@Autowired
private ApplicationConditionsDao applicationConditionsDao;
@Autowired
private DbuserConditionsDao dbuserConditionsDao;
@Autowired
private DateConditionsDao dateConditionsDao;
public void saveAppRuleInfo(AppDataRule appDataRule, String id) {
if (StringUtil.isBlank(id)) {
appDataRule.setCreateuser(CommonUtils.loginUsername());
appDataRule.setCreatetime(new Date());
this.appDataRuleDao.save(appDataRule);
} else {
appDataRule.setUpdateuser(CommonUtils.loginUsername());
appDataRule.setUpdatetime(new Date());
AppDataRule appDataRule1 = (AppDataRule)this.appDataRuleDao.queryUnique(new Criterion[]{Restrictions.eq("id", id)});
BeanUtils.copyProperties(appDataRule, appDataRule1);
this.appDataRuleDao.update(appDataRule1);
}
}
public void saveIpConditionsInfo(IpConditions ipConditions) {
this.ipConditionsDao.save(ipConditions);
}
public void saveApplicationConditionsInfo(ApplicationConditions applicationConditions) {
this.applicationConditionsDao.save(applicationConditions);
}
public void saveDbuserConditionsInfo(DbuserConditions dbuserConditions) {
this.dbuserConditionsDao.save(dbuserConditions);
}
public void saveDateConditionsInfo(DateConditions dateConditions) {
this.dateConditionsDao.save(dateConditions);
}
public AppDataRule getAppRuleInfoById(String id) {
return (AppDataRule)this.appDataRuleDao.queryUnique(new Criterion[]{Restrictions.eq("id", id)});
}
public List<IpConditions> getIpConditionsInfoByRuleId(String ruleid) {
return this.ipConditionsDao.queryAll(new Criterion[]{Restrictions.eq("ruleid", ruleid)});
}
public List<ApplicationConditions> getApplicationConditionsInfoByRuleId(String ruleid) {
return this.applicationConditionsDao.queryAll(new Criterion[]{Restrictions.eq("ruleid", ruleid)});
}
public List<DbuserConditions> getDbuserConditionsInfoByRuleId(String ruleid) {
return this.dbuserConditionsDao.queryAll(new Criterion[]{Restrictions.eq("ruleid", ruleid)});
}
public List<DateConditions> getDateConditionsInfoByRuleId(String ruleid) {
return this.dateConditionsDao.queryAll(new Criterion[]{Restrictions.eq("ruleid", ruleid)});
}
public void delAppRuleInfoById(String id) {
this.appDataRuleDao.removeById(id);
}
public void delIpConditionsInfoByRuleId(String ruleid) {
this.ipConditionsDao.remove(new Criterion[]{Restrictions.eq("ruleid", ruleid)});
}
public void delApplicationConditionsInfoByRuleId(String ruleid) {
this.applicationConditionsDao.remove(new Criterion[]{Restrictions.eq("ruleid", ruleid)});
}
public void delDbuserConditionsInfoByRuleId(String ruleid) {
this.dbuserConditionsDao.remove(new Criterion[]{Restrictions.eq("ruleid", ruleid)});
}
public void delDateConditionsInfoByRuleId(String ruleid) {
this.dateConditionsDao.remove(new Criterion[]{Restrictions.eq("ruleid", ruleid)});
}
public List<AppDataRule> queryAll() {
return this.appDataRuleDao.queryAll();
}
public List<AppDataRule> queryRuleBygroup(String dataareaid, String dbtype) {
return this.appDataRuleDao.queryAll(new Criterion[]{Restrictions.or(Restrictions.eq("belongtogroup", dataareaid + "," + dbtype), Restrictions.eq("belongtogroup", dataareaid + ",")), Restrictions.eq("type", "1")});
}
}
spring:
servlet:
multipart:
max-file-size:
104857600
max-request-size:
104857600
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
# mysql 账号密码
# username: root
# password: '!QAZ2wsx#EDC2022'
# kingbase 账号密码
# username: system
# password: system
# 达梦 账号密码
# username: SYSDBA
# password: 123123123
#H2SQL
username: sa
password: sa
# oracle 驱动
#driverClassName: oracle.jdbc.driver.OracleDriver
#url: jdbc:oracle:thin:@localhost:1521:orcl
# mysql 驱动
# driver-class-name: com.mysql.cj.jdbc.Driver
# kingbase 驱动
# driver-class-name: com.kingbase8.Driver
# 达梦 驱动
# driver-class-name: dm.jdbc.driver.DmDriver
# HSSQL 驱动
driver-class-name: org.h2.Driver
#serverTimezone=UTC 设置时区
# 达梦数据库 url
# url: jdbc:dm://192.168.2.228:5236?SCHEMA=encryption&columnNameUpperCase=false&genKeyNameCase=2&clobAsString=1&blobAsString=1
# H2SQL 数据库
# url: jdbc:h2:tcp://localhost/d:/db/enc;AUTO_SERVER=TRUE
# url: jdbc:h2:C:\\Users\\15613\\Desktop\\fsdownload\\data\\db
url: jdbc:h2:./db
# kingbase数据库 urlcolumnNameUpperCase
# url: jdbc:kingbase8://192.168.2.127:54321/encryption_gateway?currentSchema=encryption
# mysql数据库 url
# url: jdbc:mysql://demo.docmis.cn:23500/nse?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
#正式环境
# url: jdbc:mysql://127.0.0.1:3306/encryption?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
#最小连接数
minIdLe: 5
#最大连接数
maxActive: 100
#解决mysql8小时问题
validationQuery: SELECT 'X'
#空闲链接最小空闲时间
minEvictableIdleTimeMillis: 30000
#空闲连接检查时间间隔
timeBetweenEvictionRunsMillis: 60000
maxWait: 10000
login:
password:
username:
#ORM映射设置,hibernate需要配置jpa
jpa:
hibernate:
#是否自动建表m
ddl-auto: update
properties:
hibernate:
#是否自动打印hql对应的sql语句
show_sql: false
#是否格式化sql语句
format_sql: fasle
#事务交由spring管理
current_session_context_class: org.springframework.orm.hibernate5.SpringSessionContext
cache:
use_second_level_cache: false
use_query_cache: false
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
serialization:
write-dates-as-timestamps: false
# 初始化大小,最小,最大
#告警设置-邮件通知 springboot自动加载必须属性,设置空,实际从数据库获取值
#SMTP服务器地址
mail:
host:
#用户名
username:
#密码
password:
mvc:
static-path-pattern: /**
axios:
defaults:
withCredentials: true
h2:
console:
enabled: true
settings:
trace: true
# web-allow-others: false
# path: /console
server:
port: 9005
tomcat:
max-swallow-size: 10485760
ssl:
key-store: classpath:tomcat.keystore
key-store-password: syghca
key-store-type: jks
key-alias: tomcat
enabled-protocols: TLSV1.2
ciphers: ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-CHACHA20-POLY1305,ECDHE-RSA-CHACHA20-POLY1305,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-SHA384,ECDHE-RSA-AES256-SHA384,ECDHE-ECDSA-AES128-SHA256,ECDHE-RSA-AES128-SHA256
incencryption:
thread:
pool:
core-size: 10
max-size: 10
encryption:
#base64随机数/格尔kms/泰和kms/加密机/国芯加密卡
#Local/KMS/THKMS/SDK/CCORESDF
secret-key-mode: Local
thkms:
protocol: http
host: 10.160.30.130
port: 10006
appId: APP_85B7665094BE4996A71A517E39C1D2B5
keyId: 0303b22f135644ec86023bf62cfe813f
#httpclient_config
httpclient:
connectionRequestTimeout: 30000
connectTimeout: 300000
socketTimeout: 600000
mybatis-plus:
datasource: second-datasource
# 如果是放在src/main/java目录下 classpath:/com/mistra/axela/*/mapper/*Mapper.xml
# 如果是放在resource目录 classpath:/mapper/*Mapper.xml
mapper-locations: classpath:/mapper/*.xml
# mapper-locations: classpath:/com/performancemonitor/framework/mybatis/xml/*.xml
global-config:
#主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
id-type: 2
#字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
field-strategy: 2
#驼峰下划线转换
db-column-underline: true
#刷新mapper 调试神器
#refresh-mapper: true
#数据库大写下划线转换
#capital-mode: true
# Sequence序列接口实现类配置
key-generator: com.baomidou.mybatisplus.incrementer.OracleKeyGenerator
#逻辑删除配置(下面3个配置)
logic-delete-value: 1
logic-not-delete-value: 0
db-config:
schema: ${base.schema}
# for dm "\"%s\""
# column-format: "\"%s\""
column-format: "\"%s\""
sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
configuration:
map-underscore-to-camel-case: true
auto-mapping-behavior: FULL
cache-enabled: false
#配置JdbcTypeForNull
jdbc-type-for-null: 'null'
log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
#分类分级http协议
protocol:
prex: http
classify:
#是否开启分类分级标签
classifyEnable: false
#分类分级IP
classifyIp: 127.0.0.1
#分类分级端口
classifyPort: 8182
url: ${protocol.prex}://${classify.classifyIp}:${classify.classifyPort}
#分类接口地址
classifyName: /core/datascope/getscopetable
#分级接口地址
levelName: /core/sensitivelevel/getscopetable
spring:
application:
name: Nse
profiles:
active: dev
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论