jiangping
2024-10-17 c4a61db314610d01caba641ee3243350deca3eec
最新版本541200007
已修改4个文件
64 ■■■■ 文件已修改
server/system_service/src/main/java/com/doumee/core/utils/DESUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/HkOpenApiController.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InterfaceLogService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InterfaceLogServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/DESUtil.java
@@ -190,12 +190,12 @@
    public static  String generateTokenToHk(String userName,Integer hour, RedisTemplate<String,Object> redisTemplate) {
         long currentTimeMillis = System.currentTimeMillis() + 1000*60*60*hour;
         String encrypt = DESUtil.encrypt("12345678",currentTimeMillis + "_" + userName );
         redisTemplate.opsForValue().set(Constants.REDIS_HK_TOKEN_KEY+encrypt, encrypt,1000*60*60*hour, TimeUnit.MILLISECONDS);
        try{
            encrypt = URLEncoder.encode(encrypt,"UTF-8");
        }catch (Exception e){
            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"生成加密码失败!");
        }
        redisTemplate.opsForValue().set(Constants.REDIS_HK_TOKEN_KEY+encrypt, encrypt,1000*60*60*hour, TimeUnit.MILLISECONDS);
         return encrypt;
    }
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/HkOpenApiController.java
@@ -1,12 +1,15 @@
package com.doumee.cloud.openapi;
import com.alibaba.fastjson.JSONObject;
import com.doumee.api.BaseController;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DESUtil;
import com.doumee.core.wms.model.response.WmsBaseResponse;
import com.doumee.dao.openapi.request.*;
import com.doumee.dao.openapi.response.*;
import com.doumee.dao.system.model.SystemUser;
@@ -14,12 +17,15 @@
import com.doumee.service.system.SystemUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.*;
/**
@@ -28,11 +34,14 @@
 */
@Api(tags = "提供安防平台对接接口(数据大屏基础数据等)")
@RestController
@Slf4j
@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/hk/api")
public class HkOpenApiController extends BaseController {
    @Autowired
    private PlatformService platformService;
    @Autowired
    private InterfaceLogService interfaceLogService;
    @Autowired
    private PlatformLogService platformLogService;
@@ -59,17 +68,30 @@
    @ApiOperation("token解析")
    @GetMapping("/water/decodeToken")
    public Map<String,Object> decodeToken(@RequestParam String token) {
        String token1 =token;
        log.info("【安防平台单点登录token解析】================="+token1);
        int success = Constants.ZERO;
        Map<String,Object>  result = new HashMap<>() ;
        try {
            token = URLDecoder.decode(token,"UTF-8");
             token = URLEncoder.encode(token1);
            HkBaseTokenRequest hkBaseTokenRequest = new HkBaseTokenRequest();
            hkBaseTokenRequest.setToken(token);
            result = this.decodeTokenForHk(hkBaseTokenRequest);
        }catch (BusinessException e){
            log.error("【安防平台】单点登录token解===失败:"+e.getMessage());
            success = Constants.ONE;
        }catch (Exception e){
            log.error("【安防平台】单点登录token解析===失败:"+e.getMessage());
            e.printStackTrace();
            success = Constants.ONE;
        }finally {
            interfaceLogService.saveInterfaceLog("/hk/api/water/decodeToken", "【安防平台】单点登录token解析",token1,
                    success, JSONObject.toJSONString(result),Constants.ZERO);
        }
        HkBaseTokenRequest hkBaseTokenRequest = new HkBaseTokenRequest();
        hkBaseTokenRequest.setToken(token);
        return this.decodeTokenForHk(hkBaseTokenRequest);
        return result;
    }
    public Map<String,Object> decodeTokenForHk(HkBaseTokenRequest hkBaseTokenRequest){
    public Map<String,Object> decodeTokenForHk(HkBaseTokenRequest hkBaseTokenRequest)   {
        Map<String,Object> result = new HashMap<>();
        result.put("code","0");
        result.put("msg","success");
@@ -84,7 +106,11 @@
            result.put("msg","token无效!");
            return result;
        }
        String userName = DESUtil.verifyHkToken(hkBaseTokenRequest.getToken());
        String userName = null;
        try {
             userName = DESUtil.verifyHkToken(URLDecoder.decode(hkBaseTokenRequest.getToken(),"UTF-8"));
        }catch (Exception e){
        }
        if(StringUtils.isBlank(userName)){
            result.put("code","-1");
            result.put("msg","token参数为空");
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InterfaceLogService.java
@@ -70,7 +70,7 @@
     * @return InterfaceLog
     */
    InterfaceLog findOne(InterfaceLog interfaceLog);
    void  saveInterfaceLog(String url,String name,String  param,Integer success,String respone,int type);
    /**
     * 条件查询
     *
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InterfaceLogServiceImpl.java
@@ -7,6 +7,7 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.InterfaceLogMapper;
import com.doumee.dao.business.model.InterfaceLog;
import com.doumee.dao.business.model.WmsInterfaceLog;
import com.doumee.service.business.InterfaceLogService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -16,6 +17,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
/**
@@ -81,6 +83,24 @@
        QueryWrapper<InterfaceLog> wrapper = new QueryWrapper<>(interfaceLog);
        return interfaceLogMapper.selectOne(wrapper);
    }
    @Override
    public  void  saveInterfaceLog(String url,String name,String  param,Integer success,String respone,int type){
        if(interfaceLogMapper ==null){
            return;
        }
        InterfaceLog log = new InterfaceLog();
        log.setCreateDate(new Date());
        log.setUrl(url);
        log.setEditDate(log.getCreateDate());
        log.setPlat(Constants.ZERO);
        log.setName(name);
        log.setIsdeleted(Constants.ZERO);
        log.setRequest(param);
        log.setType(type);
        log.setSuccess(success);
        log.setRepose(respone);
        interfaceLogMapper.insert(log);
    }
    @Override
    public List<InterfaceLog> findList(InterfaceLog interfaceLog) {