java110 лет назад: 5
Родитель
Сommit
2657bfd829

+ 10 - 0
java110-bean/src/main/java/com/java110/dto/user/UserDto.java

@@ -65,6 +65,8 @@ public class UserDto extends PageDto implements Serializable {
 
     private String belongCommunityId;
 
+    private boolean loginByPhone;
+
 
 
     public String getUserId() {
@@ -266,4 +268,12 @@ public class UserDto extends PageDto implements Serializable {
     public void setToken(String token) {
         this.token = token;
     }
+
+    public boolean isLoginByPhone() {
+        return loginByPhone;
+    }
+
+    public void setLoginByPhone(boolean loginByPhone) {
+        this.loginByPhone = loginByPhone;
+    }
 }

+ 14 - 3
service-api/src/main/java/com/java110/api/listener/user/UserLoginListener.java

@@ -6,10 +6,11 @@ import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.factory.AuthenticationFactory;
-import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.dto.user.UserAttrDto;
 import com.java110.dto.user.UserDto;
+import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.po.userAttr.UserAttrPo;
+import com.java110.utils.cache.CommonCache;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.ResponseConstant;
@@ -80,7 +81,17 @@ public class UserLoginListener extends AbstractServiceApiPlusListener {
             } else {
                 userDto.setUserName(reqJson.getString("userName"));
             }
-            userDto.setPassword(AuthenticationFactory.passwdMd5(reqJson.getString("password")));
+            //验证码登录
+            if (reqJson.containsKey("loginByPhone") && reqJson.getBoolean("loginByPhone")) {
+                String code = CommonCache.getValue(reqJson.getString("userName") + "_validateTel");
+
+                if (!reqJson.getString("password").equals(code)) {
+                    throw new SMOException("验证码错误");
+                }
+
+            } else {
+                userDto.setPassword(AuthenticationFactory.passwdMd5(reqJson.getString("password")));
+            }
             errorInfo = "用户名或密码错误";
         } else {
             userDto.setKey(reqJson.getString("key"));
@@ -91,7 +102,7 @@ public class UserLoginListener extends AbstractServiceApiPlusListener {
         List<UserDto> userDtos = userInnerServiceSMOImpl.getUsers(userDto);
 
         if (userDtos == null || userDtos.size() < 1) {
-            throw new SMOException("登录失败," + errorInfo);
+            throw new SMOException(errorInfo);
         }
 
         //表名登录成功

+ 5 - 0
service-front/src/main/java/com/java110/front/smo/login/impl/OwnerAppLoginSMOImpl.java

@@ -67,11 +67,16 @@ public class OwnerAppLoginSMOImpl extends AbstractFrontServiceSMO implements IOw
         ResponseEntity<String> responseEntity;
 
         JSONObject loginInfo = JSONObject.parseObject(pd.getReqData());
+        boolean loginByPhone = false;
+        if (paramIn.containsKey("loginByPhone")) {
+            loginByPhone = paramIn.getBoolean("loginByPhone");
+        }
 
         loginInfo.put("passwd", AuthenticationFactory.passwdMd5(loginInfo.getString("password")));
         UserDto userDto = new UserDto();
         userDto.setUserName(loginInfo.getString("username"));
         userDto.setPassword(loginInfo.getString("password"));
+        userDto.setLoginByPhone(loginByPhone);
         userDto = super.postForApi(pd, userDto, ServiceCodeConstant.SERVICE_CODE_USER_LOGIN, UserDto.class);
 
         if (userDto == null) {