hanfucheng 1 rok pred
rodič
commit
ca7c045dbb
27 zmenil súbory, kde vykonal 855 pridanie a 223 odobranie
  1. 4 8
      README.md
  2. 683 0
      datas/rs_report.sql
  3. 5 7
      src/main/java/com/ruisitech/bi/entity/bireport/Area.java
  4. 2 4
      src/main/java/com/ruisitech/bi/entity/frame/Role.java
  5. 5 7
      src/main/java/com/ruisitech/bi/entity/portal/ShareUrl.java
  6. 7 9
      src/main/java/com/ruisitech/bi/mapper/bireport/AreaMapper.java
  7. 2 4
      src/main/java/com/ruisitech/bi/mapper/frame/MenuMapper.java
  8. 6 8
      src/main/java/com/ruisitech/bi/mapper/frame/RoleMapper.java
  9. 3 5
      src/main/java/com/ruisitech/bi/mapper/portal/ShareUrlMapper.java
  10. 8 10
      src/main/java/com/ruisitech/bi/service/bireport/AreaService.java
  11. 1 3
      src/main/java/com/ruisitech/bi/service/frame/DaoHelperConfig.java
  12. 1 3
      src/main/java/com/ruisitech/bi/service/frame/DataControlConfig.java
  13. 1 3
      src/main/java/com/ruisitech/bi/service/frame/ExtServletConfig.java
  14. 10 12
      src/main/java/com/ruisitech/bi/service/frame/MenuService.java
  15. 17 19
      src/main/java/com/ruisitech/bi/service/frame/RoleService.java
  16. 2 7
      src/main/java/com/ruisitech/bi/service/frame/ShiroConfig.java
  17. 4 6
      src/main/java/com/ruisitech/bi/service/portal/ShareUrlService.java
  18. 1 3
      src/main/java/com/ruisitech/bi/util/HeadFilter.java
  19. 46 46
      src/main/java/com/ruisitech/bi/util/RSBIUtils.java
  20. 1 3
      src/main/java/com/ruisitech/bi/util/SqliteHelperImpl.java
  21. 5 5
      src/main/java/com/ruisitech/bi/web/app/AppMenuController.java
  22. 6 8
      src/main/java/com/ruisitech/bi/web/frame/MenuController.java
  23. 9 11
      src/main/java/com/ruisitech/bi/web/frame/RoleController.java
  24. 2 4
      src/main/java/com/ruisitech/bi/web/portal/QRCodeController.java
  25. 5 7
      src/main/java/com/ruisitech/bi/web/portal/ShareController.java
  26. 1 3
      src/main/java/com/ruisitech/ext/service/SpringBootDaoProvider.java
  27. 18 18
      src/main/resources/mybatis/userMapper.xml

+ 4 - 8
README.md

@@ -1,8 +1,7 @@
-# 睿思BI开源版-后端系统
-睿思BI开源版后端系统,基于Springboot构建,采用sqlite数据库,直接运行com.ruisitech.bi.RsbiOsApplication启动系统。<br/>
-⚠️ 此项目前端地址:https://github.com/ruisibi/rsbi-vue ⚠️<br/>
+# 首佳BI开源版-后端系统
+首佳BI开源版后端系统,基于Springboot构建。<br/>
 
