From 5700f42a37a2f9ecc27161e2b0559a820d320f6b Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 17 三月 2025 15:11:40 +0800
Subject: [PATCH] 开发完成同一个手机号登录不同物业公司的支持
---
service-user/src/main/java/com/java110/user/cmd/login/PcUserLoginCmd.java | 97 +++++++++++++++++++++++++++---------------------
1 files changed, 54 insertions(+), 43 deletions(-)
diff --git a/service-user/src/main/java/com/java110/user/cmd/login/PcUserLoginCmd.java b/service-user/src/main/java/com/java110/user/cmd/login/PcUserLoginCmd.java
index 93f456b..9ea5879 100644
--- a/service-user/src/main/java/com/java110/user/cmd/login/PcUserLoginCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/login/PcUserLoginCmd.java
@@ -1,5 +1,6 @@
package com.java110.user.cmd.login;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
@@ -26,6 +27,7 @@
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.ListUtil;
+import com.java110.vo.ResultVo;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@@ -55,30 +57,30 @@
@Java110ParamsDoc(
headers = {
- @Java110HeaderDoc(name="APP-ID",defaultValue = "閫氳繃dev璐︽埛鍒嗛厤搴旂敤",description = "搴旂敤APP-ID"),
- @Java110HeaderDoc(name="TRANSACTION-ID",defaultValue = "uuid",description = "浜ゆ槗娴佹按鍙�"),
- @Java110HeaderDoc(name="REQ-TIME",defaultValue = "20220917120915",description = "璇锋眰鏃堕棿 YYYYMMDDhhmmss"),
- @Java110HeaderDoc(name="JAVA110-LANG",defaultValue = "zh-cn",description = "璇█涓枃"),
- @Java110HeaderDoc(name="USER-ID",defaultValue = "-1",description = "璋冪敤鐢ㄦ埛ID 涓�鑸啓-1"),
+ @Java110HeaderDoc(name = "APP-ID", defaultValue = "閫氳繃dev璐︽埛鍒嗛厤搴旂敤", description = "搴旂敤APP-ID"),
+ @Java110HeaderDoc(name = "TRANSACTION-ID", defaultValue = "uuid", description = "浜ゆ槗娴佹按鍙�"),
+ @Java110HeaderDoc(name = "REQ-TIME", defaultValue = "20220917120915", description = "璇锋眰鏃堕棿 YYYYMMDDhhmmss"),
+ @Java110HeaderDoc(name = "JAVA110-LANG", defaultValue = "zh-cn", description = "璇█涓枃"),
+ @Java110HeaderDoc(name = "USER-ID", defaultValue = "-1", description = "璋冪敤鐢ㄦ埛ID 涓�鑸啓-1"),
},
params = {
- @Java110ParamDoc(name = "username", length = 30, remark = "鐢ㄦ埛鍚嶏紝鐗╀笟绯荤粺鍒嗛厤"),
- @Java110ParamDoc(name = "passwd", length = 30, remark = "瀵嗙爜锛岀墿涓氱郴缁熷垎閰�"),
-})
+ @Java110ParamDoc(name = "username", length = 30, remark = "鐢ㄦ埛鍚嶏紝鐗╀笟绯荤粺鍒嗛厤"),
+ @Java110ParamDoc(name = "passwd", length = 30, remark = "瀵嗙爜锛岀墿涓氱郴缁熷垎閰�"),
+ })
@Java110ResponseDoc(
params = {
@Java110ParamDoc(name = "code", type = "int", length = 11, defaultValue = "0", remark = "杩斿洖缂栧彿锛�0 鎴愬姛 鍏朵粬澶辫触"),
@Java110ParamDoc(name = "msg", type = "String", length = 250, defaultValue = "鎴愬姛", remark = "鎻忚堪"),
@Java110ParamDoc(name = "data", type = "Object", remark = "鏈夋晥鏁版嵁"),
- @Java110ParamDoc(parentNodeName = "data",name = "userId", type = "String", remark = "鐢ㄦ埛ID"),
- @Java110ParamDoc(parentNodeName = "data",name = "token", type = "String", remark = "涓存椂绁ㄦ嵁"),
+ @Java110ParamDoc(parentNodeName = "data", name = "userId", type = "String", remark = "鐢ㄦ埛ID"),
+ @Java110ParamDoc(parentNodeName = "data", name = "token", type = "String", remark = "涓存椂绁ㄦ嵁"),
}
)
@Java110ExampleDoc(
- reqBody="{'username':'wuxw','passwd':'admin'}",
- resBody="{'code':0,'msg':'鎴愬姛','data':{'userId':'123123','token':'123213'}}"
+ reqBody = "{'username':'wuxw','passwd':'admin'}",
+ resBody = "{'code':0,'msg':'鎴愬姛','data':{'userId':'123123','token':'123213'}}"
)
@Java110Cmd(serviceCode = "login.pcUserLogin")
public class PcUserLoginCmd extends Cmd {
@@ -94,12 +96,8 @@
@Override
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
- String paramIn = cmdDataFlowContext.getReqData();
- Assert.isJsonObject(paramIn, "鐢ㄦ埛娉ㄥ唽璇锋眰鍙傛暟鏈夎锛屼笉鏄湁鏁堢殑json鏍煎紡 " + paramIn);
- Assert.jsonObjectHaveKey(paramIn, "username", "鐢ㄦ埛鐧诲綍锛屾湭鍖呭惈username鑺傜偣锛岃妫�鏌�" + paramIn);
- Assert.jsonObjectHaveKey(paramIn, "passwd", "鐢ㄦ埛鐧诲綍锛屾湭鍖呭惈passwd鑺傜偣锛岃妫�鏌�" + paramIn);
-
-
+ Assert.hasKeyAndValue(reqJson, "username", "鐢ㄦ埛鐧诲綍锛屾湭鍖呭惈username鑺傜偣锛岃妫�鏌�");
+ Assert.hasKeyAndValue(reqJson, "passwd", "鐢ㄦ埛鐧诲綍锛屾湭鍖呭惈passwd鑺傜偣锛岃妫�鏌�");
AuthenticationFactory.checkLoginErrorCount(reqJson.getString("username"));
}
@@ -140,32 +138,45 @@
return;
}
}
-
-
- try {
- Map userMap = new HashMap();
- userMap.put(CommonConstant.LOGIN_USER_ID, userDtos.get(0).getUserId());
- userMap.put(CommonConstant.LOGIN_USER_NAME, userDtos.get(0).getUserName());
- String token = AuthenticationFactory.createAndSaveToken(userMap);
- JSONObject userInfo = BeanConvertUtil.beanCovertJson(userDtos.get(0));
- userInfo.remove("userPwd");
- userInfo.put("token", token);
- //璁板綍鐧诲綍鏃ュ織
- UserLoginPo userLoginPo = new UserLoginPo();
- userLoginPo.setLoginId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_loginId));
- userLoginPo.setLoginTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
- userLoginPo.setPassword(userDtos.get(0).getPassword());
- userLoginPo.setSource(UserLoginDto.SOURCE_WEB);
- userLoginPo.setToken(token);
- userLoginPo.setUserId(userInfo.getString("userId"));
- userLoginPo.setUserName(userInfo.getString("userName"));
- userLoginInnerServiceSMOImpl.saveUserLogin(userLoginPo);
- responseEntity = new ResponseEntity<String>(userInfo.toJSONString(), HttpStatus.OK);
- cmdDataFlowContext.setResponseEntity(responseEntity);
- } catch (Exception e) {
- logger.error("鐧诲綍寮傚父锛�", e);
- throw new SMOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "绯荤粺鍐呴儴閿欒锛岃鑱旂郴绠$悊鍛�");
+ UserDto allUserDto = new UserDto();
+ allUserDto.setTel(userDtos.get(0).getTel());
+ userDtos = userInnerServiceSMOImpl.getStaffs(userDto);
+ if (userDtos.isEmpty()) {
+ throw new CmdException("鐢ㄦ埛涓嶅瓨鍦�");
}
+ JSONArray data = new JSONArray();
+ JSONObject userInfo = null;
+ for(UserDto aUserDto: userDtos) {
+ try {
+ Map userMap = new HashMap();
+ userMap.put(CommonConstant.LOGIN_USER_ID, aUserDto.getUserId());
+ userMap.put(CommonConstant.LOGIN_USER_NAME, aUserDto.getUserName());
+ String token = AuthenticationFactory.createAndSaveToken(userMap);
+ userInfo= BeanConvertUtil.beanCovertJson(aUserDto);
+ userInfo.remove("userPwd");
+ userInfo.put("token", token);
+ data.add(userInfo);
+ } catch (Exception e) {
+ logger.error("鐧诲綍寮傚父锛�", e);
+ throw new SMOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "绯荤粺鍐呴儴閿欒锛岃鑱旂郴绠$悊鍛�");
+ }
+ }
+
+
+ //璁板綍鐧诲綍鏃ュ織
+ UserLoginPo userLoginPo = new UserLoginPo();
+ userLoginPo.setLoginId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_loginId));
+ userLoginPo.setLoginTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ userLoginPo.setPassword("******");
+ userLoginPo.setSource(UserLoginDto.SOURCE_WEB);
+ userLoginPo.setToken(userInfo.getString("token"));
+ userLoginPo.setUserId(userInfo.getString("userId"));
+ userLoginPo.setUserName(userInfo.getString("userName"));
+ userLoginInnerServiceSMOImpl.saveUserLogin(userLoginPo);
+
+
+ responseEntity = ResultVo.createResponseEntity(data);
+ cmdDataFlowContext.setResponseEntity(responseEntity);
}
}
--
Gitblit v1.8.0