Sfoglia il codice sorgente

增加upms接口服务

shuzheng 9 anni fa
parent
commit
05ceee68f8

+ 20 - 0
zheng-upms/zheng-upms-rpc-api/src/main/java/com/zheng/upms/rpc/api/UpmsApiService.java

@@ -0,0 +1,20 @@
+package com.zheng.upms.rpc.api;
+
+import com.zheng.upms.dao.model.UpmsPermission;
+
+import java.util.List;
+
+/**
+ * upms系统接口
+ * Created by shuzheng on 2017/2/11.
+ */
+public interface UpmsApiService {
+
+    /**
+     * 根据用户id获取所拥有的权限
+     * @param upmsUserId
+     * @return
+     */
+    List<UpmsPermission> selectUpmsPermissionByUpmsUserId(Integer upmsUserId);
+
+}

+ 17 - 0
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/dao/mapper/UpmsApiMapper.java

@@ -0,0 +1,17 @@
+package com.zheng.upms.dao.mapper;
+
+
+import com.zheng.upms.dao.model.UpmsPermission;
+
+import java.util.List;
+
+/**
+ * 用户VOMapper
+ * Created by shuzheng on 2017/01/07.
+ */
+public interface UpmsApiMapper {
+
+	// 根据用户id获取所拥有的权限
+	List<UpmsPermission> selectUpmsPermissionByUpmsUserId(Integer upmsUserId);
+	
+}

+ 41 - 0
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/dao/mapper/UpmsApiMapper.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zheng.upms.dao.mapper.UpmsApiMapper">
+
+	<!-- 结果映射关系 -->
+	<resultMap id="UpmsPermissionResultMap" type="com.zheng.upms.dao.model.UpmsPermission">
+		<id column="permission_id" jdbcType="INTEGER" property="permissionId" />
+		<result column="system_id" jdbcType="INTEGER" property="systemId" />
+		<result column="pid" jdbcType="INTEGER" property="pid" />
+		<result column="name" jdbcType="VARCHAR" property="name" />
+		<result column="type" jdbcType="TINYINT" property="type" />
+		<result column="permission_value" jdbcType="VARCHAR" property="permissionValue" />
+		<result column="uri" jdbcType="VARCHAR" property="uri" />
+		<result column="icon" jdbcType="VARCHAR" property="icon" />
+		<result column="status" jdbcType="TINYINT" property="status" />
+		<result column="ctime" jdbcType="BIGINT" property="ctime" />
+		<result column="orders" jdbcType="BIGINT" property="orders" />
+	</resultMap>
+
+	<!-- 字段 -->
+	<sql id="Base_Column_List">
+		permission_id, system_id, pid, name, type, permission_value, uri, icon, status, ctime, orders
+	</sql>
+
+	<!-- 根据用户获取所拥有的权限 -->
+	<select id="selectUpmsPermissionByUpmsUserId" parameterType="java.lang.Integer" resultMap="UpmsPermissionResultMap">
+		select
+			<include refid="Base_Column_List" />
+		from upms_permission up where up.permission_id in (
+			select permission_id from upms_role_permission urp where urp.role_id in (
+				select uur.role_id role_id from upms_user_role uur where uur.user_id=#{upmsUserId,jdbcType=INTEGER}
+			)
+			union
+			select permission_id from upms_user_permission uup where uup.user_id=#{upmsUserId,jdbcType=INTEGER}
+		)
+	</select>
+
+	<!-- 缓存 -->
+	<cache type="org.mybatis.caches.ehcache.LoggingEhcache" />
+
+</mapper>

+ 54 - 0
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service/impl/UpmsApiServiceImpl.java

@@ -0,0 +1,54 @@
+package com.zheng.upms.rpc.service.impl;
+
+import com.zheng.upms.dao.mapper.UpmsApiMapper;
+import com.zheng.upms.dao.mapper.UpmsUserMapper;
+import com.zheng.upms.dao.mapper.UserVOMapper;
+import com.zheng.upms.dao.model.UpmsPermission;
+import com.zheng.upms.dao.model.UpmsUser;
+import com.zheng.upms.rpc.api.UpmsApiService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 用户service实现
+ * Created by shuzheng on 2016/01/19.
+ */
+@Service
+@Transactional
+public class UpmsApiServiceImpl implements UpmsApiService {
+
+    private static Logger _log = LoggerFactory.getLogger(UpmsApiServiceImpl.class);
+
+    @Autowired
+    UpmsUserMapper upmsUserMapper;
+
+    @Autowired
+    UpmsApiMapper upmsApiMapper;
+
+    @Autowired
+    UserVOMapper userVOMapper;
+
+    /**
+     * 根据用户id获取所拥有的权限
+     * @param upmsUserId
+     * @return
+     */
+    @Override
+    public List<UpmsPermission> selectUpmsPermissionByUpmsUserId(Integer upmsUserId) {
+        // 用户不存在或锁定状态
+        UpmsUser upmsUser = upmsUserMapper.selectByPrimaryKey(upmsUserId);
+        if (null == upmsUser || 1 == upmsUser.getLocked()) {
+            _log.info("根据用户id获取所拥有的权限,用户不存在或锁定状态:upmsUserId={}", upmsUserId);
+            return null;
+        }
+        // 根据用户查询所拥有所有权限
+        List<UpmsPermission> upmsPermissions = upmsApiMapper.selectUpmsPermissionByUpmsUserId(upmsUserId);
+        return upmsPermissions;
+    }
+
+}

+ 4 - 0
zheng-upms/zheng-upms-rpc-service/src/main/resources/applicationContext-dubbo-provider.xml

@@ -33,4 +33,8 @@
     <bean id="upmsPermissionService" class="com.zheng.upms.rpc.service.impl.UpmsPermissionServiceImpl"/>
     <dubbo:service interface="com.zheng.upms.rpc.api.UpmsPermissionService" ref="upmsPermissionService"/>
 
+    <!-- 接口服务 -->
+    <bean id="upmsApiService" class="com.zheng.upms.rpc.service.impl.UpmsApiServiceImpl"/>
+    <dubbo:service interface="com.zheng.upms.rpc.api.UpmsApiService" ref="upmsApiService"/>
+
 </beans>

+ 1 - 1
zheng-upms/zheng-upms-server/src/main/java/com/zheng/upms/server/controller/SSOController.java

@@ -142,7 +142,7 @@ public class SSOController extends BaseController {
 		Subject subject = SecurityUtils.getSubject();
 		UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(username, password);
 		try {
-			usernamePasswordToken.setRememberMe(true);
+			//usernamePasswordToken.setRememberMe(false);
 			subject.login(usernamePasswordToken);
 		} catch (UnknownAccountException e) {
 			result.put("result", false);

+ 2 - 0
zheng-upms/zheng-upms-server/src/main/resources/applicationContext-dubbo-consumer.xml

@@ -24,5 +24,7 @@
 	<dubbo:reference id="upmsRoleService" interface="com.zheng.upms.rpc.api.UpmsRoleService" />
 	<!-- 权限 -->
 	<dubbo:reference id="upmsPermissionService" interface="com.zheng.upms.rpc.api.UpmsPermissionService" />
+	<!-- 接口服务 -->
+	<dubbo:reference id="upmsApiService" interface="com.zheng.upms.rpc.api.UpmsApiService" />
 
 </beans>