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()); } }