Parcourir la source

用户角色门店类型处理,用户存在用户角色定期处理

njs il y a 3 mois
Parent
commit
6a7da3084f

+ 9 - 1
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/ShopUserTypeComponent.java

@@ -106,7 +106,7 @@ public class ShopUserTypeComponent {
             String dateString = userShopExtMapper.searchRunTime();
             // 截取前3位毫秒数
             String truncatedDate = dateString.substring(0, dateString.lastIndexOf('.') + 4);
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
             Date date = sdf.parse(truncatedDate);
             String runTime = sdf.format(date);
             //获取上次同步时间进行增量同步
@@ -238,6 +238,7 @@ public class ShopUserTypeComponent {
                     SysUser userVoExt = sysUserMapper.selectUserByLoginName(loginName);
                     // 新增用户与角色管理
                     user.setUserId(userVoExt.getUserId());
+                    user.setShopType(usertype);
                     sysUserService.insertShopUserRole(user);
                     /**======== 构建门店用户扩展信息表 start===============*/
                     SysUserShopExt shopExt = new SysUserShopExt();
@@ -283,6 +284,13 @@ public class ShopUserTypeComponent {
                         //用户id
                         shopExt.setUserId(user.getUserId().toString());
                         userShopExtMapper.insertSysUserShopExt(shopExt);
+                        //去掉该用户和角色的关联关系
+                        userRoleMapper.deleteUserRoleByUserIdAndExt(user.getUserId(),roleId,usertype);
+                        user.setRoleId(roleId);
+                        user.setUserId(user.getUserId());
+                        user.setShopType(usertype);
+                        sysUserService.insertShopUserRole(user);
+
                     }
                 }
             }catch (Exception e){

+ 10 - 0
suishenbang-system/src/main/java/com/dgtly/system/domain/SysUser.java

@@ -145,8 +145,18 @@ public class SysUser extends BaseEntity
     //门店账号标识 1门店账号 0非门店账号
     private String  isShopAccount;
 
+    private String shopType;
+
     public String getQuit(){return  quit;}
 
+    public String getShopType() {
+        return shopType;
+    }
+
+    public void setShopType(String shopType) {
+        this.shopType = shopType;
+    }
+
     public String getIsShopAccount() {
         return isShopAccount;
     }

+ 12 - 2
suishenbang-system/src/main/java/com/dgtly/system/domain/SysUserRole.java

@@ -5,17 +5,19 @@ import org.apache.commons.lang3.builder.ToStringStyle;
 
 /**
  * 用户和角色关联 sys_user_role
- * 
+ *
  * @author dgtly
  */
 public class SysUserRole
 {
     /** 用户ID */
     private Long userId;
-    
+
     /** 角色ID */
     private Long roleId;
 
+    private String shopType;
+
     public Long getUserId()
     {
         return userId;
@@ -26,6 +28,14 @@ public class SysUserRole
         this.userId = userId;
     }
 
+    public String getShopType() {
+        return shopType;
+    }
+
+    public void setShopType(String shopType) {
+        this.shopType = shopType;
+    }
+
     public Long getRoleId()
     {
         return roleId;

+ 3 - 0
suishenbang-system/src/main/java/com/dgtly/system/service/impl/SysUserServiceImpl.java

@@ -319,6 +319,9 @@ public class SysUserServiceImpl implements ISysUserService
             SysUserRole ur = new SysUserRole();
             ur.setUserId(user.getUserId());
             ur.setRoleId(user.getRoleId());
+            if(user.getShopType() != null){
+                ur.setShopType(user.getShopType());
+            }
             list.add(ur);
             if (list.size() > 0) {
                 userRoleMapper.batchUserRole(list);

+ 10 - 3
suishenbang-system/src/main/resources/mapper/system/SysUserRoleMapper.xml

@@ -25,12 +25,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  	</delete>
 
 	<insert id="batchUserRole">
-		insert into sys_user_role(user_id, role_id) values
+		insert into sys_user_role(user_id, role_id, shop_type) values
 		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.userId},#{item.roleId})
+			(#{item.userId},#{item.roleId},#{item.shopType})
 		</foreach>
 	</insert>
 
+
 	<delete id="deleteUserRoleInfo" parameterType="SysUserRole">
 		delete from sys_user_role where 1=1
 		<if test="userId !=null and userId !='' ">
@@ -50,6 +51,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</delete>
 
 	<delete id="deleteUserRoleByUserIdAndExt">
-		delete from sys_user_role where user_id=#{userId} and role_id=#{roleId} and shop_type=#{shopType}
+		delete from sys_user_role
+		       where user_id=#{userId}
+		         and role_id=#{roleId}
+		        <if test="shopType !=null">
+					and shop_type=#{shopType}
+				</if>
+
 	</delete>
 </mapper>