Ver código fonte

查询员工角色

wuxw 3 anos atrás
pai
commit
7cab9d2bdf

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/privilegeUser/PrivilegeUserDto.java

@@ -22,6 +22,7 @@ public class PrivilegeUserDto extends PageDto implements Serializable {
     private String storeId;
     private String userId;
     private String userName;
+    private String roleName;
 
 
     private Date createTime;
@@ -94,4 +95,12 @@ public class PrivilegeUserDto extends PageDto implements Serializable {
     public void setUserName(String userName) {
         this.userName = userName;
     }
+
+    public String getRoleName() {
+        return roleName;
+    }
+
+    public void setRoleName(String roleName) {
+        this.roleName = roleName;
+    }
 }

+ 9 - 0
java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml

@@ -19,7 +19,13 @@
     <select id="getPrivilegeUserInfo" parameterType="Map" resultType="Map">
         select t.privilege_flag,t.privilege_flag privilegeFlag,t.pu_id,t.pu_id puId,t.p_id,t.p_id
         pId,t.status_cd,t.status_cd statusCd,t.store_id,t.store_id storeId,t.user_id,t.user_id userId
+        <if test='privilegeFlag == "1"  and userId != null and userId != ""'>
+        ,pg.`name` roleName
+        </if>
         from p_privilege_user t
+        <if test='privilegeFlag == "1"  and userId != null and userId != ""'>
+        left join p_privilege_group pg on t.p_id = pg.pg_id  and pg.status_cd = '0'
+        </if>
         where 1 =1
         <if test="privilegeFlag !=null and privilegeFlag != ''">
             and t.privilege_flag= #{privilegeFlag}
@@ -76,6 +82,9 @@
     <select id="queryPrivilegeUsersCount" parameterType="Map" resultType="Map">
         select count(1) count
         from p_privilege_user t
+        <if test='privilegeFlag == "1"  and userId != null and userId != ""'>
+            left join p_privilege_group pg on t.p_id = pg.pg_id  and pg.status_cd = '0'
+        </if>
         where 1 =1
         <if test="privilegeFlag !=null and privilegeFlag != ''">
             and t.privilege_flag= #{privilegeFlag}

+ 104 - 0
service-user/src/main/java/com/java110/user/cmd/user/ListStaffRolesCmd.java

@@ -0,0 +1,104 @@
+package com.java110.user.cmd.user;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.org.OrgDto;
+import com.java110.dto.org.OrgStaffRelDto;
+import com.java110.dto.privilegeUser.PrivilegeUserDto;
+import com.java110.dto.roleCommunity.RoleCommunityDto;
+import com.java110.intf.store.IOrgStaffRelV1InnerServiceSMO;
+import com.java110.intf.user.IOrgV1InnerServiceSMO;
+import com.java110.intf.user.IPrivilegeUserV1InnerServiceSMO;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
+import com.java110.vo.api.community.ApiCommunityDataVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Java110Cmd(serviceCode = "user.listStaffRoles")
+public class ListStaffRolesCmd extends Cmd {
+
+    @Autowired
+    private IPrivilegeUserV1InnerServiceSMO privilegeUserV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IOrgV1InnerServiceSMO orgV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        Assert.hasKeyAndValue(reqJson, "staffId", "未包含 员工信息");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+
+        String storeId = context.getReqHeaders().get("store-id");
+        Assert.hasLength(storeId, "未包含商户信息");
+
+        PrivilegeUserDto privilegeUserDto = BeanConvertUtil.covertBean(reqJson, PrivilegeUserDto.class);
+        privilegeUserDto.setUserId(reqJson.getString("staffId"));
+        privilegeUserDto.setPrivilegeFlag(PrivilegeUserDto.PRIVILEGE_FLAG_GROUP);
+        int count = privilegeUserV1InnerServiceSMOImpl.queryPrivilegeUsersCount(privilegeUserDto);
+        List<PrivilegeUserDto> roles = null;
+        if (count > 0) {
+            roles = privilegeUserV1InnerServiceSMOImpl.queryPrivilegeUsers(privilegeUserDto);
+
+        } else {
+            roles = new ArrayList<>();
+        }
+        ResultVo resultVo = new ResultVo(1, roles.size(), roles);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        context.setResponseEntity(responseEntity);
+
+
+    }
+
+    private void freshOrgName(List<OrgDto> orgDtos, List<OrgStaffRelDto> orgStaffRels) {
+
+        for (OrgStaffRelDto orgStaffRelDto : orgStaffRels) {
+            orgStaffRelDto.setParentOrgId(orgStaffRelDto.getOrgId());
+            findParents(orgStaffRelDto, orgDtos, null);
+        }
+    }
+
+    private void findParents(OrgStaffRelDto orgStaffRelDto, List<OrgDto> orgDtos, OrgDto curOrgDto) {
+        for (OrgDto orgDto : orgDtos) {
+            if (!orgStaffRelDto.getParentOrgId().equals(orgDto.getOrgId())) { // 他自己跳过
+                continue;
+            }
+            orgStaffRelDto.setParentOrgId(orgDto.getParentOrgId());
+            curOrgDto = orgDto;
+            if (StringUtil.isEmpty(orgStaffRelDto.getOrgName())) {
+                orgStaffRelDto.setOrgName(orgDto.getOrgName() );
+                continue;
+            }
+            orgStaffRelDto.setOrgName(orgDto.getOrgName() + " / " + orgStaffRelDto.getOrgName());
+        }
+
+        if (curOrgDto != null && OrgDto.ORG_LEVEL_STORE.equals(curOrgDto.getOrgLevel())) {
+            return;
+        }
+
+        if (curOrgDto != null && curOrgDto.getParentOrgId().equals(curOrgDto.getOrgId())) {
+            return;
+        }
+
+        if (curOrgDto != null && "-1".equals(curOrgDto.getParentOrgId())) {
+            return;
+        }
+
+        findParents(orgStaffRelDto, orgDtos, curOrgDto);
+    }
+}