Quellcode durchsuchen

登录BUG修复

chenw vor 6 Jahren
Ursprung
Commit
995792a887

+ 1 - 1
bi-server/src/main/java/com/usoftchina/bi/server/dao/common/UASMapper.java

@@ -52,7 +52,7 @@ public interface UASMapper {
             +           "#{id, jdbcType=INTEGER},#{name},ADDRASS,PORT,DATABASE_TYPE,DATA_NAME,#{sob},PASS_WORD,CREATE_DATE,UPDATE_DATE,NOTE "
             +       "FROM BI_DATABASES where id = #{mainid}")
     @SelectKey(before=true,keyProperty="id",resultType=int.class,statement="SELECT BI_DATABASES_sequence.nextval from dual",keyColumn = "id")
-    void insertDataBase(@Param("name") String name ,@Param("sob") String sob ,@Param("mainid") String mainid);
+    void insertDataBase(@Param("name") String name ,@Param("sob") String sob ,@Param("mainid") int mainid);
 
     //获取所有单个数据链接的报表 且编号符合  xxxx_xxxx_账套str
     @Select({ "select DASHBOARD_ID dashboardId,ID dataSourceId,'_副本' lastName,BD_CODE newCode  from (select MAX(BD_CODE) BD_CODE,DASHBOARD_ID,count(*),max(BI_DATABASES.id) id,max(BI_DATABASES.USER_NAME) USER_NAME " +

+ 31 - 4
bi-server/src/main/java/com/usoftchina/bi/server/dao/user/UserMapper.java

@@ -23,7 +23,7 @@ public interface UserMapper {
      * @return
      */
     @Select("SELECT id FROM BI_DATABASES where ismaster = 1 and rownum<2")
-    String getMasterId();
+    Integer getMasterId();
 
     /**
      * 获取目标账套数据链接ID
@@ -91,7 +91,7 @@ public interface UserMapper {
     /*
     查询id
      */
-    @Select("select bu_id as id from bi_users where user_name = #{userName,jdbcType=VARCHAR} or bu_phone = #{userName,jdbcType=VARCHAR}")
+    @Select("select bu_id as id from bi_users where user_name = #{userName,jdbcType=VARCHAR}")
     int getUserId(String userName);
 
     /*
@@ -104,8 +104,15 @@ public interface UserMapper {
     查询uas用户信息
      */
     @Select("SELECT EM_DEFAULTHSNAME as department, EM_DEPART as post,EM_TYPE as role, EM_NAME as name, EM_PASSWORD as passWord," +
-            " EM_MOBILE as phone, EM_CODE as userName,EM_CLASS AS state FROM EMPLOYEE where EM_MOBILE = #{userName} OR EM_CODE = #{userName}")
-    User getUserMess(@Param("userName") String userName);
+            " EM_MOBILE as phone, EM_CODE as userName,EM_CLASS AS state FROM EMPLOYEE where EM_CODE = #{userName}")
+    User getUserMessByName(@Param("userName") String userName);
+
+    /*
+    查询uas用户信息
+     */
+    @Select("SELECT EM_DEFAULTHSNAME as department, EM_DEPART as post,EM_TYPE as role, EM_NAME as name, EM_PASSWORD as passWord," +
+            " EM_MOBILE as phone, EM_CODE as userName,EM_CLASS AS state FROM EMPLOYEE where EM_MOBILE = #{mobile}")
+    User getUserMessByMobile(@Param("mobile") String mobile);
 
     /*
     获取用户信息
@@ -115,6 +122,26 @@ public interface UserMapper {
             "FROM BI_USERS WHERE (USER_NAME = #{userName} OR BU_PHONE = #{userName}) and rownum = 1")
     User getLogin(String userName);
 
+    /**
+     * 通过用户名查询用户信息
+     * @param userName
+     * @return
+     */
+    @Select("SELECT BU_ID as id, BU_NAME as name, BU_DEPARTMENT as department, BU_POST as post, BU_ROLE as role," +
+            " USER_NAME as userName, PASS_WORD as passWord, BU_PHONE as phone, BU_CLASS as state " +
+            "FROM BI_USERS WHERE USER_NAME = #{userName}")
+    User getBIUserByName(@Param("userName") String userName);
+
+    /**
+     * 通过手机号查询用户信息
+     * @param mobile
+     * @return
+     */
+    @Select("SELECT BU_ID as id, BU_NAME as name, BU_DEPARTMENT as department, BU_POST as post, BU_ROLE as role," +
+            " USER_NAME as userName, PASS_WORD as passWord, BU_PHONE as phone, BU_CLASS as state " +
+            "FROM BI_USERS WHERE BU_PHONE = #{mobile}")
+    User getBIUserByMobile(@Param("mobile") String mobile);
+
     /*
     查询bi系统是否存在该用户
      */

+ 3 - 18
bi-server/src/main/java/com/usoftchina/bi/server/service/common/UASService.java

@@ -1,34 +1,19 @@
 package com.usoftchina.bi.server.service.common;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.github.pagehelper.PageInfo;
-import com.usoftchina.bi.core.base.BaseContextHolder;
-import com.usoftchina.bi.core.base.RepCode;
-import com.usoftchina.bi.core.base.RepEntity;
-import com.usoftchina.bi.core.base.TestPage;
 import com.usoftchina.bi.core.jdbc.DynamicDataSourceContextHolder;
 import com.usoftchina.bi.server.aspect.JwtTokenAspect;
-import com.usoftchina.bi.server.dao.common.MessageLogMapper;
 import com.usoftchina.bi.server.dao.common.UASMapper;
 import com.usoftchina.bi.server.dao.user.UserMapper;
 import com.usoftchina.bi.server.model.po.*;
 import com.usoftchina.bi.server.model.vo.configVo.DatabasesInfo;
 import com.usoftchina.bi.server.model.vo.dataVo.DashboardCopyInfo;
-import com.usoftchina.bi.server.model.vo.dataVo.DataSourceCopyInfo;
 import com.usoftchina.bi.server.service.dashboard.DashboardsService;
 import com.usoftchina.bi.server.service.dataSource.DataBasesService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.usoftchina.bi.server.model.vo.dataVo.DashboardCopyInfo;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.StringUtils;
+import org.springframework.util.ObjectUtils;
 
-import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @Author hy
@@ -69,8 +54,8 @@ public class UASService {
 
     public String sync(SyncData syncData){
         //校验from 和 to  是否存在
-        String id = userMapper.getMasterId();
-        if(!StringUtils.hasText(id)){
+        Integer id = userMapper.getMasterId();
+        if(ObjectUtils.isEmpty(id)){
             return "主账套还未初始化,请初始化后再使用同步功能";
         }
         int hasFrom = uasMapper.checkDataBase(syncData.getFrom());

+ 13 - 27
bi-server/src/main/java/com/usoftchina/bi/server/service/user/UserService.java

@@ -50,7 +50,10 @@ public class UserService {
         //1.从UAS中将人员资料同步过来
         copyUserFromUAS();
         //2.校验用户名密码在BI中是否存在
-        User user = userMapper.getLogin(userName);
+        User user = userMapper.getBIUserByName(userName);
+        if (null == user) {
+            user = userMapper.getBIUserByMobile(userName);
+        }
         String password = "";
         if (null == user) {
             //3.校验用户名密码在UAS中是否存在
@@ -66,7 +69,7 @@ public class UserService {
 
             user = findUserFromUAS(userName, pws);
             user.setRole(role);
-            int userId = userMapper.getUserId(userName);
+            int userId = userMapper.getUserId(user.getUserName());
             user.setId(userId);
             if (!pws.equals(password)){
                 //更新密码
@@ -90,10 +93,9 @@ public class UserService {
     private void copyUserFromUAS(){
         int count = userMapper.getCount();
         if (count == 0) {
-            DynamicDataSourceContextHolder.setDataSourceType(String.valueOf(userMapper.getMasterId()));
+            DynamicDataSourceContextHolder.setDataSourceType(userMapper.getMasterId());
             List<User> userList = userMapper.getUASEmployee();
-            //userList.forEach(user -> user.setPassWord(EncryUtil.decryptPassword(user.getPassWord())));
-            DynamicDataSourceContextHolder.setDataSourceType(String.valueOf("[]"));
+            DynamicDataSourceContextHolder.clearDataSourceType();
             userMapper.batchInsert(userList);
         }
     }
@@ -105,9 +107,12 @@ public class UserService {
      * @return
      */
     private User findUserFromUAS(String userName, String pws){
-        DynamicDataSourceContextHolder.setDataSourceType(String.valueOf(userMapper.getMasterId()));
-        User user = userMapper.getUserMess(userName);
-        DynamicDataSourceContextHolder.setDataSourceType(String.valueOf("[]"));
+        DynamicDataSourceContextHolder.setDataSourceType(userMapper.getMasterId());
+        User user = userMapper.getUserMessByName(userName);
+        if (null == user) {
+            user = userMapper.getUserMessByMobile(userName);
+        }
+        DynamicDataSourceContextHolder.clearDataSourceType();
         if (null == user) {
             throw new MyException(RepCode.NoUser);
         }
@@ -127,25 +132,6 @@ public class UserService {
         return new RepEntity(RepCode.success);
     }
 
-
-    public RepEntity login1(LoginInfo loginInfo){
-        String userName = loginInfo.getUserName();
-        User user = userMapper.getLogin(userName);
-        if ("".equals(user) || user == null || "".equals(userName) || !userName.equals(user.getUserName())){
-            return new RepEntity(RepCode.NoUser);
-        }
-        String passWord = user.getPassWord();
-        if (!passWord.equals(loginInfo.getPassWord())){
-            return new RepEntity(RepCode.NoUser);
-        }
-
-        TokenData tokenData = jwtTokenUtil.createToke(user);
-        tokenData.setUser(user);
-        userMapper.updateToken(tokenData.getToken(),user.getId());
-        return new RepEntity(RepCode.success, tokenData);
-    }
-
-
     /*
     查询用户列表
      */