Browse Source

Merge branch 'feature-refactor' of ssh://10.10.100.21/source/platform-bi-server into feature-refactor

zhuth 6 years ago
parent
commit
0737222eda

+ 7 - 2
bi-server/src/main/java/com/usoftchina/bi/server/controller/user/UserController.java

@@ -4,6 +4,7 @@ import com.usoftchina.bi.auth.annotation.Auth;
 import com.usoftchina.bi.core.base.RepEntity;
 import com.usoftchina.bi.server.model.po.User;
 import com.usoftchina.bi.server.model.pojo.annotation.CheckToken;
+import com.usoftchina.bi.server.model.pojo.annotation.Log;
 import com.usoftchina.bi.server.model.vo.configVo.LoginInfo;
 import com.usoftchina.bi.server.model.vo.configVo.UserGroupInfo;
 import com.usoftchina.bi.server.model.vo.configVo.UserGroupSetInfo;
@@ -65,8 +66,10 @@ public class UserController {
      */
     @ApiOperation(value = "创建用户组", notes = "创建用户组", response = RepEntity.class)
     @Auth(user = "admin")
+    @Log(module = "用户组", name = "#body.userGroupName", token = "#token")
+    @CheckToken
     @PostMapping("/createUserGroup")
-    public RepEntity createUserGroup(@RequestBody UserGroupInfo body){
+    public RepEntity saveUserGroup(@RequestHeader String token, @RequestBody UserGroupInfo body){
         return userService.createUserGroup(body);
     }
 
@@ -75,8 +78,10 @@ public class UserController {
      */
     @ApiOperation(value = "更新用户组", notes = "更新用户组", response = RepEntity.class)
     @Auth(user = "admin")
+    @Log(module = "用户组", name = "#body.userGroupName", token = "#token")
+    @CheckToken
     @PostMapping("/updateUserGroup")
-    public RepEntity updateUserGroup(@RequestBody UserGroupInfo body){
+    public RepEntity updateUserGroup(@RequestHeader String token, @RequestBody UserGroupInfo body){
         return userService.updateUserGroup(body);
     }
 

+ 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 " +

+ 40 - 6
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系统是否存在该用户
      */
@@ -174,11 +201,18 @@ public interface UserMapper {
     void updateUserGroup(UserGroup userGroup);
 
     /*
-    查询用户组
+    查询用户组列表
      */
     @Select("select bg_id as id, bg_name as userGroupName, bg_note as userGroupNote, create_date as createDate, " +
             "updata_date as updateDate from bi_user_groups ")
-    List<UserGroup> getUserGroup();
+    List<UserGroup> getUserGroupList();
+
+    /*
+   查询用户组
+    */
+    @Select("select bg_id as id, bg_name as userGroupName, bg_note as userGroupNote, create_date as createDate, " +
+            "updata_date as updateDate from bi_user_groups where bg_id = #{id}")
+    UserGroup getUserGroup(int id);
 
     /*
     删除用户组

+ 27 - 1
bi-server/src/main/java/com/usoftchina/bi/server/service/chart/ShowPieService.java

@@ -130,7 +130,33 @@ public class ShowPieService {
         }
 
         //无分组时Y值
-        value  = showChartsMapper.getPieXValues(yColumn, xColumn, tableName, yAxisType, screenToColumnS);
+        Iterator itX = xAxisData.iterator();
+        while (itX.hasNext()){
+            String xdata = (String)itX.next();
+            if ("".equals(xdata) || xdata == null){
+                //continue;
+            }
+            double valueOne = 0;
+            String valueOnes = null;
+            PieSeriesMap pieSeriesMap = new PieSeriesMap();
+            if ("time".equals(xColumnType)){
+                valueOnes = timeConverterUtil.getTimeValueConverter(yColumn, xColumn, tableName, yAxisType, xAxisType, xdata, screenToColumnS);
+            }else {
+                if (xdata == null || "".equals(xdata)){
+                    valueOnes = showChartsMapper.getValuesIsNull(yColumn, xColumn, tableName, yAxisType, screenToColumnS);
+                }else {
+                    valueOnes = showChartsMapper.getXValue(yColumn, xColumn, tableName, yAxisType, xdata, screenToColumnS);
+                }
+            }
+            if (valueOnes == null || "".equals(valueOnes)){
+                valueOne = 0;
+            }else {
+                valueOne = Double.parseDouble(valueOnes);
+            }
+            pieSeriesMap.setName(xdata);
+            pieSeriesMap.setValue(valueOne);
+            value.add(pieSeriesMap);
+        }
 
         series.setName(pieConfigInfo.getSeries().getColumnName());
         series.setValue(value);

+ 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());

+ 21 - 31
bi-server/src/main/java/com/usoftchina/bi/server/service/user/UserService.java

@@ -1,5 +1,6 @@
 package com.usoftchina.bi.server.service.user;
 
+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.exception.MyException;
@@ -14,6 +15,7 @@ import com.usoftchina.bi.server.model.po.UserGroup;
 import com.usoftchina.bi.server.model.vo.configVo.LoginInfo;
 import com.usoftchina.bi.server.model.vo.configVo.UserGroupInfo;
 import com.usoftchina.bi.server.model.vo.configVo.UserGroupSetInfo;
+import com.usoftchina.bi.server.service.common.MessageLogService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -26,11 +28,11 @@ import java.util.List;
 @Service
 public class UserService {
     @Autowired
-    JwtTokenAspect jwtTokenUtil;
+    private JwtTokenAspect jwtTokenUtil;
     @Autowired
-    UserMapper userMapper;
+    private UserMapper userMapper;
     @Autowired
-    ObjectMapper objectMapper;
+    private MessageLogService messageLogService;
 
     /**
      * 登录接口,涉及UAS用户同步:
@@ -48,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中是否存在
@@ -64,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)){
                 //更新密码
@@ -88,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);
         }
     }
@@ -103,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);
         }
@@ -125,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);
-    }
-
-
     /*
     查询用户列表
      */
@@ -193,7 +181,7 @@ public class UserService {
     查询用户组
      */
     public RepEntity getUserGroup(){
-        List<UserGroup> userGroup= userMapper.getUserGroup();
+        List<UserGroup> userGroup= userMapper.getUserGroupList();
         return new RepEntity(RepCode.success, userGroup);
     }
 
@@ -201,7 +189,9 @@ public class UserService {
     删除用户组
      */
     public RepEntity delUserGroup(Long id){
+        UserGroup userGroup = userMapper.getUserGroup(id.intValue());
         userMapper.delUserGroup(id);
+        messageLogService.delete("用户组", userGroup.getUserGroupName(), BaseContextHolder.getUserName(), "删除用户组");
         return new RepEntity(RepCode.success);
     }