From d9326c6f02ff4dae1a301f6ad9dd5539450aa1ba Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 06 三月 2025 09:00:16 +0800
Subject: [PATCH] 用户管理&权限管理调整
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/api/AuthApi.java | 57 +++++++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/api/HeaderToken.java | 191 +++++++++++++++++++++++
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java | 27 +++
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 3
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java | 3
inspect-server/src/main/resources/lib/license.xml | 13 +
ruoyi-admin/src/main/resources/application.yml | 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java | 25 +++
cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentListServiceImpl.java | 2
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Person.java | 38 ++++
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java | 50 ++++++
ruoyi-common/src/main/java/com/ruoyi/common/core/dto/PersonDto.java | 18 ++
inspect-server/src/main/resources/static/report-template.docx | 0
inspect-server/src/main/resources/lib/aspose-words-15.12.0-jdk16.jar | 0
ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java | 2
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Company.java | 17 ++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CustomController.java | 2
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml | 1
18 files changed, 447 insertions(+), 4 deletions(-)
diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentListServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentListServiceImpl.java
index 247d1d9..f73db3e 100644
--- a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentListServiceImpl.java
+++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentListServiceImpl.java
@@ -22,9 +22,7 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.stream.Collectors;
/**
diff --git a/inspect-server/src/main/resources/lib/aspose-words-15.12.0-jdk16.jar b/inspect-server/src/main/resources/lib/aspose-words-15.12.0-jdk16.jar
new file mode 100644
index 0000000..84320cf
--- /dev/null
+++ b/inspect-server/src/main/resources/lib/aspose-words-15.12.0-jdk16.jar
Binary files differ
diff --git a/inspect-server/src/main/resources/lib/license.xml b/inspect-server/src/main/resources/lib/license.xml
new file mode 100644
index 0000000..ecd46c1
--- /dev/null
+++ b/inspect-server/src/main/resources/lib/license.xml
@@ -0,0 +1,13 @@
+<License>
+ <Data>
+ <Products>
+ <Product>Aspose.Total for Java</Product>
+ <Product>Aspose.Words for Java</Product>
+ </Products>
+ <EditionType>Enterprise</EditionType>
+ <SubscriptionExpiry>20991231</SubscriptionExpiry>
+ <LicenseExpiry>20991231</LicenseExpiry>
+ <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
+ </Data>
+ <Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>
+</License>
diff --git a/inspect-server/src/main/resources/static/report-template.docx b/inspect-server/src/main/resources/static/report-template.docx
new file mode 100644
index 0000000..771345f
--- /dev/null
+++ b/inspect-server/src/main/resources/static/report-template.docx
Binary files differ
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CustomController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CustomController.java
index 040af38..978d7ee 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CustomController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CustomController.java
@@ -30,7 +30,7 @@
@ApiOperation(value = "鑾峰彇瀹㈡埛鍒楄〃")
@GetMapping("/selectCustomPageList")
- public Result<IPage<Custom>> selectCustomPageList(Page page, Custom custom) throws Exception {
+ public Result<IPage<Custom>> selectCustomPageList(Page page, Custom custom) {
return Result.success(customService.selectCustomPageList(page, custom));
}
@ApiOperation(value = "鍒犻櫎瀹㈡埛淇℃伅")
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java
index 16e812b..67cc35f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java
@@ -2,13 +2,18 @@
import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.core.domain.entity.Company;
import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.core.dto.PersonDto;
import com.ruoyi.system.service.UserService;
import com.ruoyi.web.controller.dto.UpdateUserDto;
+import com.ruoyi.web.controller.system.api.HeaderToken;
import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.util.List;
/**
@@ -23,6 +28,9 @@
@Resource
private UserService userService;
+
+ @Autowired
+ private HeaderToken headerToken;
/**
* todo: type : 1: 鑾峰彇妫�娴嬩汉鍛樹俊鎭�
@@ -70,6 +78,23 @@
}
+ @ApiOperation(value = "鏌ョ湅浜轰簨绯荤粺缁勭粐鏋舵瀯")
+ @GetMapping(value = "/selectCompaniesList")
+ public Result<List<Company>> selectCompaniesList() {
+ return Result.success(headerToken.companyUrl());
+ }
+
+ @ApiOperation("鑾峰彇浜轰簨绯荤粺缁勭粐涓嬬殑浜哄憳")
+ @GetMapping(value = "/selectSimpleList")
+ public Result<?> selectSimpleList(String companyId) {
+ return Result.success(headerToken.userUrl(companyId));
+ }
+
+ @ApiOperation("灏嗕汉浜嬬郴缁熷嬀閫夌殑鍐呭杞Щ鍒版湰绯荤粺")
+ @PostMapping(value = "/addPersonUser")
+ public Result<?> addPersonUser(@RequestBody PersonDto personDto) {
+ return Result.success(userService.addPersonUser(personDto));
+ }
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/api/AuthApi.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/api/AuthApi.java
new file mode 100644
index 0000000..0a38ac9
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/api/AuthApi.java
@@ -0,0 +1,57 @@
+package com.ruoyi.web.controller.system.api;
+
+public class AuthApi {
+
+ /**
+ * 娴嬭瘯鍦板潃
+ * */
+// private String code = "https://ztt-sso.asuncloud.net/oauth2/token";
+ /**
+ * 姝e紡鍦板潃
+ * */
+ public static String code = "https://ztt-sso.ztt.cn/oauth2/token";
+
+ /**
+ * 娌冲彛浜轰簨娴嬭瘯搴�
+ * */
+// private String appId = "8b2f2c7e-2ab9-4718-8193-c0c636dceba8";
+// private String appSecret = "db59b70d28ab1865aafe4008f59d4760";
+ /**
+ * 娌冲彛浜轰簨姝e紡搴�
+ * */
+ 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";
+ /**
+ * 瑁呭浜轰簨姝e紡搴�
+ * */
+// private String appId = "6f5f6a0c-2a01-4ef6-9e75-c8a6f0c2f044";
+// private String appSecret = "89b9c4735b1e5ee9d6a8544b9b38bb03";
+
+ /**
+ * 鏌ヨ缁勭粐鏋舵瀯
+ */
+ public static String companies = "https://ztt-connector.ztt.cn/api/org/v1/companies";
+
+ public static String simple="https://ztt-connector.ztt.cn/api/org/v1/employees/simple?companyId=";
+
+ /**
+ * 鑾峰彇鎵�鏈変汉鍛�
+ */
+ public static String employees = "https://ztt-connector.ztt.cn/api/org/v1/employees";
+
+
+ /**
+ * 浜哄憳瀵嗙爜鑾峰彇
+ * */
+ public static String password = "https://ztt-connector.ztt.cn/api/org/v1/employees/original_pwd/";
+
+ public static String department = "https://ztt-connector.ztt.cn/api/org/v1/companies/companyId/departments";
+
+ public static String person = "https://ztt-connector.ztt.cn/api/org/v1/employees/simple/";
+
+}
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/api/HeaderToken.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/api/HeaderToken.java
new file mode 100644
index 0000000..d1407cf
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/api/HeaderToken.java
@@ -0,0 +1,191 @@
+package com.ruoyi.web.controller.system.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.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ruoyi.common.core.domain.entity.Company;
+import com.ruoyi.common.core.domain.entity.Person;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.system.mapper.UserMapper;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+
+@Component
+public class HeaderToken {
+
+ @Resource
+ private RedisTemplate redisTemplate;
+
+ @Resource
+ private UserMapper userMapper;
+
+ public String fetchNewAccessToken() {
+ HttpRequest request = HttpRequest.post(AuthApi.code)
+ .header("Content-Type", "application/x-www-form-urlencoded")
+ .form("grant_type", "client_credentials")
+ .form("client_id", AuthApi.appId)
+ .form("client_secret", AuthApi.appSecret);
+ 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("access_token",accessToken,jsonNode.get("expires_in").asInt() - 60,TimeUnit.SECONDS);
+ return accessToken;
+ } catch (Exception e) {
+ throw new ErrorException(e.getMessage());
+ }
+ }
+
+ //鍒ゆ柇鏄惁瀛樺湪
+ public String getAccessToken() {
+ String accessToken;
+ if (!redisTemplate.hasKey("access_token")) {
+ accessToken = fetchNewAccessToken();
+ }else{
+ accessToken = redisTemplate.opsForValue().get("access_token")+"";
+ }
+ return accessToken;
+ }
+
+ //璋冪敤
+ public List<Company> companyUrl() {
+ String accessToken = getAccessToken();
+ HttpRequest request = HttpRequest.get(AuthApi.companies)
+ .header("Authorization", "Bearer " + accessToken);
+ List<Company> companies;
+ try {
+ companies = JSON.parseArray(request.execute().body(), Company.class);
+ }catch (Exception e){
+ throw new ErrorException(e.getMessage());
+ }
+ return companies.stream().filter(ob->{
+ if(Objects.equals(ob.getStatus(), "enabled")) return true;
+ return false;
+ }).collect(Collectors.toList());
+// return companies;
+ }
+
+ public List<Person> userUrl(String companyId) {
+ String accessToken = getAccessToken();
+ HttpRequest request = HttpRequest.get(AuthApi.simple+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 ErrorException(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 String getPassword(String employeeId) {
+ String accessToken = getAccessToken();
+ HttpRequest request = HttpRequest.get(AuthApi.password + employeeId)
+ .header("Authorization", "Bearer " + accessToken);
+ System.out.println(AuthApi.password + employeeId);
+ System.out.println(request.execute().body());
+ return JSON.parseObject(request.execute().body()).get("originalPwd").toString();
+ }
+
+ public List<JSONObject> getDepartment(String companyId){
+ String accessToken = getAccessToken();
+ HttpRequest request = HttpRequest.get(AuthApi.department.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 ErrorException(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(AuthApi.person + 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 ErrorException(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;
+ }
+
+
+ // 鑾峰彇鎵�鏈変汉鍛樹俊鎭�
+ public List<Map> getEmployees() {
+ // 鑾峰彇token
+ String accessToken = getAccessToken();
+ HttpRequest request = HttpRequest.get(AuthApi.employees).header("Authorization", "Bearer " + accessToken)
+ .header("Content-Type", "application/form-data");
+ String body = request.execute().body();
+ List<Map> maps = JSONArray.parseArray(body, Map.class);
+ return maps;
+ }
+
+
+ // 鑾峰彇浜哄憳淇℃伅
+ public Map getEmployee(String employeeId) {
+ // 鑾峰彇token
+ String accessToken = getAccessToken();
+ System.out.println("token " + accessToken);
+ String url = AuthApi.employees + "/" + employeeId;
+ HttpRequest request = HttpRequest.get(url).header("Authorization", "Bearer " + accessToken);
+ String body = request.execute().body();
+ ObjectMapper objectMapper = new ObjectMapper();
+ Map map = new HashMap<>();
+ try {
+ map = objectMapper.readValue(body, Map.class);
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
+ }
+ return map;
+ }
+}
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 9147fdd..3fd660c 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -64,7 +64,7 @@
devtools:
restart:
# 鐑儴缃插紑鍏�
- enabled: true
+ enabled: false
# redis 閰嶇疆
redis:
# 鍦板潃
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Company.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Company.java
new file mode 100644
index 0000000..bf1b1e7
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Company.java
@@ -0,0 +1,17 @@
+package com.ruoyi.common.core.domain.entity;
+
+import lombok.Data;
+
+@Data
+public class Company {
+
+ private String companyId;
+
+ private String companyName;
+
+ private String parentCompanyId;
+
+ private String description;
+
+ private String status;
+}
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Person.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Person.java
new file mode 100644
index 0000000..98b10d4
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Person.java
@@ -0,0 +1,38 @@
+package com.ruoyi.common.core.domain.entity;
+
+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-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
index ad73692..5d769fa 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
@@ -69,6 +69,32 @@
/** 瀛愯彍鍗� */
private List<SysMenu> children = new ArrayList<SysMenu>();
+ /** 鏄惁鍙互閫夋嫨浠呯湅鎴�, 0:鍚�, 1:鏄� */
+ private Integer isRersonalButton;
+
+ /** 浠呯湅鎴�, 0:鍚�, 1:鏄� */
+ private Integer isRersonal;
+
+ public Integer getIsRersonalButton()
+ {
+ return isRersonalButton;
+ }
+
+ public void setIsRersonalButton(Integer isRersonalButton)
+ {
+ this.isRersonalButton = isRersonalButton;
+ }
+
+ public Integer getIsRersonal()
+ {
+ return isRersonal;
+ }
+
+ public void setIsRersonal(Integer isRersonal)
+ {
+ this.isRersonal = isRersonal;
+ }
+
public Long getMenuId()
{
return menuId;
@@ -269,6 +295,7 @@
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
+ .append("isRersonalButton", getIsRersonalButton())
.toString();
}
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java
index eb50fe3..2662b2d 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java
@@ -96,5 +96,8 @@
@ApiModelProperty(value = "澶囨敞")
private String remark;
+ @ApiModelProperty(value = "鎵�灞炵粍缁囩紪鐮�")
+ private String companyId;
+
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/dto/PersonDto.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/dto/PersonDto.java
new file mode 100644
index 0000000..a54b9c3
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/dto/PersonDto.java
@@ -0,0 +1,18 @@
+package com.ruoyi.common.core.dto;
+
+import com.ruoyi.common.core.domain.entity.Company;
+import com.ruoyi.common.core.domain.entity.Person;
+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-system/src/main/java/com/ruoyi/system/service/UserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java
index 65d660a..34d7974 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
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.core.dto.PersonDto;
import java.util.List;
@@ -38,5 +39,6 @@
int delUserDepardLimsId(Integer id);
+ int addPersonUser(PersonDto personDto);
}
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 f097b32..08331cd 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
@@ -1,14 +1,21 @@
package com.ruoyi.system.service.impl;
+import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.entity.Custom;
import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.core.dto.PersonDto;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.system.service.CustomService;
import com.ruoyi.system.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.DigestUtils;
import java.time.LocalDateTime;
import java.util.List;
@@ -21,6 +28,10 @@
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
+
+ @Autowired
+ private CustomService customService;
+
/**
* 鏍规嵁鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃
* @param user
@@ -60,5 +71,44 @@
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()));
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int addPersonUser(PersonDto personDto) {
+ personDto.getPerson().forEach(person -> {
+ User user = baseMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, person.getEmployeeID()));
+ String companyName = personDto.getCompany().stream().filter(a -> a.getCompanyId().equals(person.getCompanyId())).findFirst().get().getCompanyName();
+ Custom 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(person.getCompanyId().equals("SC2463") ? 0 : 1);
+// user.setPassword(DigestUtils.md5DigestAsHex(headerToken.getPassword(person.getEmployeeID()).getBytes()));
+ user.setPassword(SecurityUtils.encryptPassword("zttZTT123!"));
+ user.setCompany(BeanUtil.isNotEmpty(custom) ? (custom.getId() + "") : companyName);
+// user.setAddress("鏈~鍐�");
+// user.setRoleId(personDto.getRoleId() > 10000 ? 0 : personDto.getRoleId());
+ user.setCompanyId(person.getCompanyId());
+ baseMapper.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);
+// user.setCreateUser(null);
+// user.setCreateTime(null);
+// user.setUpdateUser(null);
+// user.setUpdateTime(null);
+ user.setCompanyId(person.getCompanyId());
+ baseMapper.updateById(user);
+ }
+ });
+ return 1;
+ }
}
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
index 9284614..7c43969 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
@@ -26,6 +26,7 @@
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="remark" column="remark" />
+ <result property="isRersonalButton" column="is_rersonal_button"/>
</resultMap>
<sql id="selectMenuVo">
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 8757304..0b30ccc 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -69,6 +69,9 @@
<if test="userName != null and userName != ''">
AND u.account like concat('%', #{userName}, '%')
</if>
+ <if test="nickName != null and nickName != ''">
+ AND u.name like concat('%', #{nickName}, '%')
+ </if>
<if test="status != null and status != ''">
AND u.status = #{status}
</if>
--
Gitblit v1.9.3