|
|
|
@ -1,5 +1,7 @@
|
|
|
|
|
package com.ruoyi.biemo.business.service;
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
import com.github.pagehelper.util.StringUtil;
|
|
|
|
|
import com.ruoyi.biemo.business.domain.Category;
|
|
|
|
|
import com.ruoyi.biemo.business.domain.DocInfo;
|
|
|
|
@ -13,20 +15,32 @@ import com.ruoyi.biemo.elasticsearch.util.EsService;
|
|
|
|
|
import com.ruoyi.biemo.mongodb.utils.CriteriaAndWrapper;
|
|
|
|
|
import com.ruoyi.biemo.mongodb.utils.MongoHelper;
|
|
|
|
|
import com.ruoyi.biemo.utils.MyObjects;
|
|
|
|
|
import com.ruoyi.common.constant.Constants;
|
|
|
|
|
import com.ruoyi.common.constant.UserConstants;
|
|
|
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
|
|
|
import com.ruoyi.common.core.redis.RedisCache;
|
|
|
|
|
import com.ruoyi.common.utils.SecurityUtils;
|
|
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
|
|
import com.ruoyi.common.utils.sign.Md5Utils;
|
|
|
|
|
import com.ruoyi.common.utils.uuid.IdUtils;
|
|
|
|
|
import com.ruoyi.framework.web.service.SysLoginService;
|
|
|
|
|
import com.ruoyi.system.service.ISysLogininforService;
|
|
|
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
|
|
|
import org.elasticsearch.search.SearchHit;
|
|
|
|
|
import org.elasticsearch.search.builder.SearchSourceBuilder;
|
|
|
|
|
import org.elasticsearch.search.sort.SortOrder;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
|
import org.springframework.context.ApplicationContext;
|
|
|
|
|
import org.springframework.context.ApplicationEvent;
|
|
|
|
|
import org.springframework.context.event.EventListener;
|
|
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
|
|
|
|
import java.awt.image.ReplicateScaleFilter;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
import java.util.concurrent.locks.Lock;
|
|
|
|
|
import java.util.concurrent.locks.ReentrantLock;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
@ -42,6 +56,12 @@ public class ReportService extends EsService<Report> {
|
|
|
|
|
@Autowired
|
|
|
|
|
private MongoHelper mongoHelper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private ISysUserService userService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private SysLoginService loginService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private ApplicationContext applicationContext;
|
|
|
|
|
|
|
|
|
@ -162,4 +182,86 @@ public class ReportService extends EsService<Report> {
|
|
|
|
|
List<String> ids = saveEvent.getIds();
|
|
|
|
|
deleteBatch(ids);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Value("${sso.password}")
|
|
|
|
|
private String password = "admin123";
|
|
|
|
|
|
|
|
|
|
@Value("${sso.apiUrl}")
|
|
|
|
|
private String apiUrl = "http://test.vsp.cqooc.com/open/api/v2/oauth/token?appId={APPID}&signature={SIGNATURE}&ticket={TICKET}";
|
|
|
|
|
@Value("${sso.appId}")
|
|
|
|
|
private String appId = "cb00a3e26b963b25e28cae6e046f1190";
|
|
|
|
|
@Value("${sso.secretKey}")
|
|
|
|
|
private String secretKey = "4ce36bf549d64d44b6cbc48e926abb05";
|
|
|
|
|
@Autowired
|
|
|
|
|
private RedisCache redisCache;
|
|
|
|
|
|
|
|
|
|
public String ticket2token(String ticket) {
|
|
|
|
|
if(StringUtils.isNotBlank(ticket)){
|
|
|
|
|
String sign = Md5Utils.hash(appId+secretKey+ticket).toUpperCase();
|
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
|
|
map.put("APPID", appId);
|
|
|
|
|
map.put("SIGNATURE", sign);
|
|
|
|
|
map.put("TICKET",ticket);
|
|
|
|
|
RestTemplate restTemplate = new RestTemplate();
|
|
|
|
|
ResponseEntity<Map> entity = restTemplate.getForEntity(apiUrl, Map.class, map);
|
|
|
|
|
Map loginMap = entity.getBody();
|
|
|
|
|
String userName = "";
|
|
|
|
|
String nickName = "";
|
|
|
|
|
if (loginMap != null && (Integer) loginMap.get("code") == 0) {
|
|
|
|
|
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(loginMap);
|
|
|
|
|
JSONObject data = jsonObject.getObject("data",JSONObject.class);
|
|
|
|
|
userName = data.getString("userName");
|
|
|
|
|
String openId = data.getString("openId");
|
|
|
|
|
String accessToken = data.getString("accessToken");
|
|
|
|
|
Long createTime = data.getLong("createTime");
|
|
|
|
|
Long expiresTime = data.getLong("expiresTime");
|
|
|
|
|
Long expiresLong = expiresTime-createTime;
|
|
|
|
|
redisCache.setCacheObject(ticket, accessToken, expiresLong.intValue(), TimeUnit.MILLISECONDS);
|
|
|
|
|
//用户名不存在就新建
|
|
|
|
|
SysUser sysUser = new SysUser();
|
|
|
|
|
if(UserConstants.UNIQUE.equals(userService.checkUserNameUnique(userName))){
|
|
|
|
|
sysUser.setUserName(userName);
|
|
|
|
|
if(StringUtils.isNotBlank(nickName)){
|
|
|
|
|
sysUser.setNickName(nickName);
|
|
|
|
|
}else{
|
|
|
|
|
sysUser.setNickName(userName);
|
|
|
|
|
}
|
|
|
|
|
sysUser.setRemark("平台用户");
|
|
|
|
|
sysUser.setRoleIds(new Long[]{1L});
|
|
|
|
|
sysUser.setCreateBy("xitong");
|
|
|
|
|
sysUser.setCreateTime(new Date());
|
|
|
|
|
sysUser.setSex("1");
|
|
|
|
|
sysUser.setDelFlag("0");
|
|
|
|
|
sysUser.setStatus("0");
|
|
|
|
|
sysUser.setDeptId(100l);
|
|
|
|
|
sysUser.setPassword(SecurityUtils.encryptPassword(password));
|
|
|
|
|
userService.insertUser(sysUser);
|
|
|
|
|
}else{
|
|
|
|
|
sysUser = userService.selectUserByUserName(userName);
|
|
|
|
|
if(!"0".equals(sysUser.getDelFlag())){
|
|
|
|
|
sysUser.setDelFlag("0");
|
|
|
|
|
sysUser.setRoleIds(new Long[]{1L});
|
|
|
|
|
userService.updateUser(sysUser);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return loginService.login(sysUser.getUserName(),password,null, IdUtils.fastSimpleUUID());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* "success": true,
|
|
|
|
|
* "code": 0,
|
|
|
|
|
* "total": 0,
|
|
|
|
|
* "data": {
|
|
|
|
|
* "openId": "fb4078687af9ac748c00318d53a36c43",
|
|
|
|
|
* "userName": "测试用户",
|
|
|
|
|
* "accessToken": "61ynp2w3vxvcdhf730h7cilelr51yljgofkp0uxqoji7hzps9sn0hlfat7ys3cbm",
|
|
|
|
|
* "createTime": 1654159120374,
|
|
|
|
|
* "expiresTime": 1654245520374,
|
|
|
|
|
* "createTimeDisplay": "2022-06-02 16:38:40",
|
|
|
|
|
* "expiresTimeDisplay": "2022-06-03 16:38:40"
|
|
|
|
|
* }
|
|
|
|
|
*/
|
|
|
|
|
}
|
|
|
|
|