-“睿思BI”商业智能系统是由[成都睿思商智科技有限公司](https://www.ruisitech.com)自主研发的企业数据分析系统。 开源版包含数据建模、数据报表、多维分析,权限管理等功能模块,方便用户快速建立一套易用,灵活、免费的数据平台,实现数据的快速分析及可视化。 <br>
+“首佳BI”商业智能系统是由[长春首佳科技有限公司]自主研发的企业数据分析系统。 开源版包含数据建模、数据报表、多维分析,权限管理等功能模块,方便用户快速建立一套易用,灵活、免费的数据平台,实现数据的快速分析及可视化。 <br>
 
 # 产品数据库配置:<br>
 sqlite:
@@ -50,9 +49,6 @@ mysql的备份文件在datas目录下,在mysql创建 rs_report数据库后,
 3.数据报表 <br>
 4.权限管理  <br>
 
-# 技术支持:<br/>
-请加QQ群 648548832, 此群为睿思bi技术交流。<br/>
-<p/>
 
 文档地址: http://www.ruisibi.cn/book.htm <br/>
 演示地址: http://bi.ruisitech.com/  <br/>
@@ -65,4 +61,4 @@ mysql的备份文件在datas目录下,在mysql创建 rs_report数据库后,
 多维分析<br/>
 ![1](https://www.ruisitech.com/img/kybpic1.jpg?v5)  <br/>
 数据报表<br/>
-![2](https://www.ruisitech.com/img/kybpic2.jpg?v3)  <br/>
+![2](https://www.ruisitech.com/img/kybpic2.jpg?v3)  <br/>

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 683 - 0
datas/rs_report.sql


+ 5 - 7
src/main/java/com/ruisitech/bi/entity/bireport/Area.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.entity.bireport;
 
@@ -11,7 +9,7 @@ import com.ruisitech.bi.entity.common.BaseEntity;
  * 地图地域对照表
  */
 public class Area extends BaseEntity {
-	
+
 	private Integer id;
 	private String provCode;
 	private String provName;
@@ -37,8 +35,8 @@ public class Area extends BaseEntity {
 	public void setCityName(String cityName) {
 		this.cityName = cityName;
 	}
-	
-	
+
+
 	public String getProvCode() {
 		return provCode;
 	}
@@ -65,6 +63,6 @@ public class Area extends BaseEntity {
 	}
 	@Override
 	public void validate() {
-		
+
 	}
 }

+ 2 - 4
src/main/java/com/ruisitech/bi/entity/frame/Role.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.entity.frame;
 
@@ -20,7 +18,7 @@ public class Role extends BaseEntity {
 	private String createUser;
 	private Integer ord;
 	private Integer userId; //角色所属用户ID
-	
+
 	public Integer getRoleId() {
 		return roleId;
 	}

+ 5 - 7
src/main/java/com/ruisitech/bi/entity/portal/ShareUrl.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.entity.portal;
 
@@ -17,11 +15,11 @@ public class ShareUrl extends BaseEntity {
     private Integer islogin;// 1true, 0 false
 
     private Integer yxq;//小时为单位, -1表示不限制
-    
+
     private Date crtdate;
-    
+
     private String reportId;
-    
+
     private Integer crtUser; //创建人
 
     private Integer rType; //类型,1 报表, 2 仪表盘
@@ -85,4 +83,4 @@ public class ShareUrl extends BaseEntity {
 		this.token = RSBIUtils.htmlEscape(this.token);
 		this.reportId = RSBIUtils.htmlEscape(this.reportId);
 	}
-}
+}

+ 7 - 9
src/main/java/com/ruisitech/bi/mapper/bireport/AreaMapper.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.mapper.bireport;
 
@@ -12,27 +10,27 @@ import java.util.List;
 import java.util.Map;
 
 public interface AreaMapper {
-	
+
 	List<Area> listCityByProvCode(@Param("code") String code);
-	
+
 	List<Area> listTownByCityCode(@Param("code") String code);
-	
+
 	/**
 	 * 查询省得编码,名称
 	 * @param name
 	 * @return
 	 */
 	Area getProvByName( @Param("name") String name);
-	
+
 	Area getCityByName( @Param("name") String name);
-	
+
 	/**
 	 * 查询所有省市
 	 * @param dbName
 	 * @return
 	 */
 	List<Map<String, Object>> listProvAndCitys(@Param("dbName") String dbName);
-	
+
 	Area getProvByCityCode(@Param("code") String code);
 
 }

+ 2 - 4
src/main/java/com/ruisitech/bi/mapper/frame/MenuMapper.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.mapper.frame;
 
@@ -14,7 +12,7 @@ import java.util.Map;
 
 @Mapper
 public interface MenuMapper {
-	
+
 	List<Menu> listUserMenus(@Param("userId") Integer userId);
 
 	/**

+ 6 - 8
src/main/java/com/ruisitech/bi/mapper/frame/RoleMapper.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.mapper.frame;
 
@@ -14,14 +12,14 @@ import java.util.Map;
 
 @Mapper
 public interface RoleMapper {
-	
+
 	List<Map<String, Object>> listRoleMenus(@Param("roleId") Integer roleId);
-	
+
 	List<Map<String, Object>> roledata(@Param("roleId") Integer roleId);
-	
+
 	List<Role> list(@Param("keyword") String keyword);
-	
+
 	List<Role> listUserRole(@Param("userId") Integer userId);
-	
+
 	Role getById(@Param("roleId") Integer roleId);
 }

+ 3 - 5
src/main/java/com/ruisitech/bi/mapper/portal/ShareUrlMapper.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.mapper.portal;
 
@@ -9,7 +7,7 @@ import com.ruisitech.bi.entity.portal.ShareUrl;
 import org.apache.ibatis.annotations.Param;
 
 public interface ShareUrlMapper {
-	
+
     int deleteByPrimaryKey(@Param("token") String token);
 
     int insert(ShareUrl record);
@@ -17,4 +15,4 @@ public interface ShareUrlMapper {
     ShareUrl selectByPrimaryKey(@Param("token") String token);
 
     int updateByPrimaryKey(ShareUrl record);
-}
+}

+ 8 - 10
src/main/java/com/ruisitech/bi/service/bireport/AreaService.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.service.bireport;
 
@@ -19,29 +17,29 @@ public class AreaService {
 
 	@Autowired
 	private AreaMapper mapper;
-	
+
 	private String dbName = RSBIUtils.getConstant("dbName");
-	
+
 	public Area getProvByCityCode(String name){
 		return mapper.getProvByCityCode(name);
 	}
-	
+
 	public Area getProvByName(String name){
 		return mapper.getProvByName(name);
 	}
-	
+
 	public Area getCityByName(String name) {
 		return mapper.getCityByName( name);
 	}
-	
+
 	public List<Area> listCityByProvCode(String code){
 		return mapper.listCityByProvCode(code);
 	}
-	
+
 	public List<Area> listTownByCityCode(String code){
 		return mapper.listTownByCityCode(code);
 	}
-	
+
 	public List<Map<String, Object>> listProvAndCitys(){
 		return mapper.listProvAndCitys(dbName);
 	}

+ 1 - 3
src/main/java/com/ruisitech/bi/service/frame/DaoHelperConfig.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.service.frame;
 

+ 1 - 3
src/main/java/com/ruisitech/bi/service/frame/DataControlConfig.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.service.frame;
 

+ 1 - 3
src/main/java/com/ruisitech/bi/service/frame/ExtServletConfig.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.service.frame;
 

+ 10 - 12
src/main/java/com/ruisitech/bi/service/frame/MenuService.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.service.frame;
 
@@ -28,10 +26,10 @@ import java.util.stream.Collectors;
 
 @Service
 public class MenuService {
-	
+
 	@Autowired
 	private MenuMapper mapper;
-	
+
 	@Autowired
 	private DaoHelper daoHelper;
 
@@ -72,11 +70,11 @@ public class MenuService {
 		}
 		return ret;
 	}
-	
+
 	public Menu getById(Integer menuId) {
 		return mapper.getById(menuId);
 	}
-	
+
 	public List<Map<String, Object>> listMenuByPid(Integer pid){
 		List<Map<String, Object>> ls = mapper.listMenuByPid(pid);
 		for(Map<String, Object> dt : ls) {
@@ -89,7 +87,7 @@ public class MenuService {
 		}
 		return ls;
 	}
-	
+
 	public void saveMenu(Menu m) {
 		String idSql = "select max(menu_id) from sc_menu";
 		Integer maxId = (Integer)daoHelper.queryForObject(idSql, Integer.class);
@@ -126,13 +124,13 @@ public class MenuService {
 				ps.setString(1, menu.getMenuName());
 				ps.setString(4, menu.getMenuUrl());
 				ps.setString(5, menu.getAvatar());
-				ps.setInt(6, menu.getMenuId());	
+				ps.setInt(6, menu.getMenuId());
 				ps.executeUpdate();
 				return null;
 			}
 		});
 	}
-	
+
 	@Transactional(rollbackFor = Exception.class)
 	public Result deleteMenu(Integer id) {
 		Result r = new Result();
@@ -143,10 +141,10 @@ public class MenuService {
 			r.setMsg("该菜单下可能含有子菜单,不能删除。");
 			return r;
 		}
-		
+
 		String sql = "delete from sc_menu where menu_id = "+id;
 		daoHelper.execute(sql);
-		
+
 		//删除菜单角色关系
 		daoHelper.execute("delete from role_menu_rela where menu_id = " + id);
 		//删除菜单用户关系

+ 17 - 19
src/main/java/com/ruisitech/bi/service/frame/RoleService.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.service.frame;
 
@@ -30,10 +28,10 @@ import java.util.Map;
  */
 @Service
 public class RoleService {
-	
+
 	@Autowired
 	private RoleMapper mapper;
-	
+
 	@Autowired
 	private DaoHelper daoHelper;
 
@@ -51,7 +49,7 @@ public class RoleService {
 					state.put("selected", true);
 					m.put("state", state);
 				}
-				
+
 			}
 
 			@Override
@@ -63,7 +61,7 @@ public class RoleService {
 					m.put("icon", "fa fa-file-o");
 				}
 			}
-			
+
 		});
 		Map<String, Object> m = new HashMap<String, Object>();
 		m.put("id", "root");
@@ -72,7 +70,7 @@ public class RoleService {
 		m.put("children", ret);
 		return m;
 	}
-	
+
 	public List<Map<String, Object>> roledata(Integer roleId){
 		List<Map<String, Object>> datas = mapper.roledata(roleId);
 		TreeService tree = new TreeService();
@@ -94,15 +92,15 @@ public class RoleService {
 				attr.put("tp", tp);
 				m.put("li_attr", attr);
 			}
-			
+
 		});
 		return ret;
 	}
-	
+
 	public List<Role> list(String keyword){
 		return mapper.list(keyword);
 	}
-	
+
 	/**
 	 * 查询所有角色及用户所有的角色
 	 * @param userId
@@ -111,7 +109,7 @@ public class RoleService {
 	public List<Role> listUserRole(Integer userId){
 		return mapper.listUserRole(userId);
 	}
-	
+
 	@Transactional(rollbackFor = Exception.class)
 	public void addUserRole(List<Integer> roleIds, Integer userId) {
 		//删除角色
@@ -138,7 +136,7 @@ public class RoleService {
 			}
 		});
 	}
-	
+
 	public void updateRole(Role role) {
 		String sql = "update sc_role set role_name = ?,role_desc = ?, ord=? where role_id = ?";
 		daoHelper.execute(sql, new PreparedStatementCallback<Object>(){
@@ -152,7 +150,7 @@ public class RoleService {
 			}
 		});
 	}
-	
+
 	@Transactional(rollbackFor = Exception.class)
 	public void deleteRole(Integer id) {
 		String sql = "delete from sc_role where role_id = " + id ;
@@ -162,17 +160,17 @@ public class RoleService {
 		//删除角色用户关系
 		daoHelper.execute("delete from role_user_rela where role_id = " + id);
 	}
-	
+
 	public Role getRole(Integer id) {
 		return mapper.getById(id);
 	}
-	
+
 	@Transactional(rollbackFor = Exception.class)
 	public void roleMenu(String menuIds, Integer roleId) {
 		//删除以前数据
 		String delSql = "delete from role_menu_rela where role_id = " + roleId;
 		daoHelper.execute(delSql);
-		
+
 		String[] ids = menuIds.split(",");//处理获取的菜单ID格式
 		String sql = "insert into role_menu_rela(role_id, menu_id) values(?,?)";
 		for(final String tmp : ids){//这个循环用于循环插入授权数据
@@ -188,7 +186,7 @@ public class RoleService {
 			}
 		}
 	}
-	
+
 	@Transactional(rollbackFor = Exception.class)
 	public void roleDataSave(Integer roleId, String dataIds) {
 		//删除以前数据
@@ -208,7 +206,7 @@ public class RoleService {
 					ps.setInt(2, Integer.parseInt(data));
 					ps.executeUpdate();
 					return null;
-				}				
+				}
 			});
 		}
 	}

+ 2 - 7
src/main/java/com/ruisitech/bi/service/frame/ShiroConfig.java

@@ -1,22 +1,17 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.service.frame;
 
 import com.ruisitech.bi.service.portal.ShareUrlService;
+import org.apache.shiro.mgt.SecurityManager;
 import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
 import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.apache.shiro.mgt.DefaultSecurityManager;
-import org.apache.shiro.mgt.SecurityManager;
-
 
 import javax.servlet.Filter;
-import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
 

+ 4 - 6
src/main/java/com/ruisitech/bi/service/portal/ShareUrlService.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.service.portal;
 
@@ -21,12 +19,12 @@ import java.util.UUID;
  */
 @Service
 public class ShareUrlService {
-	
+
 	@Autowired
 	private ShareUrlMapper mapper;
 
 	private String sysUser = RSBIUtils.getConstant("sysUser");
-	
+
 	public void saveShareUrl(ShareUrl vo){
 		//生成token
 		String token = UUID.randomUUID().toString().replaceAll("-", "");
@@ -35,7 +33,7 @@ public class ShareUrlService {
 		vo.setToken(token);
 		mapper.insert(vo);
 	}
-	
+
 	public ShareUrl getByToken(String token){
 		return mapper.selectByPrimaryKey(token);
 	}

+ 1 - 3
src/main/java/com/ruisitech/bi/util/HeadFilter.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.util;
 

+ 46 - 46
src/main/java/com/ruisitech/bi/util/RSBIUtils.java

@@ -17,8 +17,8 @@ import java.security.NoSuchAlgorithmException;
 import java.util.*;
 
 public final class RSBIUtils {
-	
-	
+
+
 	/**
 	 * 给str加密md5。
 	 * @return
@@ -33,36 +33,36 @@ public final class RSBIUtils {
 	 * @param source
 	 * @return
 	 */
-	public static String getMD5(byte[] source) {  
-	    String s = null;  
-	    char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',  
-	            'a', 'b', 'c', 'd', 'e', 'f' };// 用来将字节转换成16进制表示的字符  
-	    try {  
-	        java.security.MessageDigest md = java.security.MessageDigest  
-	                .getInstance("MD5");  
-	        md.update(source);  
-	        byte tmp[] = md.digest();// MD5 的计算结果是一个 128 位的长整数,  
-	        // 用字节表示就是 16 个字节  
-	        char str[] = new char[16 * 2];// 每个字节用 16 进制表示的话,使用两个字符, 所以表示成 16  
-	        // 进制需要 32 个字符  
-	        int k = 0;// 表示转换结果中对应的字符位置  
-	        for (int i = 0; i < 16; i++) {// 从第一个字节开始,对 MD5 的每一个字节// 转换成 16  
-	            // 进制字符的转换  
-	            byte byte0 = tmp[i];// 取第 i 个字节  
-	            str[k++] = hexDigits[byte0 >>> 4 & 0xf];// 取字节中高 4 位的数字转换,// >>>  
-	            // 为逻辑右移,将符号位一起右移  
-	            str[k++] = hexDigits[byte0 & 0xf];// 取字节中低 4 位的数字转换  
+	public static String getMD5(byte[] source) {
+	    String s = null;
+	    char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+	            'a', 'b', 'c', 'd', 'e', 'f' };// 用来将字节转换成16进制表示的字符
+	    try {
+	        java.security.MessageDigest md = java.security.MessageDigest
+	                .getInstance("MD5");
+	        md.update(source);
+	        byte tmp[] = md.digest();// MD5 的计算结果是一个 128 位的长整数,
+	        // 用字节表示就是 16 个字节
+	        char str[] = new char[16 * 2];// 每个字节用 16 进制表示的话,使用两个字符, 所以表示成 16
+	        // 进制需要 32 个字符
+	        int k = 0;// 表示转换结果中对应的字符位置
+	        for (int i = 0; i < 16; i++) {// 从第一个字节开始,对 MD5 的每一个字节// 转换成 16
+	            // 进制字符的转换
+	            byte byte0 = tmp[i];// 取第 i 个字节
+	            str[k++] = hexDigits[byte0 >>> 4 & 0xf];// 取字节中高 4 位的数字转换,// >>>
+	            // 为逻辑右移,将符号位一起右移
+	            str[k++] = hexDigits[byte0 & 0xf];// 取字节中低 4 位的数字转换
 
-	        }  
-	        s = new String(str);// 换后的结果转换为字符串  
+	        }
+	        s = new String(str);// 换后的结果转换为字符串
 
-	    } catch (NoSuchAlgorithmException e) {  
-	        // TODO Auto-generated catch block  
-	        e.printStackTrace();  
-	    }  
-	    return s;  
+	    } catch (NoSuchAlgorithmException e) {
+	        // TODO Auto-generated catch block
+	        e.printStackTrace();
+	    }
+	    return s;
 	}
-	
+
 	/**
 	 * 获取ext-config中配置的变量。
 	 * @return
@@ -73,7 +73,7 @@ public final class RSBIUtils {
 	public static String getUUIDStr(){
 		return UUID.randomUUID().toString().replace("-","");
 	}
-	
+
 	public static String dealStringParam(List<String> vals){
 		if(vals == null){
 			return null;
@@ -102,7 +102,7 @@ public final class RSBIUtils {
 		}
 		return sb.toString();
 	}
-	
+
 	public static Map<String, String> getAllParams(HttpServletRequest req){
 		Map<String, String> dt = new HashMap<String, String>();
 		Enumeration<String> enu = req.getParameterNames();
@@ -112,7 +112,7 @@ public final class RSBIUtils {
 		}
 		return dt;
 	}
-	
+
 	public static boolean isShowMenu(String name, HttpServletRequest req){
 		JSONObject obj = (JSONObject)req.getAttribute("menuDisp");
 		if(obj == null){
@@ -128,12 +128,12 @@ public final class RSBIUtils {
 			return true;
 		}
 	}
-	
+
 	public static String getAppUserId(){
 		String uid = "";
 		return uid;
 	}
-	
+
 	public static SqlSession getSqlSession(ServletContext sctx){
 		SqlSession sqlSession=null;
 		WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(sctx);
@@ -141,19 +141,19 @@ public final class RSBIUtils {
 		sqlSession = sqlSessionFactory.openSession();
 		return sqlSession;
 	}
-	
+
 	public static void closeSqlSession(SqlSession sqlSession){
 		 if(sqlSession!=null){
              sqlSession.close();
          }
 	}
-	
+
 	public static User getLoginUserInfo(){
 		Subject us = SecurityUtils.getSubject();
 		User u = (User)us.getSession().getAttribute(ShiroDbRealm.SESSION_USER_KEY);
 		return u;
 	}
-	
+
 	/**
 	 * 生成导出html
 	 * @param body
@@ -163,11 +163,11 @@ public final class RSBIUtils {
 	 */
 	public static String htmlPage(String body, String host, String type){
 		StringBuffer sb = new StringBuffer();
-		
+
 		sb.append("<!DOCTYPE html>");
 		sb.append("<html lang=\"en\">");
 		sb.append("<head>");
-		sb.append("<title>睿思BI</title>");
+		sb.append("<title>首佳BI</title>");
 		sb.append("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0\">");
 		sb.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">");
 		sb.append("<script type=\"text/javascript\" src=\""+host+"/ext-res/js/jquery.min.js\"></script>");
@@ -189,15 +189,15 @@ public final class RSBIUtils {
 		sb.append(".inputtext {width:90px;}");
 		sb.append("</style>");
 		sb.append("<body class=\"gray-bg\">");
-	
+
 		sb.append(body);
-		
+
 		sb.append("</body>");
 		sb.append("</html>");
-		
+
 		return sb.toString();
 	}
-	
+
 	public static boolean exist(String id, String[] ids){
 		boolean exist = false;
 		for(String tid : ids){
@@ -208,9 +208,9 @@ public final class RSBIUtils {
 		}
 		return exist;
 	}
-	
+
 	/**
-	 * 将容易引起xss漏洞的半角字符直接替换成全角字符 在保证不删除数据的情况下保存 
+	 * 将容易引起xss漏洞的半角字符直接替换成全角字符 在保证不删除数据的情况下保存
 	 * @param value
 	 * @return
 	 */
@@ -226,7 +226,7 @@ public final class RSBIUtils {
         value = value.replaceAll("script", "");
         return value;
 	}
-	
+
 	 /**
      * Escape解码
      * @param src 加盐字符串

+ 1 - 3
src/main/java/com/ruisitech/bi/util/SqliteHelperImpl.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.util;
 

+ 5 - 5
src/main/java/com/ruisitech/bi/web/app/AppMenuController.java

@@ -20,7 +20,7 @@ public class AppMenuController {
 		List<Map<String, Object>> ls = new ArrayList<Map<String, Object>>();
 		String path = request.getContextPath();
 		String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
-		
+
 		Map<String, Object> m2 = new HashMap<String, Object>();
 		m2.put("id", 3);
 		m2.put("name", "手机报表");
@@ -28,18 +28,18 @@ public class AppMenuController {
 		m2.put("pic", "resource/img/3g/a4.png");
 		m2.put("url", "");
 		ls.add(m2);
-		
+
 		Map<String, Object> m6 = new HashMap<String, Object>();
 		m6.put("id", 5);
 		m6.put("name", "系统帮助");
-		m6.put("note", "睿思BI系统介绍,指导您正确使用本系统。");
+		m6.put("note", "首佳BI系统介绍,指导您正确使用本系统。");
 		m6.put("pic", "resource/img/3g/help.png");
 		m6.put("url", basePath + "app/Helper.action?token=");
 		ls.add(m6);
-		
+
 		return ls;
 	}
-	
+
 	@RequestMapping(value="/Helper.action")
 	public String helper() {
 		return "app/Helper";

+ 6 - 8
src/main/java/com/ruisitech/bi/web/frame/MenuController.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.web.frame;
 
@@ -23,33 +21,33 @@ public class MenuController extends BaseController {
 
 	@Autowired
 	private MenuService service;
-	
+
 	@RequestMapping(value="/menu/loadData.action")
 	public @ResponseBody
     Object loadData(Integer id) {
 		return super.buildSucces(service.listMenuByPid(id));
 	}
-	
+
 	@RequestMapping(value="/menu/save.action", method = RequestMethod.POST)
 	public @ResponseBody
     Object save(Menu menu) {
 		service.saveMenu(menu);
 		return super.buildSucces(menu.getMenuId());
 	}
-	
+
 	@RequestMapping(value="/menu/update.action", method = RequestMethod.POST)
 	public @ResponseBody
     Object update(Menu menu) {
 		service.updateMenu(menu);
 		return super.buildSucces();
 	}
-	
+
 	@RequestMapping(value="/menu/get.action")
 	public @ResponseBody
     Object getMenu(Integer menuId) {
 		return super.buildSucces(service.getById(menuId));
 	}
-	
+
 	@RequestMapping(value="/menu/delete.action")
 	public @ResponseBody
     Object delete(Integer menuId) {

+ 9 - 11
src/main/java/com/ruisitech/bi/web/frame/RoleController.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.web.frame;
 
@@ -29,10 +27,10 @@ import java.util.Map;
 @Controller
 @RequestMapping(value = "/frame")
 public class RoleController extends BaseController {
-	
+
 	@Autowired
 	private RoleService service;
-	
+
 	@RequestMapping(value="/role/list.action")
 	public @ResponseBody
     Object list(PageParam page) {
@@ -43,13 +41,13 @@ public class RoleController extends BaseController {
 		PageInfo<Role> pageInfo=new PageInfo<Role>(ls);
 		return super.buildSucces(pageInfo);
 	}
-	
+
 	@RequestMapping(value="/role/userRolelist.action")
 	public @ResponseBody
     Object userRolelist(Integer userId) {
 		return super.buildSucces(service.listUserRole(userId));
 	}
-	
+
 	@RequestMapping(value="/role/userRoleSave.action")
 	public @ResponseBody
     Object userRoleSave(@RequestBody Map<String, Object> pms) {
@@ -58,28 +56,28 @@ public class RoleController extends BaseController {
 		service.addUserRole(roles, userId);
 		return super.buildSucces();
 	}
-	
+
 	@RequestMapping(value="/role/save.action", method = RequestMethod.POST)
 	public @ResponseBody
     Object save(Role role) {
 		service.saveRole(role);
 		return super.buildSucces();
 	}
-	
+
 	@RequestMapping(value="/role/update.action", method = RequestMethod.POST)
 	public @ResponseBody
     Object update(Role role) {
 		service.updateRole(role);
 		return super.buildSucces();
 	}
-	
+
 	@RequestMapping(value="/role/delete.action")
 	public @ResponseBody
     Object delete(Integer roleId) {
 		service.deleteRole(roleId);
 		return super.buildSucces();
 	}
-	
+
 	@RequestMapping(value="/role/get.action")
 	public @ResponseBody
     Object getRole(Integer roleId) {

+ 2 - 4
src/main/java/com/ruisitech/bi/web/portal/QRCodeController.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.web.portal;
 
@@ -30,7 +28,7 @@ import java.util.Map;
 @Controller
 @RequestMapping(value = "/portal")
 public class QRCodeController {
-	
+
 	private static Logger log = Logger.getLogger(QRCodeController.class);
 
 	@RequestMapping(value = "/generateqrcode.action", method = RequestMethod.GET)

+ 5 - 7
src/main/java/com/ruisitech/bi/web/portal/ShareController.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.bi.web.portal;
 
@@ -25,14 +23,14 @@ import org.springframework.web.bind.annotation.ResponseBody;
 @Controller
 @RequestMapping(value = "/portal")
 public class ShareController extends BaseController {
-	
+
 	private static Logger log = Logger.getLogger(ShareController.class);
-	
 
-	
+
+
 	@Autowired
 	private ShareUrlService urlService;
-	
+
 	@RequestMapping(value="/copyUrl.action", method = RequestMethod.POST)
 	public @ResponseBody
     Object copyUrl(ShareUrl dto) {

+ 1 - 3
src/main/java/com/ruisitech/ext/service/SpringBootDaoProvider.java

@@ -1,7 +1,5 @@
 /*
- * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有
- * 用户不能删除系统源码上的版权信息, 使用许可证地址:
- * https://www.ruisitech.com/licenses/index.html
+ * Copyright 2018 本系统版权归长春首佳科技有限公司所有
  */
 package com.ruisitech.ext.service;
 

+ 18 - 18
src/main/resources/mybatis/userMapper.xml

@@ -14,16 +14,16 @@
 		<result column="state" property="state"/>
 		<result column="log_cnt" property="logCnt"/>
     </resultMap>
-    
+
     <select id="getUserByStaffId" resultMap="BaseResultMap" parameterType="java.lang.String">
 			select user_id, staff_id, log_date, login_name, password, gender,
-			mobilephone, email, officetel, state 
+			mobilephone, email, officetel, state
 			from sc_login_user where staff_id = #{staffId}
 	</select>
-	
+
 	 <select id="getUserById" resultMap="BaseResultMap" parameterType="java.lang.Integer">
 			select user_id, staff_id, log_date, login_name, gender, log_cnt,
-			mobilephone, email, officetel, state 
+			mobilephone, email, officetel, state
 			from sc_login_user where user_id = #{userId}
 	</select>
 
@@ -37,13 +37,13 @@
 		</if>
 		order by user_id
 	</select>
-    
+
     <update id="updateuser" parameterType="com.ruisitech.bi.entity.frame.User">
     	update sc_login_user set login_name=#{loginName},gender=#{gender},
 		mobilephone=#{mobilePhone},email=#{email},officetel=#{officeTel},staff_id=#{staffId}, state=#{state}
 		 where user_id=#{userId}
     </update>
-    
+
     <update id="updateLogDateAndCnt">
     	update sc_login_user set log_cnt = log_cnt + 1,
     	log_date =
@@ -55,10 +55,10 @@
 		</if>
     	where user_id=#{userId}
     </update>
-    
+
     <update id="insertuser" parameterType="com.ruisitech.bi.entity.frame.User">
     	insert into sc_login_user(
-		user_id, 
+		user_id,
 		login_name, password,gender,  mobilePhone, email, officeTel,DATE_START, STAFF_ID, STATE )
 		 values(
 		#{userId},
@@ -78,37 +78,37 @@
 		#{state}
 		)
     </update>
-    
+
     <select id="listUserMenus" resultType="java.util.HashMap" parameterType="java.lang.Integer">
 		 select a.menu_id "id",
 		 	   menu_pid "pid",
 		       menu_name "text",
 		      b.menu_id "id2",
 		       c.menu_id "id3"
-		  from sc_menu a left join 
+		  from sc_menu a left join
 		       (select distinct (m.menu_id)
 		          from sc_menu m, role_user_rela a, role_menu_rela b
 		         where a.role_id = b.role_id
 		           and b.menu_id = m.menu_id
-		           and a.user_id = #{userId} ) b on a.menu_id = b.menu_id           
+		           and a.user_id = #{userId} ) b on a.menu_id = b.menu_id
              left join
-		       (select r.menu_id from user_menu_rela r where r.user_id = #{userId} ) c on a.menu_id = c.menu_id 
+		       (select r.menu_id from user_menu_rela r where r.user_id = #{userId} ) c on a.menu_id = c.menu_id
 		 order by a.menu_order, a.menu_id
 	</select>
-	
+
 	<select id="checkPsd" resultType="java.lang.String" parameterType="java.lang.Integer">
 		select password from sc_login_user
-		where user_id=#{userId} 
+		where user_id=#{userId}
 	</select>
-	
+
 	<update id="modPsd" parameterType="com.ruisitech.bi.entity.frame.User">
 		update sc_login_user set password = #{password}
-		where user_id = #{userId} 
+		where user_id = #{userId}
 	</update>
-	
+
 	<select id="appUserinfo" resultType="java.util.HashMap" parameterType="java.lang.Integer">
 		select login_name "login_name", log_date "log_date", staff_id "staff_id", state "state", log_cnt "log_cnt",
-		 date_start "date_start", date_end "date_end", '成都睿思商智科技有限公司' as "company"
+		 date_start "date_start", date_end "date_end", '长春首佳科技有限公司' as "company"
 		from sc_login_user a
 		 where user_id = #{userId}
 	</select>