|
@@ -4,9 +4,13 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.dragoninfo.dcuc.app.entity.ApplyInfo;
|
|
|
import com.dragoninfo.dcuc.app.facade.IApplyInfoFacade;
|
|
|
import com.dragoninfo.dcuc.auth.AuthRedisConstant;
|
|
|
+import com.dragoninfo.dcuc.auth.api.vo.BusinessRespEnum;
|
|
|
import com.dragoninfo.dcuc.auth.api.vo.MessageRespVO;
|
|
|
import com.dragoninfo.dcuc.auth.api.vo.ResultRespPageVo;
|
|
|
import com.dragoninfo.dcuc.auth.api.vo.ResultRespVO;
|
|
|
+import com.dragoninfo.dcuc.auth.audit.dto.TokenOperationDto;
|
|
|
+import com.dragoninfo.dcuc.auth.audit.service.log.LogInfoFillService;
|
|
|
+import com.dragoninfo.dcuc.auth.audit.service.log.QmAuditPushService;
|
|
|
import com.dragoninfo.dcuc.auth.business.IAuthTokenBusiness;
|
|
|
import com.dragoninfo.dcuc.auth.config.DcucAuthConfig;
|
|
|
import com.dragoninfo.dcuc.auth.sub.entity.AuthUserInfo;
|
|
@@ -14,6 +18,8 @@ import com.dragoninfo.dcuc.auth.sub.service.IAuthUserInfoService;
|
|
|
import com.dragoninfo.dcuc.auth.sub.vo.ApplyInfoVo;
|
|
|
import com.dragoninfo.dcuc.auth.sub.vo.AuthUserVo;
|
|
|
import com.dragoninfo.dcuc.auth.token.vo.*;
|
|
|
+import com.dragonsoft.auditlog.collection.qmtj.enums.TokenTypeEnum;
|
|
|
+import com.dragonsoft.auditlog.collection.qmtj.pojo.req.TokenOperationLog;
|
|
|
import com.dragonsoft.duceap.commons.util.string.StringUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
@@ -28,6 +34,7 @@ import org.springframework.http.ResponseEntity;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
+import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -53,6 +60,8 @@ public class AuthTokenBusinessImpl implements IAuthTokenBusiness {
|
|
|
|
|
|
private StringRedisTemplate stringRedisTemplate;
|
|
|
|
|
|
+ private QmAuditPushService qmAuditPushService;
|
|
|
+
|
|
|
@Autowired
|
|
|
public void setDcucAuthConfig(DcucAuthConfig dcucAuthConfig) {
|
|
|
this.dcucAuthConfig = dcucAuthConfig;
|
|
@@ -110,8 +119,8 @@ public class AuthTokenBusinessImpl implements IAuthTokenBusiness {
|
|
|
if (null == appToken) {
|
|
|
return TokenDetailRespVo.empty();
|
|
|
}
|
|
|
- TokenDetailRespVo.TokenDetailRespVoBuilder builder = TokenDetailRespVo.builder();
|
|
|
UserTokenInfoRespVO userToken = appToken.getUserToken();
|
|
|
+ TokenDetailRespVo.TokenDetailRespVoBuilder builder = TokenDetailRespVo.builder();
|
|
|
builder.appToken(appToken).userToken(userToken);
|
|
|
// 根据用户令牌获取用户信息
|
|
|
if (needUserInfo) {
|
|
@@ -134,6 +143,30 @@ public class AuthTokenBusinessImpl implements IAuthTokenBusiness {
|
|
|
stringRedisTemplate.opsForValue().set(AuthRedisConstant.REDIS_STANDARD_USER_TOKEN_NAMESPACE + idcard, userTokenId, expiredTime, TimeUnit.SECONDS);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public MessageRespVO tokenReceive(TokenReceiveVO receiveVO) {
|
|
|
+ // 暂时发送令牌接收日志即可
|
|
|
+ String type = receiveVO.getType();
|
|
|
+ UserTokenInfoRespVO userTokenInfo ;
|
|
|
+ if (TokenTypeEnum.USER.getValue().equals(type)) {
|
|
|
+ userTokenInfo = getUserTokenInfo(receiveVO.getToken());
|
|
|
+ } else {
|
|
|
+ TokenDetailRespVo appTokenInfo = getByAppTokenId(receiveVO.getToken(), false, false);
|
|
|
+ userTokenInfo = appTokenInfo.getUserToken();
|
|
|
+ }
|
|
|
+ if (null == userTokenInfo) {
|
|
|
+ return MessageRespVO.messageEnumMessage(BusinessRespEnum.TOKEN_FAIL);
|
|
|
+ }
|
|
|
+ TokenOperationDto dto = TokenOperationDto.builder()
|
|
|
+ .action(receiveVO.getAction())
|
|
|
+ .operateTime(new Date())
|
|
|
+ .pid(userTokenInfo.getPId())
|
|
|
+ .tokenType(receiveVO.getType())
|
|
|
+ .build();
|
|
|
+ qmAuditPushService.pushTokenReceiveLog(dto);
|
|
|
+ return MessageRespVO.messageEnumMessage(BusinessRespEnum.SUCCESS);
|
|
|
+ }
|
|
|
+
|
|
|
private AuthUserVo getAuthUserVo(String pid) {
|
|
|
// pid为人员身份证号
|
|
|
// 查询权限中心用户信息, 填充id字段
|