From 32bdae73e49c51b6835ef0a5c7b82c4a83a521df Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期日, 16 三月 2025 16:46:08 +0800 Subject: [PATCH] 人事系统对接 --- ruoyi-admin/src/main/resources/application-test.yml | 18 + inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java | 2 ruoyi-common/src/main/java/com/ruoyi/common/config/IfsProperties.java | 2 ruoyi-common/src/main/java/com/ruoyi/common/utils/api/IfsApiUtils.java | 4 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java | 4 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonnelHeaderApi.java | 199 ++++++++++++++++++++++ ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java | 3 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonDto.java | 20 ++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 1 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java | 11 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Person.java | 41 ++++ ruoyi-admin/src/main/resources/application-prod.yml | 1 ruoyi-common/src/main/java/com/ruoyi/common/config/PersonnelProperties.java | 39 ++++ ruoyi-admin/src/main/resources/application-druid.yml | 19 + inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java | 4 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java | 7 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Company.java | 20 ++ ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java | 12 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompaniesController.java | 60 ++++++ ruoyi-common/src/main/java/com/ruoyi/common/config/WechatProperty.java | 2 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 15 - 21 files changed, 446 insertions(+), 38 deletions(-) diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java index 8d7d884..3ac468f 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java @@ -16,7 +16,7 @@ import com.deepoove.poi.data.Pictures; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.utils.DateImageUtil; -import com.ruoyi.common.utils.IfsApiUtils; +import com.ruoyi.common.utils.api.IfsApiUtils; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.dto.IfsStockQueryDTO; diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java index cab07f0..dfaa489 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java @@ -99,14 +99,9 @@ private InsOrderStateMapper insOrderStateMapper; @Resource private InsProductMapper insProductMapper; - @Resource - private ShiftTimeMapper shiftTimeMapper; - @Resource - private PerformanceShiftMapper performanceShiftMapper; + @Value("${wordUrl}") private String wordUrl; - @Value("${twoCode}") - private String twoCode; @Resource private InsReportMapper insReportMapper; @Resource @@ -781,11 +776,13 @@ int count = 0; for (InsProduct product : insProducts) { count++; - str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>"; - + str += (count != 0 ? "\n" : "") + count + "锛�" + + product.getInspectionItemClass() + " " + + product.getInspectionItem() + " " + + product.getInspectionItemSubclass(); } if (ObjectUtils.isNotEmpty(str)) { - throw new ErrorException("<strong>瀛樺湪寰呮楠岀殑椤圭洰锛�</strong><br/>" + str); + throw new ErrorException("瀛樺湪寰呮楠岀殑椤圭洰锛�" + str); } } diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java index 186e0a1..aed6e35 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java @@ -10,14 +10,11 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; -import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper; import com.ruoyi.basic.mapper.StandardProductListMapper; @@ -28,6 +25,7 @@ import com.ruoyi.common.core.domain.entity.User; import com.ruoyi.common.numgen.NumberGenerator; import com.ruoyi.common.utils.*; +import com.ruoyi.common.utils.api.IfsApiUtils; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.dto.*; import com.ruoyi.inspect.mapper.*; @@ -37,11 +35,8 @@ import com.ruoyi.inspect.service.InsProductService; import com.ruoyi.inspect.service.InsSampleService; import com.ruoyi.inspect.vo.InsOrderPrintingVo; -import com.ruoyi.inspect.vo.SampleDefectsFatherVo; -import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours; import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHoursTemporary; import com.ruoyi.performance.service.AuxiliaryOutputWorkingHoursTemporaryService; -import com.ruoyi.system.mapper.CustomMapper; import com.ruoyi.system.mapper.UserMapper; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java index 46c30d9..17e3cea 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java @@ -25,9 +25,9 @@ import com.ruoyi.common.constant.MenuJumpPathConstants; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.core.domain.entity.InformationNotification; -import com.ruoyi.common.core.domain.entity.User; -import com.ruoyi.common.properties.WechatProperty; +import com.ruoyi.common.config.WechatProperty; import com.ruoyi.common.utils.*; +import com.ruoyi.common.utils.api.IfsApiUtils; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.dto.ReportPageDto; import com.ruoyi.inspect.mapper.*; diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java index a0d947f..155010a 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java @@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.dto.*; @@ -20,7 +19,7 @@ import com.ruoyi.common.constant.InsOrderTypeConstants; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.core.domain.entity.User; -import com.ruoyi.common.properties.WechatProperty; +import com.ruoyi.common.config.WechatProperty; import com.ruoyi.common.utils.LimsDateUtil; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; @@ -58,7 +57,6 @@ import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; -import java.util.stream.Collectors; /** * @Author zhuo diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Company.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Company.java new file mode 100644 index 0000000..625ba56 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Company.java @@ -0,0 +1,20 @@ +package com.ruoyi.web.controller.api; + +import lombok.Data; + +/** + * 鍏徃淇℃伅 + */ +@Data +public class Company { + + private String companyId; + + private String companyName; + + private String parentCompanyId; + + private String description; + + private String status; +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Person.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Person.java new file mode 100644 index 0000000..1565244 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Person.java @@ -0,0 +1,41 @@ +package com.ruoyi.web.controller.api; + +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; + + private String department; +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonDto.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonDto.java new file mode 100644 index 0000000..50e8481 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonDto.java @@ -0,0 +1,20 @@ +package com.ruoyi.web.controller.api; + +import lombok.Data; + +import java.util.List; + +/** + * 浜轰簨淇℃伅 + */ +@Data +public class PersonDto { + + + private List<Person> person; + + private List<Company> company; + + private Integer roleId; + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonnelHeaderApi.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonnelHeaderApi.java new file mode 100644 index 0000000..410fd11 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonnelHeaderApi.java @@ -0,0 +1,199 @@ +package com.ruoyi.web.controller.api; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.log.Log; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.ruoyi.common.config.PersonnelProperties; +import com.ruoyi.common.core.domain.entity.Custom; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.system.mapper.UserMapper; +import com.ruoyi.system.service.CustomService; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.DigestUtils; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +/** + * 鑾峰彇浜轰簨绯荤粺 + */ +@Component +public class PersonnelHeaderApi { + + @Resource + private RedisTemplate redisTemplate; + @Resource + private PersonnelProperties personnelProperties; + @Resource + private CustomService customService; + @Resource + private UserMapper userMapper; + + public String fetchNewAccessToken() { + HttpRequest request = HttpRequest.post(personnelProperties.getCode()) + .header("Content-Type", "application/x-www-form-urlencoded") + .form("grant_type", "client_credentials") + .form("client_id", personnelProperties.getAppId()) + .form("client_secret", personnelProperties.getAppSecret()); + HttpResponse response = request.execute(); + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode jsonNode; + try { + jsonNode = objectMapper.readTree(response.body()); + String accessToken = jsonNode.get("access_token").asText(); + Log.get().info("鑾峰彇浜轰簨绯荤粺token锛�" + accessToken); + redisTemplate.opsForValue().set("personnelAccessToken:idToken:", accessToken, jsonNode.get("expires_in").asInt() - 60, TimeUnit.SECONDS); + return accessToken; + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + //鍒ゆ柇鏄惁瀛樺湪 + public String getAccessToken() { + String accessToken; + if (!redisTemplate.hasKey("personnelAccessToken:idToken:")) { + accessToken = fetchNewAccessToken(); + } else { + accessToken = redisTemplate.opsForValue().get("personnelAccessToken:idToken:") + ""; + } + return accessToken; + } + + //璋冪敤 + public List<Company> companyUrl() { + String accessToken = getAccessToken(); + HttpRequest request = HttpRequest.get(personnelProperties.getCompanies()) + .header("Authorization", "Bearer " + accessToken); + List<Company> companies; + try { + companies = JSON.parseArray(request.execute().body(), Company.class); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + return companies.stream().filter(ob -> { + if (Objects.equals(ob.getStatus(), "enabled")) return true; + return false; + }).collect(Collectors.toList()); + } + + public List<Person> userUrl(String companyId) { + String accessToken = getAccessToken(); + HttpRequest request = HttpRequest.get(personnelProperties.getSimple() + companyId) + .header("Authorization", "Bearer " + accessToken) + .header("Content-Type", "application/form-data"); + List<Person> person; + try { + person = JSON.parseArray(request.execute().body(), Person.class); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + List<JSONObject> department = getDepartment(companyId); + return person.stream().filter(ob -> { + if (Objects.equals(ob.getStatus(), "enabled")) { + ob.setIsLive(userMapper.selectCount(Wrappers.<User>lambdaQuery().eq(User::getAccount, ob.getEmployeeID()))); + ob.setDepartment(getDepartmentStr(department, ob.getDepartmentCode()).replaceFirst("/", "")); + return true; + } + return false; + }).collect(Collectors.toList()); + } + + public String getDepartmentStr(List<JSONObject> department, String code) { + String str = ""; + Optional<JSONObject> depart = department.stream().filter(a -> code.equals(a.get("departmentCode"))).findFirst(); + str = "/" + depart.get().get("departmentName") + str; + if (depart.get().get("parentDepartmentCode") != null) { + str = getDepartmentStr(department, depart.get().get("parentDepartmentCode").toString()) + str; + } + return str; + } + + public List<JSONObject> getDepartment(String companyId) { + String accessToken = getAccessToken(); + HttpRequest request = HttpRequest.get(personnelProperties.getDepartment().replace("companyId", companyId)) + .header("Authorization", "Bearer " + accessToken) + .header("Content-Type", "application/form-data"); + List<JSONObject> list; + try { + list = JSON.parseArray(request.execute().body()); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + return list.stream().filter(ob -> { + if (Objects.equals(ob.get("status"), "enabled")) return true; + return false; + }).collect(Collectors.toList()); + } + + public Person selectPersonUser(String code) { + String accessToken = getAccessToken(); + HttpRequest request = HttpRequest.get(personnelProperties.getPerson() + code) + .header("Authorization", "Bearer " + accessToken) + .header("Content-Type", "application/form-data"); + Person person; + try { + person = JSON.parseObject(request.execute().body(), Person.class); + if (BeanUtil.isEmpty(person)) return null; + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + List<JSONObject> department = getDepartment(person.getCompanyId()); + person.setDepartment(getDepartmentStr(department, person.getDepartmentCode()).replaceFirst("/", "")); + person.setIsLive(userMapper.selectCount(Wrappers.<User>lambdaQuery().eq(User::getAccount, person.getEmployeeID()))); + return person; + } + + /** + * 灏嗕汉浜嬬郴缁熷嬀閫夌殑鍐呭杞Щ鍒版湰绯荤粺 + * @param personDto + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Object addPersonUser(PersonDto personDto) { + personDto.getPerson().forEach(person -> { + User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, person.getEmployeeID())); + List<Company> company = personDto.getCompany(); + String companyName = ""; + Custom custom = null; + // 濉厖宸ュ巶淇℃伅 + companyName = company.stream().filter(a -> a.getCompanyId().equals(person.getCompanyId())).findFirst().get().getCompanyName(); + custom = customService.getCustomId(companyName); + + if (BeanUtil.isEmpty(user)) { + user = new User(); + user.setName(person.getName()); + user.setNameEn("not write"); + user.setAccount(person.getEmployeeID()); + user.setPhone(person.getPhoneNumber()); + user.setEmail(person.getCompanyEmail()); + user.setIsCustom(0); + user.setPassword(SecurityUtils.encryptPassword("zttZTT123!")); + user.setCompany(BeanUtil.isNotEmpty(custom) ? (custom.getId() + "") : companyName); + userMapper.insert(user); + } else { + user.setName(person.getName()); + user.setPhone(person.getPhoneNumber()); + user.setEmail(person.getCompanyEmail()); + user.setIsCustom(0); + user.setCompany(BeanUtil.isNotEmpty(custom) ? (custom.getId() + "") : companyName); + userMapper.updateById(user); + } + }); + return 1; + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompaniesController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompaniesController.java new file mode 100644 index 0000000..0110490 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompaniesController.java @@ -0,0 +1,60 @@ +package com.ruoyi.web.controller.system; + +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.system.mapper.UserMapper; +import com.ruoyi.system.service.UserService; +import com.ruoyi.web.controller.api.Company; +import com.ruoyi.web.controller.api.PersonDto; +import com.ruoyi.web.controller.api.PersonnelHeaderApi; +import com.ruoyi.web.controller.api.Person; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@AllArgsConstructor +@RequestMapping("/companies") +@Api(tags = "鐢ㄦ埛妯″潡") +public class CompaniesController { + + private PersonnelHeaderApi personnelHeaderApi; + + private UserService userService; + + @PostMapping("/getSampleUser") + @ApiOperation(value = "鏌ョ湅鎸囧畾閮ㄩ棬鐨勪汉浜嬬郴缁熺粍缁囨灦鏋�") + public Result<?> getSampleUser() { + return Result.success(); + } + + + @ApiOperation(value = "鏌ョ湅浜轰簨绯荤粺缁勭粐鏋舵瀯") + @GetMapping(value = "/selectCompaniesList") + public Result<List<Company>> selectCompaniesList() { + return Result.success(personnelHeaderApi.companyUrl()); + + } + + @ApiOperation("鑾峰彇浜轰簨绯荤粺缁勭粐涓嬬殑浜哄憳") + @PostMapping(value = "/selectSimpleList") + public Result<?> selectSimpleList(String companyId) { + return Result.success(personnelHeaderApi.userUrl(companyId)); + } + + @ApiOperation("灏嗕汉浜嬬郴缁熷嬀閫夌殑鍐呭杞Щ鍒版湰绯荤粺") + @PostMapping(value = "/addPersonUser") + public Result<?> addPersonUser(@RequestBody PersonDto personDto) { + return Result.success(personnelHeaderApi.addPersonUser(personDto)); + } + + @ApiOperation("閫氳繃鍛樺伐鍙疯幏鍙栧憳宸�") + @PostMapping(value = "/selectPersonUser") + public Result<?> selectPersonUser(String code) { + Person person = personnelHeaderApi.selectPersonUser(code); + return Result.success(person); + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java index 8690091..d6c0b29 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -4,7 +4,6 @@ import java.util.Set; import java.util.UUID; -import com.ruoyi.common.annotation.Anonymous; import com.ruoyi.common.config.SsoBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index a0e5864..9bd45f1 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -8,9 +8,9 @@ druid: # 涓诲簱鏁版嵁婧� master: - url: jdbc:mysql://114.132.189.42:9004/lims-ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://10.16.173.59:3306/lims-ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: 123456 + password: zttZTT123! # 浠庡簱鏁版嵁婧� slave: # 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴 @@ -96,7 +96,7 @@ configuration: map-underscore-to-camel-case: true cache-enabled: false - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + log-impl: # org.apache.ibatis.logging.stdout.StdOutImpl # Swagger閰嶇疆 swagger: @@ -125,7 +125,6 @@ allowed: png,jpg,jpeg,gif wordUrl: D:\椤圭洰鏂囦欢瀛樺偍\word -twoCode: D:\椤圭洰鏂囦欢瀛樺偍\two_code #oa: @@ -133,6 +132,18 @@ # prodIp: http://192.168.21.53:8081 # unqualifiedProcessId: 41974 +# 浜轰簨绯荤粺 +personnel: + code: + appId: + appSecret: + companies: + simple: + password: + department: + person: + +# 浼佷笟寰俊閫氱煡 wechat: # 璐ㄩ噺鎶ユ閫氱煡 examiningUrl: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=21993616-9966-4fe4-81b0-68e99a40c964 diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index c8e986c..8830a70 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -125,7 +125,6 @@ allowed: png,jpg,jpeg,gif wordUrl: /javaWork/lims-ruoyi/file/word -twoCode: /javaWork/lims-ruoyi/file/two_code #oa: diff --git a/ruoyi-admin/src/main/resources/application-test.yml b/ruoyi-admin/src/main/resources/application-test.yml index 560cdd9..868108e 100644 --- a/ruoyi-admin/src/main/resources/application-test.yml +++ b/ruoyi-admin/src/main/resources/application-test.yml @@ -124,16 +124,28 @@ path: /center-lims/Work/img # 涓婁紶鏂囦欢鍏佽鐨勬墿灞曞悕 allowed: png,jpg,jpeg,gif - +# 鎶ュ憡鍦板潃 wordUrl: /center-lims/Work/word -twoCode: /center-lims/Work/two_code - #oa: # oaHost: http://192.168.0.49:8000/oa_workflowrequest.asmx?wsdl # prodIp: http://192.168.21.53:8081 # unqualifiedProcessId: 41974 +# 浜轰簨绯荤粺 +personnel: + # 姝e紡鍦板潃 + code: https://ztt-sso.ztt.cn/oauth2/token + # 瑁呭浜轰簨姝e紡搴� + appId: 6f5f6a0c-2a01-4ef6-9e75-c8a6f0c2f044 + appSecret: 9b9c4735b1e5ee9d6a8544b9b38bb03 + companies: https://ztt-connector.ztt.cn/api/org/v1/companies + simple: https://ztt-connector.ztt.cn/api/org/v1/employees/simple?companyId= + # 浜哄憳瀵嗙爜鑾峰彇 + password: https://ztt-connector.ztt.cn/api/org/v1/employees/original_pwd/ + department: https://ztt-connector.ztt.cn/api/org/v1/companies/companyId/departments + person: https://ztt-connector.ztt.cn/api/org/v1/employees/simple/ + wechat: # 璐ㄩ噺鎶ユ閫氱煡 examiningUrl: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=21993616-9966-4fe4-81b0-68e99a40c964 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/properties/IfsProperties.java b/ruoyi-common/src/main/java/com/ruoyi/common/config/IfsProperties.java similarity index 94% rename from ruoyi-common/src/main/java/com/ruoyi/common/properties/IfsProperties.java rename to ruoyi-common/src/main/java/com/ruoyi/common/config/IfsProperties.java index 655a7d3..451f163 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/properties/IfsProperties.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/config/IfsProperties.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.properties; +package com.ruoyi.common.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/config/PersonnelProperties.java b/ruoyi-common/src/main/java/com/ruoyi/common/config/PersonnelProperties.java new file mode 100644 index 0000000..aab04a1 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/config/PersonnelProperties.java @@ -0,0 +1,39 @@ +package com.ruoyi.common.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +/** + * 浜轰簨绯荤粺api + * + * @Author zhuo + * @Date 2025/3/16 + */ +@Configuration +@ConfigurationProperties(prefix = "personnel") +@Data +public class PersonnelProperties { + /** + * 姝e紡鍦板潃 + * */ + private String code; + /** + * 瑁呭浜轰簨姝e紡搴� + * */ + private String appId; + private String appSecret; + + private String companies; + + private String simple; + + /** + * 浜哄憳瀵嗙爜鑾峰彇 + * */ + private String password; + + private String department; + + private String person; +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/properties/WechatProperty.java b/ruoyi-common/src/main/java/com/ruoyi/common/config/WechatProperty.java similarity index 90% rename from ruoyi-common/src/main/java/com/ruoyi/common/properties/WechatProperty.java rename to ruoyi-common/src/main/java/com/ruoyi/common/config/WechatProperty.java index cf484eb..f992280 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/properties/WechatProperty.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/config/WechatProperty.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.properties; +package com.ruoyi.common.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/IfsApiUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/api/IfsApiUtils.java similarity index 98% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/IfsApiUtils.java rename to ruoyi-common/src/main/java/com/ruoyi/common/utils/api/IfsApiUtils.java index 21460ef..81bed96 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/IfsApiUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/api/IfsApiUtils.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.utils; +package com.ruoyi.common.utils.api; import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONUtil; @@ -7,7 +7,7 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.common.core.domain.Result; -import com.ruoyi.common.properties.IfsProperties; +import com.ruoyi.common.config.IfsProperties; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java index c0b181b..367e578 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java @@ -4,13 +4,10 @@ import javax.net.ssl.SSLContext; import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.config.SsoBean; -import com.ruoyi.common.core.domain.entity.User; import com.ruoyi.framework.model.SsoOauthTokenModel; import com.ruoyi.framework.model.SsoUserInfoModel; import com.ruoyi.framework.web.ssoAuth.SsoCodeAuthenticationToken; -import com.ruoyi.system.mapper.UserMapper; import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java index c0d0abe..89e6074 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java @@ -35,9 +35,19 @@ */ String selectUserDepartmentLimsName(); - + /** + * 淇敼浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋� + * @param ids + * @param id + * @return + */ int upUserDepardLimsId(String ids, String id); + /** + * 鍒犻櫎浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋� + * @param id + * @return + */ int delUserDepardLimsId(Integer id); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java index f98f967..485c6b4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java @@ -52,12 +52,23 @@ return baseMapper.selectUserDepartmentLimsName(SecurityUtils.getUserId().intValue()); } + /** + * 淇敼浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋� + * @param ids + * @param id + * @return + */ @Override public int upUserDepardLimsId(String ids, String id) { List<Integer> userIds = JSON.parseArray(ids, Integer.class); return baseMapper.update(null, Wrappers.<User>lambdaUpdate().in(User::getId, userIds).set(User::getDepartLimsId, id).set(User::getUpdateTime, LocalDateTime.now()).set(User::getUpdateBy,SecurityUtils.getLoginUser().getUsername())); } + /** + * 鍒犻櫎浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋� + * @param id + * @return + */ @Override public int delUserDepardLimsId(Integer id) { return baseMapper.update(null, Wrappers.<User>lambdaUpdate().eq(User::getId, id).set(User::getDepartLimsId, null).set(User::getUpdateTime, LocalDateTime.now()).set(User::getUpdateBy, SecurityUtils.getUsername())); -- Gitblit v1.9.3