diff --git a/src/main/java/com/kiisoo/ic/system/mapper/PrivilageAccountDOMapper.java b/src/main/java/com/kiisoo/ic/system/mapper/PrivilageAccountDOMapper.java index 4abb69d..5e45835 100644 --- a/src/main/java/com/kiisoo/ic/system/mapper/PrivilageAccountDOMapper.java +++ b/src/main/java/com/kiisoo/ic/system/mapper/PrivilageAccountDOMapper.java @@ -45,4 +45,23 @@ public interface PrivilageAccountDOMapper extends BaseMapper int deleteByUserId(@Param("userId") long userId); + /** + * 根据搜索内容和角色查询账号id + * @param searchContent 搜索内容 + * @param roleId 角色id + * @param companyId 零售公司ID + * @return 账号id集合 + * @author dexiang.jiang + * @date 2020/05/18 19:55 + */ + List selectAccountIdByRoleAndSearchContentAndYY(@Param("searchContent") String searchContent, @Param("roleId") Long roleId, @Param("companyId") Long companyId); + + /** + * 根据用户ID查询对应的零售公司 + * @param userId 搜索内容 + * @return 账号id集合 + * @author dexiang.jiang + * @date 2020/05/20 10:36 + */ + List selectCompanyNameAndCodeByRoleId(@Param("userId") Long userId); } diff --git a/src/main/java/com/kiisoo/ic/system/service/impl/PrivilageAccountServiceImpl.java b/src/main/java/com/kiisoo/ic/system/service/impl/PrivilageAccountServiceImpl.java index 9e30d4a..86c5792 100644 --- a/src/main/java/com/kiisoo/ic/system/service/impl/PrivilageAccountServiceImpl.java +++ b/src/main/java/com/kiisoo/ic/system/service/impl/PrivilageAccountServiceImpl.java @@ -130,7 +130,25 @@ public class PrivilageAccountServiceImpl extends ServiceImpl accountIds = privilageAccountDOMapper.selectAccountIdByRoleAndSearchContent(searchContent, roleId, companyId, shopId); + List accountIds = new ArrayList<>(); + // 运营人员角色 + if(roleId.equals(3L)){ + accountIds = privilageAccountDOMapper.selectAccountIdByRoleAndSearchContentAndYY(searchContent, roleId, companyId); + } else { + accountIds = privilageAccountDOMapper.selectAccountIdByRoleAndSearchContent(searchContent, roleId, companyId, shopId); + if(CollectionUtils.isNotEmpty(accountIds)){ + for (int i = 0; i < accountIds.size(); i++) { + AccountBean item = accountIds.get(i); + if(item.getRoleId().equals(3L)){ + List itemList = privilageAccountDOMapper.selectCompanyNameAndCodeByRoleId(item.getUserId()); + if(CollectionUtils.isNotEmpty(itemList)){ + accountIds.get(i).setCompanyName(itemList.get(0).getCompanyName()); + accountIds.get(i).setCompanyCode(itemList.get(0).getCompanyCode()); + } + } + } + } + } return new PageInfo<>(accountIds); } diff --git a/src/main/resources/mapper/PrivilageAccountDOMapper.xml b/src/main/resources/mapper/PrivilageAccountDOMapper.xml index 5429c28..a31ebbb 100644 --- a/src/main/resources/mapper/PrivilageAccountDOMapper.xml +++ b/src/main/resources/mapper/PrivilageAccountDOMapper.xml @@ -12,7 +12,7 @@ + + select t10.name as companyName,t10.code as companyCode + from privilage_account t1 + join privilage_user t2 on t1.user_id = t2.id and t1.type = 1 + join privilage_user_role t3 on t2.id = t3.user_id + join privilage_role t4 on t3.role_id = t4.id + join privilage_organizational_member pom on pom.user_id = t2.id + join privilage_organizational t10 on t10.id = pom.org_id and t10.`level` = 2 + WHERE t2.id = #{userId} +