Parcourir la source

Merge branch 'master' of hyq/kmall-pt into master

黄亚琴 il y a 6 ans
Parent
commit
8113e78069

+ 10 - 0
kmall-admin/src/main/java/com/kmall/admin/fromcomm/entity/SysUserEntity.java

@@ -94,6 +94,16 @@ public class SysUserEntity
 
     private String storeName;
 
+    private String roleName;
+
+    public String getRoleName() {
+        return roleName;
+    }
+
+    public void setRoleName(String roleName) {
+        this.roleName = roleName;
+    }
+
     public String getStoreName() {
         return storeName;
     }

+ 6 - 1
kmall-admin/src/main/java/com/kmall/admin/fromcomm/service/impl/SysUserServiceImpl.java

@@ -1,6 +1,7 @@
 package com.kmall.admin.fromcomm.service.impl;
 
 import com.google.common.collect.ImmutableBiMap;
+import com.kmall.admin.utils.ShiroUtils;
 import com.kmall.common.Global;
 import com.kmall.admin.fromcomm.dao.SysUserDao;
 import com.kmall.admin.fromcomm.entity.SysUserEntity;
@@ -171,11 +172,12 @@ public class SysUserServiceImpl implements SysUserService {
         } else {
             user.setPassword(new Sha256Hash(user.getPassword()).toHex());
         }
-        sysUserDao.update(user);
 
         //检查角色是否越权
         checkRole(user);
 
+        sysUserDao.update(user);
+
         //保存用户与角色关系
         sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleId());
     }
@@ -200,6 +202,9 @@ public class SysUserServiceImpl implements SysUserService {
      */
     private void checkRole(SysUserEntity user) {
         //如果不是超级管理员,则需要判断用户的角色是否自己创建
+        if (Dict.roleType.item_1.getItem().equalsIgnoreCase(ShiroUtils.getUserEntity().getRoleType())) {
+            return;
+        }
         if (user.getCreateUserId() == Constant.SUPER_ADMIN) {
             return;
         }

+ 8 - 7
kmall-admin/src/main/resources/mybatis/mapper/SysUserDao.xml

@@ -16,12 +16,13 @@
 		SELECT
 		u.*,
 		( SELECT d.NAME FROM sys_dept d WHERE d.dept_id = u.dept_id ) deptName,m.merch_name merchName,s.store_name storeName,
-		ur.role_id
+		ur.role_id,r.role_name roleName
 		FROM
 		sys_user u
 		LEFT JOIN sys_user_role ur ON u.user_id = ur.user_id
 		left join mall_merch m on m.merch_sn = u.merch_sn
 		left join mall_store s on s.id = u.store_id
+		left join sys_role r on r.role_id = ur.role_id
 		<where>
 			<if test="createUserId != null">
 				and `create_user_id` = #{createUserId} 
@@ -120,15 +121,15 @@
 			<if test="mobile != null">`mobile` = #{mobile}, </if>
 			<if test="status != null">`status` = #{status}, </if>
 			<if test="deptId != null">`dept_id` = #{deptId}, </if>
-			<if test="storeId != null">`store_id` = #{storeId}, </if>
-			<if test="merchSn != null">`merch_sn` = #{merchSn}, </if>
-			<if test="thirdPartyMerchCode != null">`third_party_merch_code` = #{thirdPartyMerchCode}, </if>
+			`store_id` = #{storeId},
+			`merch_sn` = #{merchSn},
+			`third_party_merch_code` = #{thirdPartyMerchCode},
 			<if test="roleType != null">`role_type` = #{roleType}, </if>
 		</set>
 		where user_id = #{userId} 
-		<if test="createUserId != null">
-			and `create_user_id` = #{createUserId} 
-		</if>
+		<!--<if test="createUserId != null">-->
+			<!--and `create_user_id` = #{createUserId} -->
+		<!--</if>-->
 	</update>
 	
 	<update id="updatePassword" parameterType="map">

+ 22 - 0
kmall-admin/src/main/webapp/js/sys/user.js

@@ -32,6 +32,22 @@ $(function () {
                     }
                 }
             },
+            {label: '所属角色', name: 'roleName', width: 75},
+            {label: '角色类型', name: 'roleType', width: 75,
+                formatter: function (value) {
+                    if (value == '1') {
+                        return '操作员';
+                    }else if (value == '2') {
+                        return '店员';
+                    }else if (value == '3') {
+                        return '一级商户';
+                    }else if (value == '4') {
+                        return '第三方商户';
+                    }else {
+                        return value;
+                    }
+                }
+            },
             {label: '邮箱', name: 'email', width: 90},
             {label: '手机号', name: 'mobile', width: 100},
             {
@@ -146,6 +162,9 @@ var vm = new Vue({
                vm.isMerchShow = false;
                vm.isStoreShow = false;
                vm.isThirdMerchShow = false;
+               vm.user.merchSn = '';
+               vm.user.storeId = '';
+               vm.user.thirdPartyMerchCode = '';
            }
            if(value == 2){//店员
                vm.isMerchShow = true;
@@ -156,11 +175,14 @@ var vm = new Vue({
                 vm.isMerchShow = true;
                 vm.isThirdMerchShow = false;
                 vm.isStoreShow = false;
+                vm.user.storeId = '';
+                vm.user.thirdPartyMerchCode = '';
             }
             if(value == 4){//第三方商户
                 vm.isMerchShow = true;
                 vm.isThirdMerchShow = true;
                 vm.isStoreShow = false;
+                vm.user.storeId = '';
             }
         },
         getStoreList: function() {