Kaynağa Gözat

短信登录

huangxingxing 1 yıl önce
ebeveyn
işleme
ca6964daef

+ 13 - 65
generated/com/miniframe/generate/comm/system/A_A00002.java

@@ -9,28 +9,28 @@ import java.io.Serializable;
  */
 public class A_A00002 extends BaseMapModel implements Serializable {
 	private static final long serialVersionUID = -1463838678425832212L;
-	String loginName;//登录
+	String userName;//用户
 	/**
-	 *登录
+	 *用户
 	 */
-	public void setLoginName(String loginName) {
-		this.loginName=loginName;
+	public void setUserName(String userName) {
+		this.userName=userName;
 	}
 	/**
-	 *登录
+	 *用户
 	 */
-	public String getLoginName() {
-		return this.loginName;
+	public String getUserName() {
+		return this.userName;
 	}
-	String authCode;//验证码
+	String authCode;//短信验证码
 	/**
-	 *验证码
+	 *短信验证码
 	 */
 	public void setAuthCode(String authCode) {
 		this.authCode=authCode;
 	}
 	/**
-	 *验证码
+	 *短信验证码
 	 */
 	public String getAuthCode() {
 		return this.authCode;
@@ -48,71 +48,19 @@ public class A_A00002 extends BaseMapModel implements Serializable {
 	public String getPassword() {
 		return this.password;
 	}
-	String verifyAuthCode;//手机或邮箱验证码
+	String type;//登录类型(0 短信登录)
 	/**
-	 *手机或邮箱验证码
-	 */
-	public void setVerifyAuthCode(String verifyAuthCode) {
-		this.verifyAuthCode=verifyAuthCode;
-	}
-	/**
-	 *手机或邮箱验证码
-	 */
-	public String getVerifyAuthCode() {
-		return this.verifyAuthCode;
-	}
-	String type;//登录类型(0手机登录)
-	/**
-	 *登录类型(0手机登录)
+	 *登录类型(0 短信登录)
 	 */
 	public void setType(String type) {
 		this.type=type;
 	}
 	/**
-	 *登录类型(0手机登录)
+	 *登录类型(0 短信登录)
 	 */
 	public String getType() {
 		return this.type;
 	}
-	String loginMedia;//登录渠道(0或不填-APP 1-WEB 2-MANAGEWEB 3-DATAWEB)
-	/**
-	 *登录渠道(0或不填-APP 1-WEB 2-MANAGEWEB 3-DATAWEB)
-	 */
-	public void setLoginMedia(String loginMedia) {
-		this.loginMedia=loginMedia;
-	}
-	/**
-	 *登录渠道(0或不填-APP 1-WEB 2-MANAGEWEB 3-DATAWEB)
-	 */
-	public String getLoginMedia() {
-		return this.loginMedia;
-	}
-	String isLoginAuto;//是否需要自动(1-自动只对APP有用)
-	/**
-	 *是否需要自动(1-自动只对APP有用)
-	 */
-	public void setIsLoginAuto(String isLoginAuto) {
-		this.isLoginAuto=isLoginAuto;
-	}
-	/**
-	 *是否需要自动(1-自动只对APP有用)
-	 */
-	public String getIsLoginAuto() {
-		return this.isLoginAuto;
-	}
-	String loginWay;//登录方式(0或不填-手动登录,1-自动登录)
-	/**
-	 *登录方式(0或不填-手动登录,1-自动登录)
-	 */
-	public void setLoginWay(String loginWay) {
-		this.loginWay=loginWay;
-	}
-	/**
-	 *登录方式(0或不填-手动登录,1-自动登录)
-	 */
-	public String getLoginWay() {
-		return this.loginWay;
-	}
 	String phoneNo;//手机号码
 	/**
 	 *手机号码

+ 2 - 54
generated/validateform/a_a00002Form.xml

@@ -4,8 +4,8 @@
 <form-validation>
 <formset>
 <form name="a_a00002Form">
-<field property="loginName" depends="required,minlength,maxlength">
-    <arg0 key="a_a00002.loginName"/>
+<field property="userName" depends="minlength,maxlength">
+    <arg0 key="a_a00002.userName"/>
     <arg1 name="minlength" key="${var:minlength}"/>
     <var>
       <var-name>minlength</var-name>
@@ -43,19 +43,6 @@
       <var-value>128</var-value>
     </var>
 </field>
-<field property="verifyAuthCode" depends="minlength,maxlength">
-    <arg0 key="a_a00002.verifyAuthCode"/>
-    <arg1 name="minlength" key="${var:minlength}"/>
-    <var>
-      <var-name>minlength</var-name>
-      <var-value>1</var-value>
-    </var>
-    <arg1 name="maxlength" key="${var:maxlength}"/>
-    <var>
-      <var-name>maxlength</var-name>
-      <var-value>6</var-value>
-    </var>
-</field>
 <field property="type" depends="minlength,maxlength">
     <arg0 key="a_a00002.type"/>
     <arg1 name="minlength" key="${var:minlength}"/>
@@ -69,45 +56,6 @@
       <var-value>8</var-value>
     </var>
 </field>
-<field property="loginMedia" depends="minlength,maxlength">
-    <arg0 key="a_a00002.loginMedia"/>
-    <arg1 name="minlength" key="${var:minlength}"/>
-    <var>
-      <var-name>minlength</var-name>
-      <var-value>1</var-value>
-    </var>
-    <arg1 name="maxlength" key="${var:maxlength}"/>
-    <var>
-      <var-name>maxlength</var-name>
-      <var-value>8</var-value>
-    </var>
-</field>
-<field property="isLoginAuto" depends="minlength,maxlength">
-    <arg0 key="a_a00002.isLoginAuto"/>
-    <arg1 name="minlength" key="${var:minlength}"/>
-    <var>
-      <var-name>minlength</var-name>
-      <var-value>1</var-value>
-    </var>
-    <arg1 name="maxlength" key="${var:maxlength}"/>
-    <var>
-      <var-name>maxlength</var-name>
-      <var-value>8</var-value>
-    </var>
-</field>
-<field property="loginWay" depends="minlength,maxlength">
-    <arg0 key="a_a00002.loginWay"/>
-    <arg1 name="minlength" key="${var:minlength}"/>
-    <var>
-      <var-name>minlength</var-name>
-      <var-value>1</var-value>
-    </var>
-    <arg1 name="maxlength" key="${var:maxlength}"/>
-    <var>
-      <var-name>maxlength</var-name>
-      <var-value>8</var-value>
-    </var>
-</field>
 <field property="phoneNo" depends="maxlength">
     <arg0 key="a_a00002.phoneNo"/>
     <arg1 name="maxlength" key="${var:maxlength}"/>

+ 3 - 7
generated/validator/resources_a_a00002Form_validator.properties

@@ -1,10 +1,6 @@
-a_a00002.loginName = \u767B\u5F55\u540D
-a_a00002.authCode = \u9A8C\u8BC1\u7801
+a_a00002.userName = \u7528\u6237\u540D
+a_a00002.authCode = \u77ED\u4FE1\u9A8C\u8BC1\u7801
 a_a00002.password = \u5BC6\u7801
-a_a00002.verifyAuthCode = \u624B\u673A\u6216\u90AE\u7BB1\u9A8C\u8BC1\u7801
-a_a00002.type = \u767B\u5F55\u7C7B\u578B(0\u624B\u673A\u767B\u5F55)
-a_a00002.loginMedia = \u767B\u5F55\u6E20\u9053\uFF080\u6216\u4E0D\u586B-APP1-WEB2-MANAGEWEB3-DATAWEB)
-a_a00002.isLoginAuto = \u662F\u5426\u9700\u8981\u81EA\u52A8\uFF081-\u81EA\u52A8\u53EA\u5BF9APP\u6709\u7528\uFF09
-a_a00002.loginWay = \u767B\u5F55\u65B9\u5F0F(0\u6216\u4E0D\u586B-\u624B\u52A8\u767B\u5F55\uFF0C1-\u81EA\u52A8\u767B\u5F55)
+a_a00002.type = \u767B\u5F55\u7C7B\u578B(0\u77ED\u4FE1\u767B\u5F55)
 a_a00002.phoneNo = \u624B\u673A\u53F7\u7801
 a_a00002Form = true

+ 3 - 7
generated/validator/resources_a_a00002Form_validator_zh_CN.properties

@@ -1,10 +1,6 @@
-a_a00002.loginName = \u767B\u5F55\u540D
-a_a00002.authCode = \u9A8C\u8BC1\u7801
+a_a00002.userName = \u7528\u6237\u540D
+a_a00002.authCode = \u77ED\u4FE1\u9A8C\u8BC1\u7801
 a_a00002.password = \u5BC6\u7801
-a_a00002.verifyAuthCode = \u624B\u673A\u6216\u90AE\u7BB1\u9A8C\u8BC1\u7801
-a_a00002.type = \u767B\u5F55\u7C7B\u578B(0\u624B\u673A\u767B\u5F55)
-a_a00002.loginMedia = \u767B\u5F55\u6E20\u9053\uFF080\u6216\u4E0D\u586B-APP1-WEB2-MANAGEWEB3-DATAWEB)
-a_a00002.isLoginAuto = \u662F\u5426\u9700\u8981\u81EA\u52A8\uFF081-\u81EA\u52A8\u53EA\u5BF9APP\u6709\u7528\uFF09
-a_a00002.loginWay = \u767B\u5F55\u65B9\u5F0F(0\u6216\u4E0D\u586B-\u624B\u52A8\u767B\u5F55\uFF0C1-\u81EA\u52A8\u767B\u5F55)
+a_a00002.type = \u767B\u5F55\u7C7B\u578B(0\u77ED\u4FE1\u767B\u5F55)
 a_a00002.phoneNo = \u624B\u673A\u53F7\u7801
 a_a00002Form = true

+ 47 - 135
src/main/java/com/miniframe/bisiness/system/A00002Service.java

@@ -44,165 +44,77 @@ public class A00002Service extends A00002BaseModel implements ExecProcessFlow {
      * 基础系统,“登录”业务核心处理
      */
     public void transExecute() throws Exception {
-        String loginMedia = UtilTools.isNullOrBlank(this.getA_a00002().getLoginMedia()) ? LoginMedia.APP.getIndex() : this.getA_a00002().getLoginMedia();
-        if (LoginMedia.getLoginMedia(loginMedia) == null) {
-            throw new BusinessException("EB8000015");
+        //本地是否存在
+        SysUserMapper dao = UtilTools.getBean(SysUserMapper.class);
+        SysUserSQLBuilder sb = new SysUserSQLBuilder();
+        if ("0".equals(this.getA_a00002().getType())) {
+            sb.createCriteria().andUsermobnubEqualTo(this.getA_a00002().getPhoneNo().trim());
+        }else{
+            sb.createCriteria().andUsernameEqualTo(this.getA_a00002().getUserName().trim());
         }
-
-
-        String loginType = UtilTools.isNullOrBlank(this.getA_a00002().getType()) ? LoginType.PASSWD.getIndex() : this.getA_a00002().getType();
-        if (LoginType.getLoginType(loginType) == null) {
-            throw new BusinessException("EB8000015");
-        }
-
-        //0手动登录 1-自动登录
-        String loginWay = UtilTools.isNullOrBlank(this.getA_a00002().getLoginWay()) ? LoginWay.MANUAL.getIndex() : this.getA_a00002().getLoginWay();
-        if (LoginWay.getLoginWay(loginWay) == null) {
-            throw new BusinessException("EB8000015");
-        }
-
-        SysUser sysUser;
-        SysUserMapper sysUserDAO = UtilTools.getBean(SysUserMapper.class);
-        if (loginWay.equals(LoginWay.MANUAL.getIndex())) { //手动登录
-            if (UtilTools.isNotNullAndBlank(this.getA_a00002().getAuthCode())) {
-                //验证图片
-                LoginService.validateGraph(this.getA_a00002().getAuthCode(), this.getA_systemhead().getClientToken());
+//		sb.createCriteria().andUsernameEqualTo(this.getA_a00002().getUserName().trim());
+        List<SysUser> userInfoList = dao.selectByExample(sb);
+        if(CollectionUtils.isEmpty(userInfoList)){
+            sb = new SysUserSQLBuilder();
+            if ("0".equals(this.getA_a00002().getType())) {
+                sb.createCriteria().andUsermobnubEqualTo(this.getA_a00002().getPhoneNo().trim());
+            }else{
+                sb.createCriteria().andUseremailEqualTo(this.getA_a00002().getUserName().trim());
             }
 
-            //本地是否存在
-            SysUserSQLBuilder sysUserSQLBuilder = new SysUserSQLBuilder();
-            String loginName = this.getA_a00002().getLoginName().trim();
-            //先使用loginName查询用户,再用手机号查询
-            sysUserSQLBuilder.createCriteria().andUserstateNotEqualTo(UserState.delete.getIndex()).andUsernameEqualTo(loginName);
-            List<SysUser> userInfoList = sysUserDAO.selectByExample(sysUserSQLBuilder);
-            if (CollectionUtils.isEmpty(userInfoList)) {
-                //再用手机号查询
-                sysUserSQLBuilder = new SysUserSQLBuilder();
-                sysUserSQLBuilder.createCriteria().andUsermobnubEqualTo(loginName);
-                userInfoList = sysUserDAO.selectByExample(sysUserSQLBuilder);
-                if (CollectionUtils.isEmpty(userInfoList)) {
-                    // 不存在就报错
-                    throw new BusinessException("EB8000015");
-                }
-            }
-            sysUser = userInfoList.get(0);
-        } else {
-            sysUser = sysUserDAO.selectByPrimaryKey(this.getA_systemhead().getUserId());
-            if (sysUser == null) {
+            userInfoList = dao.selectByExample(sb);
+            if(CollectionUtils.isEmpty(userInfoList)){
+                // 不存在就报错
                 throw new BusinessException("EB8000015");
             }
-
         }
 
-        UserLoginMapper userLoginDAO = UtilTools.getBean(UserLoginMapper.class);
-        UserLogin userLogin = new UserLogin();
-        userLogin.setId(UtilTools.getUUid());
-        userLogin.setUid(sysUser.getId());
-        userLogin.setLoginName(this.getA_a00002().getLoginName());
-        userLogin.setLoginTime(XIDateTimeUtils.getNowDate());
-        userLogin.setLoginIp(XIUtils.getClientIp());
-        userLogin.setWrongTimes(0);
-
-        userLogin.setLoginType(LoginType.getLoginType(loginType).getDesc());
-        userLogin.setLoginWay(LoginWay.getLoginWay(loginWay).getDesc()); //0手动登录 1-自动登录
-        userLogin.setLoginMedia(LoginMedia.getLoginMedia(loginMedia).getDesc());
-
-
-        userLogin.setCreateTime(XIDateTimeUtils.getNowDate());
-        userLogin.setUpdateTime(userLogin.getCreateTime());
-
-        userLogin.setStatus(Loginflag.sucess.getIndex()); //默认登录成功
-
-        userLogin.setLoginCode(XIUtils.getNormalReturnCode());
-        userLogin.setLoginMsg(Loginflag.sucess.getDesc());
-
-        if ("0".equals(this.getA_a00002().getType())) {// 如果是短信登录
+        // 如果存在
+        // 如果是短信登录
+        if ("0".equals(this.getA_a00002().getType())) {
             // 验证短信验证码
             if (!IdentifyingCodeUtil.verification(this.getA_a00002().getPhoneNo(), this.getA_a00002().getAuthCode())) {
                 // 验证码校验失败!
                 throw new BusinessException("EB8000021");
             }
-        }else if (loginWay.equals(LoginWay.MANUAL.getIndex())) { //手动登录
-            if (LoginType.PASSWD.getIndex().equals(loginType)) {// 密码登录
-
-                String password_ = XIDESedeCoderUtils.dec(this.getA_a00002().getPassword(), this.getA_systemhead().getClientToken());//3DES解密
-                if (!LoginService.encodePassword(sysUser.getId(), password_).equals(sysUser.getUserpwd())) {//比较密码是否相同
-
-                    userLogin.setStatus(Loginflag.fail.getIndex());
-                    userLogin.setLoginCode("EB8000015");
-                    userLogin.setLoginMsg(UtilTools.getText(userLogin.getLoginCode()));
-                    userLoginDAO.insertSelective(userLogin);
-
-                    throw new BusinessException(userLogin.getLoginCode());
-                }
-
-            } else if (LoginType.VERIFYCODE.getIndex().equals(loginType)) {// 验证码登录
-//			if (!IdentifyingCodeUtil.verification(this.getA_a00002().getPhoneNo(), this.getA_a00002().getAuthCode())) {
-//				// 验证码校验失败!
-//				throw new BusinessException("EB8000021");
-//			}
-            }
-        } else { //自动登录,验证clientToken
-            boolean isCheckJwtToken=false;
-            try {
-                isCheckJwtToken=LoginService.checkJwtTokenForUser(this.getA_systemhead().getUserId(), this.getA_systemhead().getClientToken());
-
-            }catch (Exception e){}
-
-            if (!isCheckJwtToken) {
-                userLogin.setStatus("1");
-                userLogin.setLoginCode("EB8000015");
-                userLogin.setLoginMsg(UtilTools.getText(userLogin.getLoginCode()));
-                userLoginDAO.insertSelective(userLogin);
-
-                throw new BusinessException(userLogin.getLoginCode());
+        } else {
+            // 如果是密码登录
+            String password_ = XIDESedeCoderUtils.dec(this.getA_a00002().getPassword(), this.getA_systemhead().getClientToken());//3DES解密
+            if(!LoginService.encodePassword(userInfoList.get(0).getId(),password_).equals(userInfoList.get(0).getUserpwd())){//比较密码是否相同
+                throw new BusinessException("EB8000015");//用户名或密码错误!
             }
         }
 
+        // 如果是密码登录
+//		String password_ = DESedeCoderUtils.dec(this.getA_a00002().getPassword(), this.getA_systemhead().getClientToken());//3DES解密
+//		if(!LoginService.encodePassword(userInfoList.get(0).getId(),password_).equals(userInfoList.get(0).getUserpwd())){//比较密码是否相同
+//			throw new BusinessException("EB8000015");//用户名或密码错误!
+//		}
 
-        if (sysUser.getUserstate().equals(UserState.delete.getIndex())) {
-            userLogin.setStatus(Loginflag.fail.getIndex());
-            userLogin.setLoginCode("EB8000015");
-            userLogin.setLoginMsg(UtilTools.getText(userLogin.getLoginCode()));
-            userLoginDAO.insertSelective(userLogin);
-
-            throw new BusinessException(userLogin.getLoginCode());
-        }
-
-        if (sysUser.getUserstate().equals(UserState.black.getIndex())) {
-            userLogin.setStatus(Loginflag.fail.getIndex());
-            userLogin.setLoginCode("EB8000104");
-            userLogin.setLoginMsg(UtilTools.getText(userLogin.getLoginCode()));
-            userLoginDAO.insertSelective(userLogin);
-
-            throw new BusinessException(userLogin.getLoginCode());
+        if(userInfoList.get(0).getUserstate().equals(UserState.black.getIndex())){
+            throw new BusinessException("EB8000104");
         }
+        SysUser sysUser =userInfoList.get(0);
 
+        //若登录成功,增加登录日志,并正常返回
+        UserLoginMapper userLoginDAO = UtilTools.getBean(UserLoginMapper.class);
+        UserLoginSQLBuilder ulsb = new UserLoginSQLBuilder();
+        UserLogin userLogin = new UserLogin();
+        userLogin.setId(UtilTools.getUUid());
 
+        userLogin.setLoginTime(XIDateTimeUtils.getNowDate());
+        userLogin.setLoginIp(XIUtils.getClientIp());
+        userLogin.setWrongTimes(0);
 
-//        //用户是否可用此登录渠道进行登录权限判断
-//        if (!XIUtils.getListFromStrDelEmpty(sysUser.getFuncids()).stream()
-//                .anyMatch(func -> func.equals(LoginMedia.getLoginMedia(loginMedia).getDesc()))) {
-//            userLogin.setStatus(Loginflag.fail.getIndex());
-//            userLogin.setLoginCode("EB8000012");
-//            userLogin.setLoginMsg(UtilTools.getText(userLogin.getLoginCode()));
-//            userLoginDAO.insertSelective(userLogin);
-//
-//            throw new BusinessException(userLogin.getLoginCode());
-//        }
+        userLogin.setStatus("");
+        userLogin.setCreateTime(XIDateTimeUtils.getNowDate());
+        userLogin.setUpdateTime(userLogin.getCreateTime());
 
-        ///////////////////////////////
-        userLoginDAO.insertSelective(userLogin);
+        userLoginDAO.insert(userLogin);
 
         String userId = sysUser.getId();
         String tocken = this.getA_systemhead().getClientToken();
-        if (loginWay.equals(LoginWay.MANUAL.getIndex())) { //手动登录
-            if (UtilTools.isNotNullAndBlank(this.getA_a00002().getIsLoginAuto()) && this.getA_a00002().getIsLoginAuto().equals("1")) {
-                tocken = JwtManageUtil.getClientLoginAutoJWT(MFMiniCoreProperties.getInstance().getUniqueid(), userId, userId);
-            } else {
-                tocken = UUID.randomUUID().toString().replace("-", "").trim();
-            }
-        }
+
 
         //部门自定义的用户权限
         Map deptFuncMap = new HashMap();

+ 4 - 8
系统设计/通信设计/通讯报文/system(系统服务)/报文体/A00002_A(登录).csv

@@ -1,10 +1,6 @@
 序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
-1,loginName,登录名,string,,,,0,256,,,,,,
-2,authCode,验证码,string,,,否,1,6,,,,,,
+1,userName,用户名,string,,,否,0,256,,,,,,
+2,authCode,短信验证码,string,,,否,1,6,,,,,,
 3,password,密码,string,,,否,1,128,,,,,,
-4,verifyAuthCode,手机或邮箱验证码,string,,,否,1,6,,,,,,
-5,type,登录类型(0手机登录),string,,,,1,8,,,,,,
-6,loginMedia,登录渠道(0或不填-APP 1-WEB 2-MANAGEWEB 3-DATAWEB),string,,,否,1,8,,,,,,
-7,isLoginAuto,是否需要自动(1-自动只对APP有用),string,,,否,1,8,,,,,,
-8,loginWay,登录方式(0或不填-手动登录,1-自动登录),string,,,否,1,8,,,,,,
-9,phoneNo,手机号码,string,,,,,256,,,,,,
+4,type,登录类型(0 短信登录),string,,,,1,8,,,,,,
+5,phoneNo,手机号码,string,,,,,256,,,,,,