账号管理,添加搜索字段及表头加零售公司及编码

dev_0531
kevin jiang 6 years ago
parent 8d05d4e26e
commit b1e03b95d4

@ -73,6 +73,11 @@ public class AccountBean {
*/ */
private String companyName; private String companyName;
/**
*
*/
private String companyCode;
/** /**
* *
*/ */

@ -3,6 +3,7 @@ package com.kiisoo.ic.system.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.PageInfo;
import com.kiisoo.ic.common.BaseController; import com.kiisoo.ic.common.BaseController;
import com.kiisoo.ic.system.bean.AccountBean; import com.kiisoo.ic.system.bean.AccountBean;
import com.kiisoo.ic.system.bean.ImportAccountErrorBean; import com.kiisoo.ic.system.bean.ImportAccountErrorBean;
@ -52,10 +53,11 @@ public class PrivilageAccountController extends BaseController {
@RequestParam(value = "pageSize", required = false, defaultValue = "12") int pageSize, @RequestParam(value = "pageSize", required = false, defaultValue = "12") int pageSize,
@RequestParam(value = "searchContent", required = false) String searchContent, @RequestParam(value = "searchContent", required = false) String searchContent,
@RequestParam(value = "roleId", required = false) Long roleId, @RequestParam(value = "roleId", required = false) Long roleId,
@RequestParam(value = "companyId", required = false) Long companyId,
@RequestParam(value = "shopId", required = false) Long shopId) { @RequestParam(value = "shopId", required = false) Long shopId) {
try { try {
IPage<AccountBean> accountBeanIPage = privilageAccountService.listAccountInfo(pageNum, pageSize, searchContent, PageInfo<AccountBean> accountBeanIPage = privilageAccountService.listAccountInfo(pageNum, pageSize, searchContent,
roleId, shopId); roleId, companyId, shopId);
return data(accountBeanIPage); return data(accountBeanIPage);
} catch (Exception e) { } catch (Exception e) {
log.error("查询账号信息出错", e); log.error("查询账号信息出错", e);

@ -6,6 +6,7 @@ import com.kiisoo.ic.system.entity.PrivilageAccountDO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Set; import java.util.Set;
/** /**
@ -27,9 +28,13 @@ public interface PrivilageAccountDOMapper extends BaseMapper<PrivilageAccountDO>
* id * id
* @param searchContent * @param searchContent
* @param roleId id * @param roleId id
* @param companyId ID
* @param storeId ID
* @return id * @return id
* @author dexiang.jiang
* @date 2020/05/18 19:55
*/ */
Set<Long> selectAccountIdByRoleAndSearchContent(@Param("searchContent") String searchContent, @Param("roleId") Long roleId); List<AccountBean> selectAccountIdByRoleAndSearchContent(@Param("searchContent") String searchContent, @Param("roleId") Long roleId, @Param("companyId") Long companyId, @Param("storeId") Long storeId);
/** /**
* idid * idid

@ -2,6 +2,7 @@ package com.kiisoo.ic.system.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.kiisoo.ic.system.bean.AccountBean; import com.kiisoo.ic.system.bean.AccountBean;
import com.kiisoo.ic.system.bean.ImportAccountErrorBean; import com.kiisoo.ic.system.bean.ImportAccountErrorBean;
import com.kiisoo.ic.system.bean.ModifyAccountInput; import com.kiisoo.ic.system.bean.ModifyAccountInput;
@ -30,7 +31,7 @@ public interface PrivilageAccountService extends IService<PrivilageAccountDO> {
* @param shopId id * @param shopId id
* @return * @return
*/ */
IPage<AccountBean> listAccountInfo(int pageNum, int pageSize, String searchContent, Long roleId, Long shopId); PageInfo<AccountBean> listAccountInfo(int pageNum, int pageSize, String searchContent, Long roleId, Long companyId, Long shopId);
/** /**
* - * -

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.kiisoo.ic.common.utils.MD5FileUtil; import com.kiisoo.ic.common.utils.MD5FileUtil;
import com.kiisoo.ic.constants.Constants; import com.kiisoo.ic.constants.Constants;
import com.kiisoo.ic.domain.mapper.PrivilageDomainEntityDOMapper; import com.kiisoo.ic.domain.mapper.PrivilageDomainEntityDOMapper;
@ -124,32 +126,12 @@ public class PrivilageAccountServiceImpl extends ServiceImpl<PrivilageAccountDOM
} }
@Override @Override
public IPage<AccountBean> listAccountInfo(int pageNum, int pageSize, String searchContent, public PageInfo<AccountBean> listAccountInfo(int pageNum, int pageSize, String searchContent,
Long roleId, Long shopId) { Long roleId, Long companyId, Long shopId) {
QueryWrapper<PrivilageAccountDO> wrapper = new QueryWrapper<>(); PageHelper.startPage(pageNum, pageSize);
//根据搜索内容和角色筛选查询 //根据搜索内容和角色筛选查询
Set<Long> accountIds = privilageAccountDOMapper.selectAccountIdByRoleAndSearchContent(searchContent, roleId); List<AccountBean> accountIds = privilageAccountDOMapper.selectAccountIdByRoleAndSearchContent(searchContent, roleId, companyId, shopId);
return new PageInfo<>(accountIds);
//根据店铺id查询
if (shopId != null) {
Set<Long> accountIdByShopId = privilageAccountDOMapper.selectAccountIdByShopId(shopId);
//取交集
List<Long> intersection = accountIds.stream().filter(accountIdByShopId::contains).collect(toList());
//防报错
intersection.add(-1L);
wrapper.in("id", intersection);
} else {
//防报错
accountIds.add(-1L);
wrapper.in("id", accountIds);
}
wrapper.eq("type", AccountEnum.ACCOUNT_TYPE_SYSTEM.getType());
wrapper.orderByDesc("id");
//根据名字查询账号信息
IPage<PrivilageAccountDO> privilageAccountDOIPage = privilageAccountDOMapper.selectPage(new Page<>(pageNum, pageSize), wrapper);
return setAccountBean(privilageAccountDOIPage);
} }
@ -370,6 +352,7 @@ public class PrivilageAccountServiceImpl extends ServiceImpl<PrivilageAccountDOM
PrivilageOrganizational company = retailCompanyMapper.selectById(customer.getParentId()); PrivilageOrganizational company = retailCompanyMapper.selectById(customer.getParentId());
accountBean.setCompanyName(company.getName()); accountBean.setCompanyName(company.getName());
accountBean.setCompanyCode(company.getCode());
} }
} }
} }

@ -11,12 +11,20 @@
limit 1 limit 1
</select> </select>
<select id="selectAccountIdByRoleAndSearchContent" resultType="java.lang.Long"> <select id="selectAccountIdByRoleAndSearchContent" resultType="com.kiisoo.ic.system.bean.AccountBean">
select t1.id from privilage_account t1,privilage_user t2,privilage_user_role t3, privilage_role t4 select t1.id as accountId,t1.login as account,t2.id as userId,t5.staff_code as staffCode,t2.name as userName,t2.abbreviation,t4.name as roleName,t4.id as roleId,t1.password,t6.id as shopId,t9.name as companyName,t9.code as companyCode,t6.name as shopName,t6.code as shopCode,t4.code as roleCode,t9.id as orgId,t2.mobil
where t1.user_id = t2.id from privilage_account t1
and t2.id = t3.user_id join privilage_user t2 on t1.user_id = t2.id and t1.type = 1
and t3.role_id = t4.id join privilage_user_role t3 on t2.id = t3.user_id
<if test="roleId != null"> join privilage_role t4 on t3.role_id = t4.id
left join poi_store_staff t5 on t5.user_id = t2.id
left join poi_store t6 on t6.id = t5.store_id
left join privilage_domain_entity t7 on t7.entity_id = t6.id and t7.type = 3
left join privilage_organizational_domain t8 on t8.domain_id = t7.domain_id
left join privilage_organizational t9 on t9.id = t8.org_id and t9.`level` = 3
WHERE 1=1
<if test="roleId != 0">
and t3.role_id = #{roleId} and t3.role_id = #{roleId}
</if> </if>
<if test="searchContent != null and searchContent != ''"> <if test="searchContent != null and searchContent != ''">
@ -24,6 +32,12 @@
CONCAT(IFNULL(t1.login,''),IFNULL(t2.name,'')) CONCAT(IFNULL(t1.login,''),IFNULL(t2.name,''))
LIKE CONCAT('%',#{searchContent},'%') LIKE CONCAT('%',#{searchContent},'%')
</if> </if>
<if test="companyId != 0">
and t9.parent_id = #{companyId}
</if>
<if test="storeId != 0">
and t6.id = #{storeId}
</if>
</select> </select>
<select id="selectAccountIdByShopId" resultType="java.lang.Long"> <select id="selectAccountIdByShopId" resultType="java.lang.Long">

Loading…
Cancel
Save