From c7cef19248eb9bb6a5420a48d1b26167ff7db858 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 27 六月 2024 17:58:21 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java | 19 +
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/OrgDeptQueryServiceImpl.java | 35 +-
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmPwdStrategyQueryServiceImpl.java | 35 +++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmPwdStrategyQueryServiceI.java | 25 ++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java | 34 ++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java | 4
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java | 67 +++--
Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/constant/PltWebConstant.java | 130 +++++++++++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java | 41 +++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java | 26 ++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmPwdStrategyQueryController.java | 58 +++++
Source/plt-web/plt-web-parent/plt-web-base/pom.xml | 17 +
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/OrgDeptQueryServiceI.java | 9
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmRoleQueryController.java | 45 +++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java | 37 +-
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmRoleQueryServiceI.java | 12 +
Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/pagemodel/BaseResult.java | 49 ++++
17 files changed, 566 insertions(+), 77 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web-base/pom.xml b/Source/plt-web/plt-web-parent/plt-web-base/pom.xml
index c39c2fe..f07c7fa 100644
--- a/Source/plt-web/plt-web-parent/plt-web-base/pom.xml
+++ b/Source/plt-web/plt-web-parent/plt-web-base/pom.xml
@@ -56,6 +56,23 @@
<artifactId>transmittable-thread-local</artifactId>
<version>2.12.6</version>
</dependency>
+ <dependency>
+ <groupId>com.vci.common</groupId>
+ <artifactId>plt-common</artifactId>
+ <version>1.0.RELEASE</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.vci.corba</groupId>
+ <artifactId>plt-slice</artifactId>
+ <version>1.0.RELEASE</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.zeroc</groupId>
+ <artifactId>icegridgui</artifactId>
+ <version>1.0.RELEASE</version>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/constant/PltWebConstant.java b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/constant/PltWebConstant.java
new file mode 100644
index 0000000..4e3d301
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/constant/PltWebConstant.java
@@ -0,0 +1,130 @@
+package com.vci.starter.web.constant;
+
+/**
+ * 甯哥敤绯荤粺甯搁噺
+ * @author ludc
+ * @date 2024/6/26 16:09
+ */
+public interface PltWebConstant {
+
+ /**
+ * 缂栫爜
+ */
+ String UTF_8 = "UTF-8";
+
+ /**
+ * contentType
+ */
+ String CONTENT_TYPE_NAME = "Content-type";
+
+ /**
+ * JSON 璧勬簮
+ */
+ String CONTENT_TYPE = "application/json;charset=utf-8";
+
+ /**
+ * 涓婁笅鏂囬敭鍊�
+ */
+ String CONTEXT_KEY = "bladeContext";
+
+ /**
+ * mdc request id key
+ */
+ String MDC_REQUEST_ID_KEY = "requestId";
+
+ /**
+ * mdc account id key
+ */
+ String MDC_ACCOUNT_ID_KEY = "accountId";
+
+ /**
+ * mdc tenant id key
+ */
+ String MDC_TENANT_ID_KEY = "tenantId";
+
+ /**
+ * 瑙掕壊鍓嶇紑
+ */
+ String SECURITY_ROLE_PREFIX = "ROLE_";
+
+ /**
+ * 涓婚敭瀛楁鍚�
+ */
+ String DB_PRIMARY_KEY = "id";
+
+ /**
+ * 涓婚敭瀛楁get鏂规硶
+ */
+ String DB_PRIMARY_KEY_METHOD = "getId";
+
+ /**
+ * 绉熸埛瀛楁鍚�
+ */
+ String DB_TENANT_KEY = "tenantId";
+
+ /**
+ * 绉熸埛瀛楁get鏂规硶
+ */
+ String DB_TENANT_KEY_GET_METHOD = "getTenantId";
+
+ /**
+ * 绉熸埛瀛楁set鏂规硶
+ */
+ String DB_TENANT_KEY_SET_METHOD = "setTenantId";
+
+ /**
+ * 涓氬姟鐘舵�乕1:姝e父]
+ */
+ int DB_STATUS_NORMAL = 1;
+
+
+ /**
+ * 鍒犻櫎鐘舵�乕0:姝e父,1:鍒犻櫎]
+ */
+ int DB_NOT_DELETED = 0;
+ int DB_IS_DELETED = 1;
+
+ /**
+ * 鐢ㄦ埛閿佸畾鐘舵��
+ */
+ int DB_ADMIN_NON_LOCKED = 0;
+ int DB_ADMIN_LOCKED = 1;
+
+ /**
+ * 椤剁骇鐖惰妭鐐筰d
+ */
+ Long TOP_PARENT_ID = 0L;
+
+ /**
+ * 椤剁骇鐖惰妭鐐瑰悕绉�
+ */
+ String TOP_PARENT_NAME = "椤剁骇";
+
+ /**
+ * 绠$悊鍛樺搴旂殑绉熸埛ID
+ */
+ String ADMIN_TENANT_ID = "000000";
+
+ /**
+ * 鏃ュ織榛樿鐘舵��
+ */
+ String LOG_NORMAL_TYPE = "1";
+
+ /**
+ * 榛樿涓虹┖娑堟伅
+ */
+ String DEFAULT_NULL_MESSAGE = "鏆傛棤鎵胯浇鏁版嵁";
+ /**
+ * 榛樿鎴愬姛娑堟伅
+ */
+ String DEFAULT_SUCCESS_MESSAGE = "鎿嶄綔鎴愬姛";
+ /**
+ * 榛樿澶辫触娑堟伅
+ */
+ String DEFAULT_FAILURE_MESSAGE = "鎿嶄綔澶辫触";
+ /**
+ * 榛樿鏈巿鏉冩秷鎭�
+ */
+ String DEFAULT_UNAUTHORIZED_MESSAGE = "绛惧悕璁よ瘉澶辫触";
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/pagemodel/BaseResult.java b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/pagemodel/BaseResult.java
index d042858..81af35d 100644
--- a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/pagemodel/BaseResult.java
+++ b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/pagemodel/BaseResult.java
@@ -1,10 +1,13 @@
package com.vci.starter.web.pagemodel;
+import com.vci.starter.web.constant.PltWebConstant;
import com.vci.starter.web.enumpck.ResultCodeEnum;
import org.apache.commons.lang3.StringUtils;
+import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.Collection;
+import java.util.List;
/**
* 缁熶竴鐨勬暟鎹繑鍥炲璞★紝淇濊瘉feign銆乺estTemplate鎴栬�呭叾浠杛est璇锋眰瀹㈡埛绔彲浠ョ粺涓�澶勭悊
@@ -356,7 +359,51 @@
return baseResult;
}
+ /**
+ * 杩斿洖list
+ *
+ * @param data 鏁版嵁
+ * @param <T> T 娉涘瀷鏍囪
+ * @return R
+ */
+ public static <T> BaseResult<T> dataList(T data) {
+ return dataList(data, PltWebConstant.DEFAULT_SUCCESS_MESSAGE);
+ }
+ /**
+ * 杩斿洖list
+ *
+ * @param data 鏁版嵁
+ * @param msg 娑堟伅
+ * @param <T> T 娉涘瀷鏍囪
+ * @return R
+ */
+ public static <T> BaseResult<T> dataList(T data, String msg) {
+ return dataList(HttpServletResponse.SC_OK, data, msg);
+ }
+
+ /**
+ * 杩斿洖list
+ *
+ * @param code 鐘舵�佺爜
+ * @param data 鏁版嵁
+ * @param msg 娑堟伅
+ * @param <T> T 娉涘瀷鏍囪
+ * @return R
+ */
+ public static <T> BaseResult<T> dataList(int code, T data, String msg) {
+ return new BaseResult<>(code, data, data == null ? PltWebConstant.DEFAULT_NULL_MESSAGE : msg);
+ }
+
+ private BaseResult(int code, T data, String msg) {
+ this.code = code;
+ this.data = (Collection<T>) data;
+ this.msg = msg;
+ this.success = ResultCodeEnum.SUCCESS.code == code;
+ }
+
+ public BaseResult() {
+ }
/**
* 鏍规嵁鍒楄〃鑾峰彇缁熶竴鏁版嵁瀵硅薄
@@ -370,7 +417,6 @@
baseResult.setTreeData(treeList);
return baseResult;
}
-
@Override
public String toString() {
@@ -390,4 +436,5 @@
", treeData=" + treeData +
'}';
}
+
}
diff --git a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java
index 76d5f81..0810fed 100644
--- a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java
+++ b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java
@@ -3,6 +3,8 @@
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.vci.common.exception.VciExceptionTool;
+import com.vci.corba.common.PLException;
import com.vci.starter.web.annotation.Id;
import com.vci.starter.web.annotation.VciBtmType;
import com.vci.starter.web.annotation.VciLinkType;
@@ -48,6 +50,23 @@
public class VciBaseUtil {
/**
+ * 鑾峰彇寮傚父淇℃伅,鍥犱负鎶涘嚭鐨勫紓甯镐笉鍚岋紝鑾峰彇閿欒淇℃伅鐨勬柟寮忓瓨鍦ㄥ樊寮傛墍浠ユ棤娉曠粺涓�鑾峰彇
+ * 鍚庣画鏈夊叾浠栧紓甯搁渶瑕佽幏鍙栵紝鑷娣诲姞澶勭悊閫昏緫锛�
+ * @param e
+ * @return
+ */
+ public static String getExceptionMessage(Exception e){
+ String exceptionStr = VciExceptionTool.getExceptionStr(e);
+ if(exceptionStr.contains("VciBaseException")){
+ return e.getMessage();
+ }else if(exceptionStr.contains("PLException")){
+ return Arrays.stream(((PLException) e).messages).collect(Collectors.joining("\n"));
+ }else {
+ return e.getMessage();
+ }
+ }
+
+ /**
* 鏃ュ織瀵硅薄
*/
private static Logger log = LoggerFactory.getLogger(VciBaseUtil.class);
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/OrgDeptQueryServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/OrgDeptQueryServiceI.java
index 754f12a..9369e79 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/OrgDeptQueryServiceI.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/OrgDeptQueryServiceI.java
@@ -1,6 +1,7 @@
package com.vci.frameworkcore.compatibility;
import com.vci.corba.common.PLException;
+import com.vci.corba.common.data.UserEntityInfo;
import com.vci.frameworkcore.pagemodel.OrgDepartmentVO;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
@@ -115,11 +116,11 @@
DataGrid refTreeGridDept(TreeQueryObject treeQueryObject);
/**
- * 淇濆瓨閮ㄩ棬瑙掕壊鍏宠仈淇℃伅锛屽甫鏌ラ噸鍔熻兘
- * @param userId 鐢ㄦ埛id
- * @param deptIds 閮ㄩ棬oid
+ * 淇濆瓨閮ㄩ棬瑙掕壊鍏宠仈淇℃伅锛屽甫鏌ラ噸鍔熻兘锛屽瀵瑰淇濆瓨
+ * @param userOIds 鐢ㄦ埛id
+ * @param deptId 閮ㄩ棬oid
* @return
*/
- boolean saveUserDepts(String userId, List<String> deptIds) throws PLException;
+ boolean saveUsersDept(String[] userOIds, String deptId) throws PLException;
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmPwdStrategyQueryServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmPwdStrategyQueryServiceI.java
index ee003c4..0ebbc69 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmPwdStrategyQueryServiceI.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmPwdStrategyQueryServiceI.java
@@ -3,6 +3,9 @@
import com.vci.corba.common.PLException;
import com.vci.frameworkcore.pagemodel.SmPasswordStrategyVO;
import com.vci.starter.web.exception.VciBaseException;
+import com.vci.starter.web.pagemodel.BaseQueryObject;
+import com.vci.starter.web.pagemodel.DataGrid;
+import com.vci.starter.web.pagemodel.PageHelper;
import java.util.Collection;
import java.util.List;
@@ -22,6 +25,28 @@
SmPasswordStrategyVO getPasswordStrategyVOByDefault();
/**
+ * 瀵嗙爜绛栫暐鍒嗛〉鏌ヨ
+ * @param conditionMap
+ * @param pageHelper
+ * @return
+ */
+ DataGrid<SmPasswordStrategyVO> refDataGrid(Map<String, String> conditionMap, PageHelper pageHelper);
+
+ /**
+ * 鏌ヨ鎵�鏈夊瘑鐮佸畨鍏ㄧ瓥鐣�
+ * @return
+ */
+ //List<SmPasswordStrategyVO> listPasswordStrategyVO(Map<String, String> conditionMap);
+
+ /**
+ * 淇濆瓨鐢ㄦ埛鍏宠仈瀵嗙爜绛栫暐
+ * @param userIds
+ * @param passwordStrategId
+ * @return
+ */
+ boolean saveUserPasswordStrateg(String[] userIds, String passwordStrategId) throws PLException;
+
+ /**
* 鏍规嵁涓婚敭鏌ヨ瀵嗙爜绛栫暐map瀵硅薄
* @param oidList
* @return key涓哄瘑鐮佺瓥鐣ヤ富閿� value涓哄瘑鐮佺瓥鐣�
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmRoleQueryServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmRoleQueryServiceI.java
index 5531242..535c9db 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmRoleQueryServiceI.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmRoleQueryServiceI.java
@@ -1,5 +1,6 @@
package com.vci.frameworkcore.compatibility;
+import com.vci.corba.common.PLException;
import com.vci.frameworkcore.pagemodel.SmRoleVO;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
@@ -65,7 +66,7 @@
* @param pageHelper 鍒嗛〉鍜屾帓搴忓璞★紝鑰佸钩鍙颁笉鏀寔浣跨敤瑙掕壊缂栧彿鏉ユ帓搴�
* @return 瑙掕壊鐨勬樉绀哄璞�
*/
- DataGrid<SmRoleVO> gridRoleByUserOid(String userOid, Map<String, String> queryMap, PageHelper pageHelper);
+ DataGrid<SmRoleVO> gridRoleByUserOid(String userOid, Map<String, String> queryMap, PageHelper pageHelper);
/**
* 鑾峰彇鏈叧鑱旀煇涓敤鎴风殑瑙掕壊
@@ -150,4 +151,13 @@
* @throws VciBaseException 鍙傛暟涓虹┖鐨勬椂鍊欎細鎶涘嚭寮傚父
*/
List<Tree> refTreeRoles(TreeQueryObject treeQueryObject) throws VciBaseException;
+
+ /**
+ * 璇ユ柟娉曞彧鏀寔涓�娆″彧鍏佽鍗曚釜鐢ㄦ埛鍒嗛厤澶氫釜瑙掕壊锛屼竴瀵瑰
+ * @param userOid
+ * @param roleIds
+ * @return
+ */
+ boolean saveRights(String userOid, String[] roleIds) throws PLException;
+
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java
index b3f35ba..d8bb09d 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java
@@ -280,6 +280,8 @@
* @param flag
* @return
*/
- boolean disableOrEnableUsers(String[] ids,boolean flag) throws PLException;
+ boolean stopUsers(String[] ids,boolean flag) throws PLException;
+
+ void downloadImportTemplate();
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/OrgDeptQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/OrgDeptQueryServiceImpl.java
index 7a92d79..3d433a9 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/OrgDeptQueryServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/OrgDeptQueryServiceImpl.java
@@ -424,37 +424,40 @@
/**
* 淇濆瓨閮ㄩ棬瑙掕壊鍏宠仈淇℃伅锛屽甫鏌ラ噸鍔熻兘
- * @param userId 鐢ㄦ埛id
- * @param deptIds 閮ㄩ棬id
+ * @param userOIds 鐢ㄦ埛id
+ * @param deptId 閮ㄩ棬id
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public boolean saveUserDepts(String userId, List<String> deptIds) throws PLException {
- if(Func.isBlank(userId) || Func.isEmpty(deptIds)){
+ public boolean saveUsersDept(String[] userOIds, String deptId) throws PLException {
+ if(Func.isEmpty(userOIds) || Func.isBlank(deptId)){
return false;
}
- List<String> repeatDeptOidList = new ArrayList<>();
+ //鍏堣繘鎬ф煡閲嶅鐞�
+ List<String> repeatUserOidList = new ArrayList<>();
//寰幆杩涜鏌ラ噸锛岄伩鍏峣n澶т簬1000
- WebUtil.switchCollectionForOracleIn(deptIds).stream().forEach(deptoids->{
- String sql = "select pluseruid,pldeptuid from pluserdept where pluseruid = " + userId
- + " and " + "pldeptuid in ("+WebUtil.toInSql(deptoids.toArray(new String[0]))+")";
+ WebUtil.switchCollectionForOracleIn(Arrays.asList(userOIds)).stream().forEach(userOId->{
+ String sql = "select pluseruid,pldeptuid from pluserdept where pldeptuid = '" + deptId
+ + "' and " + "pluseruid in ("+WebUtil.toInSql(userOId.toArray(new String[0]))+")";
List<BusinessObject> cbos = boService.queryBySql(sql, null);
if(!CollectionUtils.isEmpty(cbos)){
cbos.stream().forEach(cbo->{
- repeatDeptOidList.add(ObjectTool.getNewBOAttributeValue(cbo,"pldeptuid"));
+ repeatUserOidList.add(ObjectTool.getNewBOAttributeValue(cbo,"pluseruid"));
});
}
-
});
- //浠庡嵆灏嗚鎵ц淇濆瓨鐨勯儴闂╫id涓Щ闄ゅ綋鍓嶇敤鎴峰凡缁忓瓨鍦ㄥ叧鑱斿叧绯荤殑鐨勯儴闂╫id
- deptIds.removeAll(repeatDeptOidList);
- if(Func.isNotEmpty(deptIds)){
- for (String deptId : deptIds){
- platformClientUtil.getFrameworkService().saveUserDept(new String[]{userId}, deptId,null);
- }
+
+ //浠庡嵆灏嗚鎵ц淇濆瓨鐨勭敤鎴穙id涓Щ闄ゅ綋鍓嶇敤鎴峰凡缁忓瓨鍦ㄥ叧鑱斿叧绯荤殑oid
+ //绉婚櫎閲嶅鐨�
+ List<String> tempList = new ArrayList<>(Arrays.asList(userOIds));
+ tempList.removeAll(repeatUserOidList);
+ userOIds = tempList.toArray(new String[tempList.size()]);
+ if(Func.isNotEmpty(userOIds)){
+ platformClientUtil.getFrameworkService().saveUserDept(userOIds, deptId,null);
}
return true;
}
+
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmPwdStrategyQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmPwdStrategyQueryServiceImpl.java
index ddedfc6..e0f7987 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmPwdStrategyQueryServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmPwdStrategyQueryServiceImpl.java
@@ -1,6 +1,7 @@
package com.vci.frameworkcore.compatibility.impl;
import com.vci.corba.common.PLException;
+import com.vci.corba.common.data.UserEntityInfo;
import com.vci.corba.omd.data.BusinessObject;
import com.vci.frameworkcore.compatibility.SmPwdStrategyQueryServiceI;
import com.vci.frameworkcore.compatibility.SmUserQueryServiceI;
@@ -8,10 +9,14 @@
import com.vci.frameworkcore.pagemodel.SmPasswordStrategyVO;
import com.vci.omd.utils.ObjectTool;
import com.vci.starter.web.exception.VciBaseException;
+import com.vci.starter.web.pagemodel.DataGrid;
+import com.vci.starter.web.pagemodel.PageHelper;
import com.vci.starter.web.util.BeanUtil;
+import com.vci.starter.web.util.VciBaseUtil;
import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
import com.vci.web.service.WebBoServiceI;
import com.vci.web.util.Func;
+import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -43,6 +48,12 @@
private SmUserQueryServiceI smUserQueryService;
/**
+ * 骞冲彴璋冪敤瀹㈡埛绔�
+ */
+ @Autowired
+ private PlatformClientUtil platformClientUtil;
+
+ /**
* 鑾峰彇榛樿瀵嗙爜绛栫暐
* @return
*/
@@ -62,6 +73,30 @@
}
/**
+ * 瀵嗙爜绛栫暐鍒嗛〉鏌ヨ
+ * @param conditionMap
+ * @param pageHelper
+ * @return
+ */
+ @Override
+ public DataGrid<SmPasswordStrategyVO> refDataGrid(Map<String, String> conditionMap, PageHelper pageHelper) {
+ return null;
+ }
+
+ /**
+ * 淇濆瓨鐢ㄦ埛鍏宠仈瀵嗙爜绛栫暐
+ * @param userIds
+ * @param passwordStrategId
+ * @return
+ */
+ @Override
+ public boolean saveUserPasswordStrateg(String[] userIds, String passwordStrategId) throws PLException {
+ VciBaseUtil.alertNotNull(userIds,"鐢ㄦ埛涓婚敭",passwordStrategId,"瀵嗙爜瀹夊叏绛栫暐涓婚敭");
+ //TODO锛氳繖閲屾病鏈夊仛鏌ラ噸澶勭悊锛屾槑澶╄寰楅獙璇佷竴涓嬭繖鍎挎槸涓嶆槸浼氳嚜鍔ㄥ仛saveOrUpdate鐨勫鐞�
+ return platformClientUtil.getFrameworkService().saveUserPasswordStrateg(userIds,passwordStrategId,new UserEntityInfo());
+ }
+
+ /**
* 鏍规嵁涓婚敭鏌ヨ瀵嗙爜绛栫暐map瀵硅薄
* @param oidList
* @return key涓哄瘑鐮佺瓥鐣ヤ富閿� value涓哄瘑鐮佺瓥鐣�
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
index 0f3131a..c71204f 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
@@ -1,5 +1,7 @@
package com.vci.frameworkcore.compatibility.impl;
+import com.vci.corba.common.PLException;
+import com.vci.corba.common.data.UserEntityInfo;
import com.vci.corba.omd.data.BusinessObject;
import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI;
import com.vci.frameworkcore.constant.FrameWorkBtmTypeConstant;
@@ -19,6 +21,7 @@
import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
import com.vci.web.properties.WebProperties;
import com.vci.web.service.WebBoServiceI;
+import com.vci.web.util.Func;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
@@ -45,6 +48,12 @@
*/
@Autowired
private WebBoServiceI boService;
+
+ /**
+ * 骞冲彴璋冪敤瀹㈡埛绔�
+ */
+ @Autowired
+ private PlatformClientUtil platformClientUtil;
/**
* 鏍规嵁瑙掕壊涓婚敭鑾峰彇瑙掕壊鐨勪俊鎭�
@@ -504,6 +513,38 @@
}
/**
+ * 璇ユ柟娉曞彧鏀寔涓�娆″彧鍏佽鍗曚釜鐢ㄦ埛鍒嗛厤澶氫釜瑙掕壊锛屼竴瀵瑰
+ * @param userOid
+ * @param roleIds
+ * @return
+ */
+ @Override
+ public boolean saveRights(String userOid, String[] roleIds) throws PLException {
+ VciBaseUtil.alertNotNull(userOid,"鐢ㄦ埛涓婚敭");
+ //roleIds鍏佽涓虹┖锛屼负绌烘椂娓呯┖褰撳墠鐢ㄦ埛鐨勬潈闄�
+ //鍏堟煡閲�
+ if(Func.isNotEmpty(roleIds)){
+ List<String> repeatRoleOidList = new ArrayList<>();
+ //寰幆杩涜鏌ラ噸锛岄伩鍏峣n澶т簬1000
+ WebUtil.switchCollectionForOracleIn(Arrays.asList(roleIds)).stream().forEach(deptoids->{
+ String sql = "select pluseruid,plroleuid from pluserrole where pluseruid = '" + userOid
+ + "' and " + "plroleuid in ("+WebUtil.toInSql(deptoids.toArray(new String[0]))+")";
+ List<BusinessObject> cbos = boService.queryBySql(sql, null);
+ if(!CollectionUtils.isEmpty(cbos)){
+ cbos.stream().forEach(cbo->{
+ repeatRoleOidList.add(ObjectTool.getNewBOAttributeValue(cbo,"plroleuid"));
+ });
+ }
+ });
+ //绉婚櫎閲嶅鐨�
+ List<String> tempList = new ArrayList<>(Arrays.asList(roleIds));
+ tempList.removeAll(repeatRoleOidList);
+ roleIds = tempList.toArray(new String[tempList.size()]);
+ }
+ return platformClientUtil.getFrameworkService().saveRights(roleIds,new String[]{userOid},new UserEntityInfo());
+ }
+
+ /**
* 瑙掕壊鐨勮浆鎹紝榛樿鍏ㄩ儴鏄痓s鎺у埗鐨勮鑹�
* @param roleForPlatform1List 鍘熷钩鍙扮殑瑙掕壊
* @return 瑙掕壊鐨勬樉绀哄璞�
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
index 9c3d497..dc1e27b 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
@@ -135,7 +135,7 @@
@Override
public boolean checkUserExist(String userName, String oid) throws PLException {
if(Func.isEmpty(userName) && Func.isEmpty(oid)){
- throw new PLException("妫�鏌ョ敤鎴锋槸鍚﹀瓨鍦ㄦ椂锛屼紶閫掔殑鍙傛暟鐢ㄦ埛鍚嶅拰鐢ㄦ埛oid閮戒负绌猴紒",new String[0]);
+ throw new PLException("500", new String[] { "妫�鏌ョ敤鎴锋槸鍚﹀瓨鍦ㄦ椂锛屼紶閫掔殑鍙傛暟鐢ㄦ埛鍚嶅拰鐢ㄦ埛oid閮戒负绌猴紒"});
}
UserInfo userInfo = null;
if(Func.isNotEmpty(userName)) {
@@ -304,6 +304,8 @@
smUserVO.setUserTypeText(UserTypeEnum.getTextByValue(smUserVO.getUserType()));
smUserVO.setDescription(userInfo.desc);
smUserVO.setEmail(userInfo.email);
+ smUserVO.setStatus(userInfo.status);
+ smUserVO.setPassword(userInfo.pwd);
//鐢ㄦ埛鎵�灞為儴闂ㄧ殑鏌ヨ璁剧疆
List<OrgDepartmentVO> orgDepartmentVOList;
//鏌ョ湅鍏ㄥ眬鍙橀噺涓槸鍚﹀瓨鍦ㄩ儴闂ㄤ俊鎭紝瀛樺湪鐨勬儏鍐垫渶涓昏鏄拡瀵瑰鏉$敤鎴锋煡璇㈢殑鏃跺�欓伩鍏嶉噸澶嶆煡璇㈢殑
@@ -521,9 +523,9 @@
//鍒嗛〉鏌ヨ
UserInfo[] userInfos = platformClientUtil.getFrameworkService().fetchUserInfoByCondition(
conditionMap.get("name"),
- conditionMap.get("userName"),
- conditionMap.get("deptId"),
- conditionMap.get("roleId"),
+ conditionMap.get("id"),
+ conditionMap.get("pkDepartment"),
+ conditionMap.get("pkPerson"),
"developer", //褰撳墠鐧诲綍鐨勭敤鎴峰悕
pageHelper.getPage(),
pageHelper.getLimit()
@@ -538,9 +540,9 @@
dataGrid.setTotal(
platformClientUtil.getFrameworkService().getUserTotalByCondition(
conditionMap.get("name"),
- conditionMap.get("userName"),
- conditionMap.get("deptId"),
- conditionMap.get("roleId"),
+ conditionMap.get("id"),
+ conditionMap.get("pkDepartment"),
+ conditionMap.get("pkPerson"),
"developer" //褰撳墠鐧诲綍鐨勭敤鎴峰悕
)
);
@@ -1062,14 +1064,16 @@
smUserDTO.setCreator("developer");
//userObject.setUpdateUser(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserName());
smUserDTO.setLastModifier("developer");
- UserInfo userInfo = changeUserObjectToUserInfo(smUserDTO);
+ UserInfo userInfo = changeSmUserDTOToUserInfo(smUserDTO);
UserEntityInfo userEntityInfo = new UserEntityInfo("developer", "");
String oid = platformClientUtil.getFrameworkService().saveUser(userInfo, userEntityInfo);
if (Func.isEmpty(oid)) {
return false;
}
if(Func.isNotBlank(smUserDTO.getPkDepartment())){
- platformClientUtil.getFrameworkService().saveUserDept(new String[]{oid}, smUserDTO.getPkDepartment(), userEntityInfo);
+ //鎵ц淇濆瓨鐢ㄦ埛閮ㄩ棬鍏宠仈鍏崇郴
+ orgDeptQueryService.saveUsersDept(new String[]{oid},smUserDTO.getPkDepartment());
+ //platformClientUtil.getFrameworkService().saveUserDept(new String[]{oid}, smUserDTO.getPkDepartment(), userEntityInfo);
}
return true;
}
@@ -1094,28 +1098,21 @@
//鏍¢獙
check(smUserDTO,false);
//鏌ヨ鏁版嵁搴撲腑鐨�
- SmUserVO dbSmUserVO = getUserByUserId(smUserDTO.getId());
- //鏍规嵁鐢ㄦ埛鍚嶆煡璇㈠埌浜嗙敤鎴凤紝浣嗘槸oid涓嶆槸褰撳墠淇敼鐨勭敤鎴风殑oid锛岃鏄庝慨鏀圭殑鐢ㄦ埛鍚嶉噸澶�
- if(Func.isNotEmpty(dbSmUserVO)
- && !dbSmUserVO.getOid().equals(smUserDTO.getOid())
- ){
- throw new PLException("鐢ㄦ埛鍚嶅凡瀛樺湪锛屼笉鑳藉皢褰撳墠鐢ㄦ埛鐨勭敤鎴峰悕淇敼涓�" + dbSmUserVO.getId(),new String[0]);
+ SmUserVO dbSmUserVO = getUserByUserOid(smUserDTO.getOid());
+ //鏍规嵁涓婚敭娌℃煡璇㈠埌浜嗙敤鎴�
+ if(Func.isEmpty(dbSmUserVO) || Func.isBlank(dbSmUserVO.getOid())){
+ throw new PLException("500", new String[] { "褰撳墠淇敼鐨勭敤鎴蜂笉瀛樺湪"});
}
+
smUserDTO.setLastModifyTime(new Date());
//userObject.setUpdateUser(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserName());
smUserDTO.setLastModifier("developer");
- UserInfo userInfo = changeUserObjectToUserInfo(smUserDTO);
+ UserInfo userInfo = changeSmUserDTOToUserInfo(smUserDTO);
boolean updateBoolean = platformClientUtil.getFrameworkService().updateUser(userInfo, new UserEntityInfo("developer", null));
- //鐢ㄦ埛鍏宠仈閮ㄩ棬鏈夋墍鏇存敼
- if(Func.isNotEmpty(smUserDTO.getPkDepartment()) && !smUserDTO.getPkDepartment().equals(dbSmUserVO.getPkDepartment())){
- //鐣岄潰浼犻�掕繃鏉ョ殑宸插叧鑱旂殑閮ㄩ棬oid
- List<String> updatePkDept = Func.toStrList(smUserDTO.getPkDepartment(), ",");
- //鐢ㄦ埛宸插叧鑱旂殑閮ㄩ棬oid
- List<String> associatedPkDept = Func.toStrList(dbSmUserVO.getPkDepartment(), ",");
- //绉婚櫎
- updatePkDept.removeAll(associatedPkDept);
+ //淇敼鎴愬姛锛屽苟涓旂敤鎴峰叧鑱旈儴闂ㄦ湁鎵�鏇存敼
+ if(updateBoolean && Func.isNotEmpty(smUserDTO.getPkDepartment()) && !smUserDTO.getPkDepartment().equals(dbSmUserVO.getPkDepartment())){
//鎵ц淇濆瓨鐢ㄦ埛閮ㄩ棬鍏宠仈鍏崇郴
- orgDeptQueryService.saveUserDepts(dbSmUserVO.getOid(),updatePkDept);
+ orgDeptQueryService.saveUsersDept(new String[]{dbSmUserVO.getOid()},smUserDTO.getPkDepartment());
}
return updateBoolean;
}
@@ -1147,13 +1144,13 @@
if (Func.isNotBlank(smUserDTO.getDescription()) && smUserDTO.getDescription().getBytes().length > 255 ){
throw new VciBaseException("鎻忚堪闀垮害瓒呰繃涓婇檺");
}
- if (!smUserDTO.getName().matches("^[A-Za-z0-9_]+$")) {
+ if (!smUserDTO.getId().matches("^[A-Za-z0-9_]+$")) {
throw new VciBaseException("鐢ㄦ埛鍚嶅繀椤绘槸鐢盇-Z a-z 0-9 _缁勬垚");
}
if (Func.isNotBlank(smUserDTO.getEmail()) && !smUserDTO.getEmail().matches("^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$")){
throw new VciBaseException("鐢靛瓙閭鏍煎紡閿欒");
}
- //鏄柊澧炴墠鍋氱敤鎴峰悕鏌ラ噸澶勭悊
+ //鏄柊澧炴墠鍋氱敤鎴峰悕鏌ラ噸澶勭悊锛屽洜涓虹敤鎴峰悕涓�缁忓垱寤猴紝涓嶅厑璁镐慨鏀�
if(isAdd){
//鏍规嵁鐢ㄦ埛鍚嶏紙璐﹀彿锛夋煡閲�
SmUserVO dbSmUserVO = getUserByUserId(smUserDTO.getId());
@@ -1177,14 +1174,12 @@
}
}
-
-
/***
* 鐢ㄦ埛浠嶥TO瀵硅薄鍒癱orba瀵硅薄
* @param user
* @return
*/
- public UserInfo changeUserObjectToUserInfo(SmUserDTO user) {
+ public UserInfo changeSmUserDTOToUserInfo(SmUserDTO user) {
UserInfo userInfo = new UserInfo();
userInfo.id = user.getOid() == null ? "" : user.getOid();
userInfo.userName = user.getId() == null ? "" : user.getId();
@@ -1240,7 +1235,10 @@
@Override
@Transactional(rollbackFor = Exception.class)
public boolean deleteUser(String[] ids) throws PLException {
- VciBaseUtil.alertNotNull(ids,"寰呭垹闄ょ殑鐢ㄦ埛id鍒楄〃涓嶈兘涓虹┖锛�");
+ if(Func.isEmpty(ids)){
+ throw new VciBaseException("寰呭垹闄ょ殑鐢ㄦ埛id鍒楄〃涓嶈兘涓虹┖锛�");
+ }
+ //璋冪敤platformClientUtil鐨勫垹闄ょ敤鎴风殑鏂规硶锛屼細涓�璧峰垹闄ゆ帀鍏峰鍏宠仈鍏崇郴鐨勪竴浜涗俊鎭紝濡傞儴闂�
return platformClientUtil.getFrameworkService().deleteUser(ids, null);
}
@@ -1252,9 +1250,14 @@
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public boolean disableOrEnableUsers(String[] ids, boolean flag) throws PLException {
+ public boolean stopUsers(String[] ids, boolean flag) throws PLException {
VciBaseUtil.alertNotNull(ids,"鍋滅敤/鍚敤鐨勭敤鎴穒d鍒楄〃");
return platformClientUtil.getFrameworkService().stopUsers(ids, flag,null);
}
+ @Override
+ public void downloadImportTemplate() {
+
+ }
+
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java
index 33278b6..da185df 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java
@@ -1,14 +1,18 @@
package com.vci.frameworkcore.controller;
+import com.vci.corba.common.PLException;
import com.vci.frameworkcore.compatibility.OrgDeptQueryServiceI;
import com.vci.frameworkcore.pagemodel.OrgDepartmentVO;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.*;
+import com.vci.starter.web.util.VciBaseUtil;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@@ -17,8 +21,9 @@
* @author weidy
* @date 2020/3/4
*/
-@Controller
+@RestController
@RequestMapping("/departmentQueryController")
+@Slf4j
public class OrgDepartmentQueryController {
/**
@@ -34,17 +39,40 @@
* @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父
*/
@RequestMapping(value = "/refTree",method = RequestMethod.GET)
- @ResponseBody
public BaseResult<Tree> refTree(TreeQueryObject treeQueryObject) throws VciBaseException{
List<Tree> deptTreeList = deptQueryService.refTreeDept(treeQueryObject);
return BaseResult.tree(deptTreeList);
//鑰佺殑椤圭洰渚濈劧鏄坊鍔爐ry catch锛屾柟娉曢噷涓嶆姏鍑哄紓甯�
//BaseResult.fail("杩欓噷杩斿洖鍓嶇鐨勯敊璇俊鎭�");
}
+
+ /**
+ * 閮ㄩ棬鏌ヨ锛屽甫鍒嗛〉
+ * @param queryObject
+ * @return
+ */
@RequestMapping(value = "/refDataGrid",method = RequestMethod.GET)
- @ResponseBody
public BaseResult<OrgDepartmentVO> refDataGrid(BaseQueryObject queryObject){
DataGrid<OrgDepartmentVO> dataGrid=deptQueryService.gridDepts(queryObject.getConditionMap(), queryObject.getPageHelper());
return BaseResult.dataGrid(dataGrid);
}
+
+ /**
+ * 淇濆瓨閮ㄩ棬瑙掕壊鍏宠仈淇℃伅锛屽甫鏌ラ噸鍔熻兘
+ * @param userOIds 鐢ㄦ埛id
+ * @param deptId 閮ㄩ棬oid
+ * @return
+ */
+ @RequestMapping(value = "/saveUsersDepts",method = RequestMethod.POST)
+ public BaseResult saveUsersDepts(String[] userOIds, String deptId){
+ try {
+ return deptQueryService.saveUsersDept(userOIds,deptId) ? BaseResult.success("瑙掕壊鍒嗛厤鎴愬姛锛�"):BaseResult.fail("瑙掕壊鍒嗛厤澶辫触锛�");
+ }catch (Exception e){
+ e.printStackTrace();
+ String exceptionMessage = VciBaseUtil.getExceptionMessage(e);
+ log.error("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
+ return BaseResult.fail("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
+ }
+ }
+
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmPwdStrategyQueryController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmPwdStrategyQueryController.java
index d99648b..7e10c88 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmPwdStrategyQueryController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmPwdStrategyQueryController.java
@@ -1,8 +1,66 @@
package com.vci.frameworkcore.controller;
+import com.vci.frameworkcore.compatibility.SmPwdStrategyQueryServiceI;
+import com.vci.frameworkcore.pagemodel.SmPasswordStrategyVO;
+import com.vci.frameworkcore.pagemodel.SmUserVO;
+import com.vci.starter.web.exception.VciBaseException;
+import com.vci.starter.web.pagemodel.BaseQueryObject;
+import com.vci.starter.web.pagemodel.BaseResult;
+import com.vci.starter.web.pagemodel.DataGrid;
+import com.vci.starter.web.util.VciBaseUtil;
+import com.vci.web.util.Func;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
/**
* @author ludc
* @date 2024/6/24 16:31
*/
+@RestController
+@RequestMapping("/passwordStrategyQueryController")
+@Slf4j
public class SmPwdStrategyQueryController {
+
+ /**
+ * 瀵嗙爜绛栫暐鏌ヨ鏈嶅姟
+ */
+ @Resource
+ private SmPwdStrategyQueryServiceI pwdStrategyQueryService;
+
+ /**
+ * 鐢ㄦ埛鐨勫垪琛ㄥ弬鐓э紝
+ * @param queryObject 鏌ヨ瀵硅薄锛屽寘鍚簡鏌ヨ鏉′欢锛屽垎椤碉紝鎺掑簭绛�,鍗冲厑璁镐娇鐢⊿mUserVO閲岀殑鎵�鏈夊睘鎬т綔涓烘煡璇㈡潯浠讹紝涔熷彲浠ヤ娇鐢╬kRole.xxx锛宲kDepartment.xxx,pkDuty.xxx杩欐牱鏉ユ煡璇�
+ * @return 鏅�氱敤鎴凤紙涓嶅寘鍚笁鍛橈紝涔熶笉鍖呭惈鍋滅敤鐨勶級鐨勬樉绀哄璞″垪琛ㄦ暟鎹紝璇疯幏鍙栧叾涓殑data灞炴��
+ * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父
+ */
+ @RequestMapping(value = "/refDataGrid",method = RequestMethod.GET)
+ public BaseResult<SmPasswordStrategyVO> refDataGrid(BaseQueryObject queryObject) throws VciBaseException {
+ try {
+ DataGrid<SmPasswordStrategyVO> pwdStrategyVODataGrid = pwdStrategyQueryService.refDataGrid(queryObject.getConditionMap(),queryObject.getPageHelper());
+ return BaseResult.dataGrid(pwdStrategyVODataGrid);
+ }catch (Exception e) {
+ e.printStackTrace();
+ String exceptionMessage = VciBaseUtil.getExceptionMessage(e);
+ log.error("瀵嗙爜瀹夊叏绛栫暐鍒楄〃鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
+ return BaseResult.fail("瀵嗙爜瀹夊叏绛栫暐鍒楄〃鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + e.getMessage());
+ }
+ }
+
+ @RequestMapping(value = "/saveUserPasswordStrateg",method = RequestMethod.POST)
+ public BaseResult saveUserPasswordStrateg(String[] userIds, String passwordStrategId){
+ try {
+ return pwdStrategyQueryService.saveUserPasswordStrateg(userIds, passwordStrategId)
+ ? BaseResult.success("涓虹敤鎴疯缃瘑鐮佸畨鍏ㄧ瓥鐣ユ垚鍔燂紒"):BaseResult.fail("涓虹敤鎴疯缃瘑鐮佸畨鍏ㄧ瓥鐣ュけ璐ワ紒");
+ }catch (Exception e){
+ e.printStackTrace();
+ String exceptionMessage = VciBaseUtil.getExceptionMessage(e);
+ log.error("涓虹敤鎴疯缃瘑鐮佸畨鍏ㄧ瓥鐣ユ椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage);
+ return BaseResult.fail("涓虹敤鎴疯缃瘑鐮佸畨鍏ㄧ瓥鐣ユ椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage);
+ }
+ }
+
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmRoleQueryController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmRoleQueryController.java
index d4f644c..8cbe7c2 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmRoleQueryController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmRoleQueryController.java
@@ -4,21 +4,26 @@
import com.vci.frameworkcore.pagemodel.SmRoleVO;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.*;
+import com.vci.starter.web.util.VciBaseUtil;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
import java.util.List;
+import java.util.Map;
/**
* 瑙掕壊鏌ヨ鎺у埗鍣�
* @author weidy
* @date 2020/3/4
*/
-@Controller
+@RestController
@RequestMapping("/roleQueryController")
+@Slf4j
public class SmRoleQueryController {
/**
@@ -34,7 +39,6 @@
* @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父
*/
@RequestMapping(value = "/refDataGrid",method = RequestMethod.GET)
- @ResponseBody
public BaseResult<SmRoleVO> refDataGrid(BaseQueryObject queryObject) throws VciBaseException {
if(queryObject == null){
queryObject = new BaseQueryObject();
@@ -46,13 +50,48 @@
}
/**
+ * 鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇鍏宠仈鐨勮鑹�
+ * @param userOid 鐢ㄦ埛涓婚敭
+ * @param queryMap 鏌ヨ鏉′欢锛屽鏋滈渶瑕佷娇鐢ㄧ敤鎴风殑灞炴�ф潵鏌ヨ鍙互浣跨敤pkUser.xxxx
+ * @return 瑙掕壊鐨勬樉绀哄璞�
+ */
+ @RequestMapping(value = "/listRoleByUserOid",method = RequestMethod.GET)
+ public BaseResult<List<SmRoleVO>> listRoleByUserOid(String userOid, Map<String, String> queryMap){
+ try {
+ return BaseResult.dataList(roleQueryService.listRoleByUserOid(userOid,queryMap));
+ }catch (Exception e){
+ e.printStackTrace();
+ String exceptionMessage = VciBaseUtil.getExceptionMessage(e);
+ log.error("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
+ return BaseResult.fail("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
+ }
+ }
+
+ /**
+ * 鍒嗛厤瑙掕壊锛氫繚瀛樼敤鎴疯鑹插叧鑱斿叧绯�
+ * @param userOid
+ * @param roleIds
+ * @return
+ */
+ @RequestMapping(value = "/saveRights",method = RequestMethod.POST)
+ public BaseResult saveRights(String userOid, String[] roleIds){
+ try {
+ return roleQueryService.saveRights(userOid,roleIds) ? BaseResult.success("瑙掕壊鍒嗛厤鎴愬姛锛�"):BaseResult.fail("瑙掕壊鍒嗛厤澶辫触锛�");
+ }catch (Exception e){
+ e.printStackTrace();
+ String exceptionMessage = VciBaseUtil.getExceptionMessage(e);
+ log.error("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
+ return BaseResult.fail("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
+ }
+ }
+
+ /**
* 瑙掕壊鐨勬爲褰㈠弬鐓�
* @param treeQueryObject 鏍戝舰鏁版嵁鐨勬煡璇㈠璞★紝鍖呮嫭鏌ヨ鏉′欢锛屼笂绾т富閿紝鏄惁澶氶�夌瓑锛宔xtandParamsMap涓坊鍔�"showAllRoleNode"涓�"true"鏃讹紝杩斿洖缁撴灉涓細鍖呭惈鈥滄墍鏈夎鑹测�濊繖涓妭鐐�
* @return 瑙掕壊鐨勬爲褰㈠弬鐓э紝鏃犱笂涓嬬骇鍏崇郴
* @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父
*/
@RequestMapping(value = "/refTree",method = RequestMethod.GET)
- @ResponseBody
public BaseResult<Tree> refTree(TreeQueryObject treeQueryObject) throws VciBaseException{
List<Tree> roleTreeList = roleQueryService.refTreeRoles(treeQueryObject);
return BaseResult.tree(roleTreeList);
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java
index 690357b..15de3d6 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java
@@ -6,9 +6,9 @@
import com.vci.starter.web.annotation.controller.VciUnCheckRight;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.*;
+import com.vci.starter.web.util.VciBaseUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -123,7 +123,8 @@
return BaseResult.dataGrid(userVODataGrid);
}catch (Exception e) {
e.printStackTrace();
- log.error("鐢ㄦ埛绠$悊鍒楄〃鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + e.getMessage());
+ String exceptionMessage = VciBaseUtil.getExceptionMessage(e);
+ log.error("鐢ㄦ埛绠$悊鍒楄〃鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
return BaseResult.fail("鐢ㄦ埛绠$悊鍒楄〃鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + e.getMessage());
}
}
@@ -137,11 +138,12 @@
@VciUnCheckRight
public BaseResult addUser(@RequestBody SmUserDTO smUserDTO){
try {
- return BaseResult.success(userQueryService.addUser(smUserDTO) ? "鐢ㄦ埛娣诲姞鎴愬姛锛�":"鐢ㄦ埛娣诲姞澶辫触锛�");
+ return userQueryService.addUser(smUserDTO) ? BaseResult.success("鐢ㄦ埛娣诲姞鎴愬姛锛�"):BaseResult.fail("鐢ㄦ埛娣诲姞澶辫触锛�");
}catch (Exception e){
e.printStackTrace();
- log.error("娣诲姞鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + e.getMessage());
- return BaseResult.fail("娣诲姞鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + e.getMessage());
+ String exceptionMessage = VciBaseUtil.getExceptionMessage(e);
+ log.error("娣诲姞鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
+ return BaseResult.fail("娣诲姞鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
}
}
@@ -157,8 +159,9 @@
return BaseResult.success(userQueryService.updateUser(smUserDTO) ? "鐢ㄦ埛淇敼鎴愬姛锛�":"鐢ㄦ埛淇敼澶辫触锛�");
}catch (Exception e){
e.printStackTrace();
- log.error("淇敼鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + e.getMessage());
- return BaseResult.fail("淇敼鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + e.getMessage());
+ String exceptionMessage = VciBaseUtil.getExceptionMessage(e);
+ log.error("淇敼鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
+ return BaseResult.fail("淇敼鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
}
}
@@ -168,14 +171,15 @@
* @return
*/
@RequestMapping(value = "/deleteUser",method = RequestMethod.DELETE)
- //@VciUnCheckRight
+ @VciUnCheckRight
public BaseResult deleteUser(String[] ids){
try {
- return BaseResult.success(userQueryService.deleteUser(ids) ? "鍒犻櫎鐢ㄦ埛鎴愬姛锛�":"鍒犻櫎鐢ㄦ埛澶辫触锛�");
+ return userQueryService.deleteUser(ids) ? BaseResult.success("鍒犻櫎鐢ㄦ埛鎴愬姛锛�"):BaseResult.fail("鍒犻櫎鐢ㄦ埛澶辫触锛�");
}catch (Exception e){
e.printStackTrace();
- log.error("娣诲姞鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + e.getMessage());
- return BaseResult.fail("娣诲姞鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + e.getMessage());
+ String exceptionMessage = VciBaseUtil.getExceptionMessage(e);
+ log.error("娣诲姞鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
+ return BaseResult.fail("娣诲姞鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
}
}
@@ -186,15 +190,16 @@
* @return
*/
@RequestMapping(value = "/stopUsers",method = RequestMethod.POST)
- //@VciUnCheckRight
- public BaseResult disableOrEnableUsers(String[] ids,boolean flag){
+ @VciUnCheckRight
+ public BaseResult stopUsers(String[] ids,boolean flag){
try {
- userQueryService.disableOrEnableUsers(ids,flag);
+ userQueryService.stopUsers(ids,flag);
return BaseResult.success("鐢ㄦ埛銆愬仠鐢�/鍚敤銆戞垚鍔燂紒");
}catch (Exception e){
e.printStackTrace();
- log.error("鐢ㄦ埛銆愬仠鐢�/鍚敤銆戞椂鍑虹幇閿欒锛屽師鍥狅細" + e.getMessage());
- return BaseResult.fail("鐢ㄦ埛銆愬仠鐢�/鍚敤銆戞椂鍑虹幇閿欒锛屽師鍥狅細" + e.getMessage());
+ String exceptionMessage = VciBaseUtil.getExceptionMessage(e);
+ log.error("鐢ㄦ埛銆愬仠鐢�/鍚敤銆戞椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage);
+ return BaseResult.fail("鐢ㄦ埛銆愬仠鐢�/鍚敤銆戞椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage);
}
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java
index d265e21..30fa851 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java
@@ -111,6 +111,11 @@
private Date lastModifyPasswordTime;
/**
+ * 鐢ㄦ埛瀵嗙爜
+ */
+ private String password;
+
+ /**
* 瀵嗙爜閿欒娆℃暟
*/
private Integer pwdWrongCount;
@@ -155,6 +160,27 @@
*/
private String specialties;
+ /**
+ * 鐘舵��
+ */
+ private short status;
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public void setStatus(short status) {
+ this.status = status;
+ }
+
+ public short getStatus() {
+ return status;
+ }
+
public void setSpecialties(String specialties) {
this.specialties = specialties;
}
--
Gitblit v1.9.3