value
2024-05-16 ef91628ec82aec198e61bd50bc56413692a8aa44
优化
已删除2个文件
已修改21个文件
已添加2个文件
432 ■■■■ 文件已修改
cnas-server/src/main/java/com/yuanchu/mom/controller/StandardMethodController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/mom/config/Swagger3.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsUnPassController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-run/src/main/resources/application-dev.yml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/controller/PostController.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/controller/SimpleController.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/dto/PersonDto.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/pojo/Person.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/pojo/User.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/service/UserService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/controller/StandardMethodController.java
@@ -14,7 +14,7 @@
import java.util.Map;
@Api("标准方法")
@Api(tags = "标准方法")
@RestController
@RequestMapping("/standardMethod")
@AllArgsConstructor
cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java
@@ -42,7 +42,7 @@
    @Override
    public List<StandardMethod> selectStandardMethods() {
        return standardMethodMapper.selectList(Wrappers.<StandardMethod>lambdaQuery().select(StandardMethod::getId,StandardMethod::getCode,StandardMethod::getName));
        return standardMethodMapper.selectList(Wrappers.<StandardMethod>lambdaQuery().select(StandardMethod::getId,StandardMethod::getCode,StandardMethod::getName).ne(StandardMethod::getId, 0));
    }
    @Override
framework/src/main/java/com/yuanchu/mom/config/Swagger3.java
@@ -34,15 +34,15 @@
        // ç”¨ApiInfoBuilder进行定制
        return new ApiInfoBuilder()
                // è®¾ç½®æ ‡é¢˜
                .title("OMS")
                .title("LIMS")
                // æè¿°
                .description("OMS系统")
                .description("实验室管理系统")
                // ä½œè€…信息
                .contact(new Contact("鵷雏", null, null))
                .contact(new Contact("鵷雏网络科技", null, null))
                // ç‰ˆæœ¬
                .version("版本号:V1.0")
                .version("版本号:V1.0")
                //协议
                .license("The Apache License")
                .license("商业项目")
                //协议url
                .licenseUrl("http://www.baidu.com")
                .build();
framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java
@@ -1,7 +1,6 @@
package com.yuanchu.mom.utils;
import com.yuanchu.mom.mapper.SystemLogMapper;
import lombok.Builder;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
@@ -31,7 +31,7 @@
@RestController
@AllArgsConstructor
@RequestMapping("/insOrder")
@Api("检验单模块")
@Api(tags="检验单模块")
public class InsOrderController {
    private InsOrderService insOrderService;
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -23,7 +23,7 @@
 */
@RestController
@RequestMapping("/insOrderPlan")
@Api("/检验任务")
@Api(tags = "检验任务")
@AllArgsConstructor
public class InsOrderPlanController {
inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java
@@ -22,8 +22,7 @@
@RestController
@RequestMapping("/insReport")
//@AllArgsConstructor
@Api("检验报告")
@Api(tags = "检验报告")
public class InsReportController {
    @Resource
inspect-server/src/main/java/com/yuanchu/mom/controller/InsUnPassController.java
@@ -23,7 +23,7 @@
 */
@RestController
@RequestMapping("/unPass")
@Api("/不合格管理")
@Api(tags = "不合格管理")
@AllArgsConstructor
public class InsUnPassController {
    @Resource
inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java
@@ -16,7 +16,7 @@
@RestController
@AllArgsConstructor
@RequestMapping("/report")
@Api("报表模块")
@Api(tags = "报表模块")
public class ReportController {
    private ReportService reportService;
inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java
@@ -17,7 +17,7 @@
@RequestMapping("/StandardTemplate")
@RestController
@AllArgsConstructor
@Api("原始记录模板")
@Api(tags = "原始记录模板")
public class StandardTemplateController {
    private StandardTemplateService standardTemplateService;
inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java
@@ -11,13 +11,19 @@
import com.yuanchu.mom.service.StandardProductListService;
import com.yuanchu.mom.service.StandardTreeService;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
@AllArgsConstructor
@RequestMapping("/standardTree")
@Api(tags="标准库")
public class StandardTreeController {
    private StandardTreeService standardTreeService;
@@ -117,4 +123,14 @@
        return Result.success(standardTreeService.getStandardTree2());
    }
    @ValueClassify("标准库")
    @ApiOperation(value = "批量修改项目内容")
    @PostMapping("/upStandardProducts")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "standardProductList",dataTypeClass = StandardProductList.class),
            @ApiImplicitParam(name = "ids",dataTypeClass = Integer.class)
    })
    public Result upStandardProducts(@RequestBody Map<String, Object> product){
        return Result.success(standardTreeService.upStandardProducts(product));
    }
}
inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java
@@ -16,7 +16,7 @@
@RequestMapping("/warehouse")
@RestController
@AllArgsConstructor
@Api("样品仓库")
@Api(tags = "样品管理")
public class WarehouseController {
    private WarehouseService warehouseService;
inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java
@@ -6,6 +6,7 @@
import com.yuanchu.mom.pojo.StandardTree;
import java.util.List;
import java.util.Map;
/**
* @author Administrator
@@ -24,4 +25,6 @@
    List<SampleTypeDto> getStandardTree2();
    int upStandardProducts(Map<String, Object> product);
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
@@ -19,6 +19,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
 * @author Administrator
@@ -109,6 +110,14 @@
        return standardTreeMapper.getStandardTree2();
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int upStandardProducts(Map<String, Object> product) {
        List<Integer> ids = JSON.parseArray(JSON.toJSONString(product.get("ids")));
        StandardProductList productList = JSON.parseObject(JSON.toJSONString(product.get("standardProductList")), StandardProductList.class);
        standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids));
        return 1;
    }
}
system-run/src/main/resources/application-dev.yml
@@ -37,9 +37,8 @@
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    #url: jdbc:mysql://localhost:3306/center_lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#    url: jdbc:mysql://114.132.189.42:9004/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    url: jdbc:mysql://localhost:3306/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#    url: jdbc:mysql://114.132.189.42:9004/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: root
    password: 123456
    druid:
user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java
@@ -1,37 +1,48 @@
package com.yuanchu.mom.controller;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.pojo.AuthApi;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.dto.PersonDto;
import com.yuanchu.mom.pojo.Company;
import com.yuanchu.mom.service.UserService;
import com.yuanchu.mom.util.HeaderToken;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Authorization;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@AllArgsConstructor
@RequestMapping("/companies")
@Api("组织模块")
@Api(tags="用户模块")
public class CompaniesController {
    @Autowired
    private HeaderToken headerToken;
    @ValueAuth
    @ApiOperation(value = "获取组织列表")
    private UserService userService;
    @ValueClassify("用户管理")
    @ApiOperation(value = "获取人事系统组织架构")
    @GetMapping(value = "/selectCompaniesList")
    public Result<List<Company>> selectcompaniesList(){
    public Result<List<Company>> selectCompaniesList() {
        return Result.success(headerToken.companyUrl());
    }
    @ValueAuth
    @ApiOperation("获取人事系统组织下的人员")
    @PostMapping(value = "/selectSimpleList")
    public Result<?> selectSimpleList(String companyId) {
        return Result.success(headerToken.userUrl(companyId));
    }
    @ValueAuth
    @ApiOperation("将人事系统勾选的内容转移到本系统")
    @PostMapping(value = "/addPersonUser")
    public Result<?> addPersonUser(@RequestBody PersonDto personDto) {
        return Result.success(userService.addPersonUser(personDto));
    }
}
user-server/src/main/java/com/yuanchu/mom/controller/PostController.java
ÎļþÒÑɾ³ý
user-server/src/main/java/com/yuanchu/mom/controller/SimpleController.java
ÎļþÒÑɾ³ý
user-server/src/main/java/com/yuanchu/mom/dto/PersonDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.mom.dto;
import com.yuanchu.mom.pojo.Company;
import com.yuanchu.mom.pojo.Person;
import lombok.Data;
import java.util.List;
@Data
public class PersonDto {
    private List<Person> person;
    private List<Company> company;
}
user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java
@@ -2,10 +2,38 @@
public class AuthApi {
    public static String companies = "https://ztt-sso.asuncloud.net/api/org/v1/companies";
    /**
     * æµ‹è¯•地址
     * */
//    private String code = "https://ztt-sso.asuncloud.net/oauth2/token";
    /**
     * æ­£å¼åœ°å€
     * */
    public static String code = "https://ztt-sso.chinaztt.cn/oauth2/token";
    public static String post="https://ztt-sso.asuncloud.net/api/org/v1/post?companyId=";
    /**
     * æ²³å£äººäº‹æµ‹è¯•库
     * */
//    private String appId = "8b2f2c7e-2ab9-4718-8193-c0c636dceba8";
//    private String appSecret = "db59b70d28ab1865aafe4008f59d4760";
    /**
     * æ²³å£äººäº‹æ­£å¼åº“
     * */
    public static String appId = "f6f3d70f-3666-4d3d-b9c5-430de3f6007c";
    public static String appSecret = "a18923496542302066b0a7bec993a4e2";
/**
 * è£…备人事测试库
 * */
//    private String appId = "0acf9b63-31e3-45c4-99c1-af1aac88b985";
//    private String appSecret = "7fb7a4026c71619345c31fa12ba31f4f";
    /**
     * è£…备人事正式库
     * */
//    private String appId = "6f5f6a0c-2a01-4ef6-9e75-c8a6f0c2f044";
//    private String appSecret = "89b9c4735b1e5ee9d6a8544b9b38bb03";
    public static String simple="https://ztt-sso.asuncloud.net/api/org/v1/employees/simple?companyId=";
    public static String companies = "https://ztt-connector.chinaztt.cn/api/org/v1/companies";
    public static String simple="https://ztt-connector.chinaztt.cn/api/org/v1/employees/simple?companyId=";
}
user-server/src/main/java/com/yuanchu/mom/pojo/Person.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
package com.yuanchu.mom.pojo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class Person {
    private String name;
    //人员编号,全局唯一
    private String employeeID;
//岗位
    private String position;
//岗位编码
    private String positionCode;
//手机号码
    private String phoneNumber;
    //性别 1:男 2:女
    private Integer gender;
    //组织状态 enable:在职 disabled:离职
    private String status;
//所属组织编码
    private String companyId;
//公司邮箱(可用于邮箱系统)
    private String companyEmail;
//入职公司时间
    private String dateOfJoiningTheCompany;
//组织内的部门编码
    private String departmentCode;
    @ApiModelProperty(">1:存在 =0:不存在")
    private Long isLive;
}
user-server/src/main/java/com/yuanchu/mom/pojo/User.java
@@ -112,26 +112,4 @@
    @ApiModelProperty(value = "关联的部门id")
    private String departId;
    ////人员编号,全局唯一
//    private String employeeID;
////岗位
//    private String position;
////岗位编码
//    private String positionCode;
////手机号码
//    private String phoneNumber;
//
//    //性别 1:男 2:女
//    private int gender;
//
//    //组织状态 enable:在职 disabled:离职
//    private String status;
////所属组织编码
//    private String companyId;
////公司邮箱(可用于邮箱系统)
//    private String companyEmail;
////入职公司时间
//    private String dateOfJoiningTheCompany;
////组织内的部门编码
//    private String departmentCode;
}
user-server/src/main/java/com/yuanchu/mom/service/UserService.java
@@ -1,10 +1,9 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.PersonDto;
import com.yuanchu.mom.dto.UserPageDto;
import com.yuanchu.mom.pojo.User;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
@@ -34,4 +33,6 @@
    int upUserPassword(String oldPassword, String newPassWord);
    int addPersonUser(PersonDto personDto);
}
user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java
@@ -3,11 +3,10 @@
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.PersonDto;
import com.yuanchu.mom.dto.UserPageDto;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.UserMapper;
@@ -15,18 +14,11 @@
import com.yuanchu.mom.service.UserService;
import com.yuanchu.mom.utils.Jwt;
import com.yuanchu.mom.utils.QueryWrappers;
import com.yuanchu.mom.vo.Result;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.DigestUtils;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.File;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -114,4 +106,10 @@
        return userMapper.updateById(user);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int addPersonUser(PersonDto personDto) {
        System.out.println(personDto);
        return 1;
    }
}
user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java
@@ -2,23 +2,25 @@
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.log.Log;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.UserMapper;
import com.yuanchu.mom.pojo.AuthApi;
import com.yuanchu.mom.pojo.Company;
import com.yuanchu.mom.pojo.Post;
import com.yuanchu.mom.pojo.Person;
import com.yuanchu.mom.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.Duration;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@Component
public class HeaderToken {
@@ -26,129 +28,74 @@
    @Resource
    private RedisTemplate redisTemplate;
    public static void main(String[] args) {
        HttpRequest request = HttpRequest.post("https://ztt-sso.asuncloud.net/oauth2/token")
                .header("Content-Type", "application/x-www-form-urlencoded")
                .form("grant_type", "client_credentials")
                .form("client_id", "8b2f2c7e-2ab9-4718-8193-c0c636dceba8")
                .form("client_secret", "db59b70d28ab1865aafe4008f59d4760");
        HttpResponse response = request.execute();
        System.out.println(response.body());
    }
    @Resource
    private UserMapper userMapper;
    public String fetchNewAccessToken() {
        HttpRequest request = HttpRequest.post("https://ztt-sso.asuncloud.net/oauth2/token")
        HttpRequest request = HttpRequest.post(AuthApi.code)
                .header("Content-Type", "application/x-www-form-urlencoded")
                .form("grant_type", "client_credentials")
                .form("client_id", "8b2f2c7e-2ab9-4718-8193-c0c636dceba8")
                .form("client_secret", "db59b70d28ab1865aafe4008f59d4760");
                .form("client_id", AuthApi.appId)
                .form("client_secret", AuthApi.appSecret);
        HttpResponse response = request.execute();
        System.out.println(response.body());
        ObjectMapper objectMapper = new ObjectMapper();
        JsonNode jsonNode = null;
        JsonNode jsonNode;
        try {
            jsonNode = objectMapper.readTree(response.body());
            String accessToken = jsonNode.get("access_token").asText();
            redisTemplate.opsForValue().set("access_token",accessToken);
            redisTemplate.expire("access_token", dataTime("access_token"), TimeUnit.SECONDS);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
            Log.get().info("获取人事系统token:"+accessToken);
            redisTemplate.opsForValue().set("access_token",accessToken,jsonNode.get("expires_in").asInt() - 60,TimeUnit.SECONDS);
            return accessToken;
        } catch (Exception e) {
            throw new ErrorException(e.getMessage());
        }
        return null;
    }
        private String accessToken ;
    //判断是否过期
    //判断是否存在
    public String getAccessToken() {
        accessToken=(String) redisTemplate.opsForValue().get("access_token");
        if (accessToken == null) {
        String accessToken;
        if (!redisTemplate.hasKey("access_token")) {
            accessToken = fetchNewAccessToken();
        }else{
            accessToken = redisTemplate.opsForValue().get("access_token")+"";
        }
        return accessToken;
    }
    //判断 token æ˜¯å¦å·²å­˜åœ¨
    public String getToken(String token) {
        String o = redisTemplate.opsForValue().get(token).toString();
        if (o != null && !o.isEmpty()) {
            return o;
        }else{
            redisTemplate.expire(token,dataTime("access_token"),TimeUnit.SECONDS);
            String tokens = redisTemplate.opsForValue().get(token).toString();
            return tokens;
        }
        // èŽ·å– token
//        accessToken = fetchNewAccessToken();
//        return accessToken;
    }
    //获取token过期时间
    public Long dataTime(String token){
        Long access_token = redisTemplate.getExpire(token);
        if(access_token != null && access_token >60) {
            redisTemplate.expire(token, access_token - 60 ,TimeUnit.SECONDS);
            return access_token - 60;
        }//就直接调用
        return null;
    }
    //调用
    public List<Company>  companyUrl() {
        String accessToken = getAccessToken();
        String getToken= getToken(accessToken);
        String apiUrl =AuthApi.companies; // æ›¿æ¢ä¸ºå®žé™…çš„API端点URL
        HttpRequest request = HttpRequest.get(apiUrl)
        HttpRequest request = HttpRequest.get(AuthApi.companies)
                .header("Authorization", "Bearer " + accessToken);
        HttpResponse response = request.execute();
        ObjectMapper objectMapper = new ObjectMapper();
        String body = response.body();
        List<Company> companies = null;
        List<Company> companies;
        try {
            companies = objectMapper.readValue(body, new TypeReference<List<Company>>(){});
        } catch (JsonProcessingException e) {
            e.printStackTrace();
            companies = JSON.parseArray(request.execute().body(), Company.class);
        }catch (Exception e){
            throw new ErrorException(e.getMessage());
        }
        return companies;
        return companies.stream().filter(ob->{
            if(ob.getStatus().equals("enabled")) return true;
            return false;
        }).collect(Collectors.toList());
    }
    public List<Post>  postUrl(String companyId) {
    public List<Person> userUrl(String companyId) {
        String accessToken = getAccessToken();
        String token = getToken(accessToken);
        String apiUrl =AuthApi.post+companyId; // æ›¿æ¢ä¸ºå®žé™…çš„API端点URL
        HttpRequest request = HttpRequest.get(apiUrl)
                .header("Authorization", "Bearer " + accessToken);
        HttpResponse response = request.execute();
        ObjectMapper objectMapper = new ObjectMapper();
        String body = response.body();
        List<Post> posts = null;
        try {
            posts=objectMapper.readValue(body, new TypeReference<List<Post>>() {});
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        return posts;
    }
    public List<User>  userUrl(String companyId) {
        String accessToken = getAccessToken();
        String token = getToken(accessToken);
        String apiUrl =AuthApi.simple+companyId; // æ›¿æ¢ä¸ºå®žé™…çš„API端点URL
        HttpRequest request = HttpRequest.get(apiUrl)
        HttpRequest request = HttpRequest.get(AuthApi.simple+companyId)
                .header("Authorization", "Bearer " + accessToken)
                .header("Content-Type", "application/form-data");
        HttpResponse response = request.execute();
        ObjectMapper objectMapper = new ObjectMapper();
        String body = response.body();
        List<User> user=null;
        List<Person> person;
        try {
            user= objectMapper.readValue(body,new TypeReference<List<User>>(){});
        } catch (JsonProcessingException e) {
            e.printStackTrace();
            person = JSON.parseArray(request.execute().body(), Person.class);
        }catch (Exception e){
            throw new ErrorException(e.getMessage());
        }
        return user;
        return person.stream().filter(ob->{
            if(Objects.equals(ob.getStatus(), "enabled")) {
                ob.setIsLive(userMapper.selectCount(Wrappers.<User>lambdaQuery().eq(User::getAccount, ob.getEmployeeID())));
                return true;
            }
            return false;
        }).collect(Collectors.toList());
    }
}