From e090805989dd874b06fa6f784a805008eff081e1 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 18 五月 2023 18:46:20 +0800 Subject: [PATCH] BUG修改 --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java | 10 ++- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserMapper.xml | 35 +++++++++++ management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java | 47 +++++++++++++-- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserServiceImpl.java | 5 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/UserMapper.java | 9 +++ management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserService.java | 18 ++++++ 6 files changed, 113 insertions(+), 11 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java index 959b34b..0e6227c 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java @@ -25,17 +25,19 @@ import com.stylefeng.guns.modular.system.controller.util.UUIDUtil; import com.stylefeng.guns.modular.system.dao.UserMapper; import com.stylefeng.guns.modular.system.factory.UserFactory; +import com.stylefeng.guns.modular.system.model.TAgent; +import com.stylefeng.guns.modular.system.model.TBranchOffice; import com.stylefeng.guns.modular.system.model.TCompany; import com.stylefeng.guns.modular.system.model.User; -import com.stylefeng.guns.modular.system.service.ITCompanyService; -import com.stylefeng.guns.modular.system.service.ITDriverService; -import com.stylefeng.guns.modular.system.service.IUserService; +import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.transfer.UserDto; import com.stylefeng.guns.modular.system.util.OssUploadUtil; import com.stylefeng.guns.modular.system.util.huawei.OBSUtil; +import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -46,6 +48,7 @@ import java.io.File; import java.io.InputStream; import java.util.*; +import java.util.stream.Collectors; /** * 系统管理员控制器 @@ -67,6 +70,10 @@ @Autowired private ITDriverService itDriverService; + @Autowired + private ITAgentService agentService; + @Autowired + private ITBranchOfficeService branchOfficeService; /** @@ -187,10 +194,36 @@ page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid)); return super.packForBT(page); } else { - DataScope dataScope = new DataScope(ShiroKit.getDeptDataScope()); - Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); - page.setRecords(userService.getUserListPage(page,dataScope, name, beginTime, endTime, deptid)); - return super.packForBT(page); + Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId(); + Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType(); + + if(roleType == 3){ + // 查询下级分公司账号 + TAgent tAgent = agentService.selectById(objectId); + List<TBranchOffice> branchOffices = branchOfficeService.selectList(new EntityWrapper<TBranchOffice>() + .eq("agentId", tAgent.getId())); + + List<Integer> officeIds = branchOffices.stream().map(TBranchOffice::getId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(officeIds)){ + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + page.setRecords(new ArrayList<>()); + return super.packForBT(page); + } + +// List<User> userList = userService.selectList(new EntityWrapper<User>() +// .in("object_id", officeIds)); +// List<Integer> userIds = userList.stream().map(User::getId).collect(Collectors.toList()); + + DataScope dataScope = new DataScope(ShiroKit.getDeptDataScope()); + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + List<Map<String, Object>> userListPage = userService.getUserListPageAgent(page, null, name, beginTime, endTime, deptid,officeIds); + page.setRecords(userListPage); + return super.packForBT(page); + }else { + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + page.setRecords(new ArrayList<>()); + return super.packForBT(page); + } } } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/UserMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/UserMapper.java index 338a8b3..5ada987 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/UserMapper.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/UserMapper.java @@ -58,4 +58,13 @@ @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deptid") Integer deptid); + + List<Map<String, Object>> getUserListPageAgent(@Param("page") Page<Map<String, Object>> page, + @Param("dataScope") DataScope dataScope, + @Param("name") String name, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("deptid") Integer deptid, + @Param("officeIds")List<Integer> officeIds); + } \ No newline at end of file diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserMapper.xml index b82af71..1eab19d 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserMapper.xml +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserMapper.xml @@ -110,4 +110,39 @@ order by o.id desc </select> + <select id="getUserListPageAgent" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> + SELECT * FROM (select CASE when d2.simplename is null then d1.simplename else d2.simplename end as parentName, + case when uu.sex = 1 then '男' when uu.sex = 2 then '女' else '' end as sexName, + d1.simplename as deptName,case when uu.status = 1 then '启用' when uu.status = 2 then '冻结' when uu.status = 3 then '删除' else '' end as statusName, + rr.roleName, + uu.* from sys_user as uu + LEFT JOIN sys_dept as d1 on d1.id = uu.deptid + LEFT JOIN sys_dept as d2 on d2.id = d1.pid + LEFT JOIN (select s.id,s.name,GROUP_CONCAT(r.name) as roleName from sys_user s + left join sys_role r on find_in_set(r.id,s.roleid) group by s.id) as rr on rr.id = uu.id + ) as o + <where> + o.status != 3 + <if test="name != null and name != ''"> + and (o.phone like CONCAT('%',#{name},'%') + or o.account like CONCAT('%',#{name},'%') + or o.name like CONCAT('%',#{name},'%')) + </if> + <if test="deptid != null and deptid != 0"> + and (o.deptid = #{deptid} or o.deptid in ( select id from sys_dept where pids like CONCAT('%[', #{deptid}, ']%') )) + </if> + <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> + and (o.createTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) + </if> + <if test="officeIds != null and officeIds.size() > 0"> + and o.object_id in + <foreach collection="officeIds" separator="," item="id" open="(" close=")"> + #{id} + </foreach> + </if> + and o.role_type = 2 + </where> + order by o.id desc + </select> + </mapper> diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserService.java index ccaf6bd..fa85433 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserService.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserService.java @@ -59,4 +59,22 @@ @Param("endTime") String endTime, @Param("deptid") Integer deptid); + /** + * 代理商查看旗下分公司账号 + * @param page + * @param dataScope + * @param name + * @param beginTime + * @param endTime + * @param deptid + * @param officeIds + * @return + */ + List<Map<String, Object>> getUserListPageAgent(Page<Map<String, Object>> page, + DataScope dataScope, + String name, + String beginTime, + String endTime, + Integer deptid, + List<Integer> officeIds); } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java index 6bb9d6e..33fde55 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java @@ -145,8 +145,9 @@ model.addAttribute("driverCount",drivers.size()); // 司机充值计算 List<Integer> driverIds = drivers.stream().map(TDriver::getId).collect(Collectors.toList()); - List<TRechargeRecord> tRechargeRecords = tRechargeRecordMapper.selectList(new EntityWrapper<TRechargeRecord>().in("userId", driverIds) - .eq("type", UserTypeEnum.DRIVER.getCode()) + List<TRechargeRecord> tRechargeRecords = tRechargeRecordMapper.selectList(new EntityWrapper<TRechargeRecord>() + .in("userId", driverIds) + .eq("type", UserTypeEnum.AGENT.getCode()) .eq("payStatus", PayStatusEnum.FINISH.getCode())); if(CollectionUtils.isEmpty(tRechargeRecords)){ model.addAttribute("driverRecharge",BigDecimal.ZERO); @@ -220,8 +221,9 @@ tAgentResp.setDriverCount(drivers.size()); // 司机充值计算 List<Integer> driverIds = drivers.stream().map(TDriver::getId).collect(Collectors.toList()); - List<TRechargeRecord> tRechargeRecords = tRechargeRecordMapper.selectList(new EntityWrapper<TRechargeRecord>().in("userId", driverIds) - .eq("type", UserTypeEnum.DRIVER.getCode()) + List<TRechargeRecord> tRechargeRecords = tRechargeRecordMapper.selectList(new EntityWrapper<TRechargeRecord>() + .eq("agentId", tAgent.getId()) + .eq("type", UserTypeEnum.AGENT.getCode()) .eq("payStatus", PayStatusEnum.FINISH.getCode())); tRechargeRecords.stream().map(TRechargeRecord::getAmount).reduce(BigDecimal::add).ifPresent(tAgentResp::setDriverRecharge); } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserServiceImpl.java index c44b83b..c718dd2 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserServiceImpl.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserServiceImpl.java @@ -58,4 +58,9 @@ public List<Map<String, Object>> getUserListPage(Page<Map<String, Object>> page, DataScope dataScope, String name, String beginTime, String endTime, Integer deptid) { return this.baseMapper.getUserListPage(page, dataScope, name, beginTime, endTime, deptid); } + + @Override + public List<Map<String, Object>> getUserListPageAgent(Page<Map<String, Object>> page, DataScope dataScope, String name, String beginTime, String endTime, Integer deptid, List<Integer> officeIds) { + return this.baseMapper.getUserListPageAgent(page, dataScope, name, beginTime, endTime, deptid,officeIds); + } } -- Gitblit v1.7.1