1、修新增获取所有用户接口
parent
8a4523e604
commit
4286ad9889
|
|
@ -0,0 +1,28 @@
|
|||
package com.zcloud.certificate.web;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.zcloud.certificate.api.UserServiceI;
|
||||
import com.zcloud.certificate.dto.UserQryCmd;
|
||||
import com.zcloud.certificate.dto.clientobject.UserCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@Api(tags = "user")
|
||||
@RequestMapping("/${application.gateway}/user")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class UserController {
|
||||
private final UserServiceI userService;
|
||||
|
||||
@ApiOperation("查询所有用户")
|
||||
@GetMapping("/listAll")
|
||||
@PreAuthorize("@pms.hasAnyPermission('gfd-tzzyrugl', 'gfd-tzsbczrygl', 'gfd-qyzyfzrgl','gfd-qyaqscglrygl', 'qyd-tzzyrugl', 'qyd-tzsbczrygl', 'qyd-zyfzrgl','qyd-aqscglrygl', 'xgfd-zyfzrgl', 'xgfd-tzzzsbczrygl', 'xgfd-aqscglrygl','xgfd-tzzyrugl')")
|
||||
public MultiResponse<UserCO> listAll(UserQryCmd userQryCmd) {
|
||||
return userService.listAll(userQryCmd);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.zcloud.certificate.command.convertor;
|
||||
|
||||
import com.zcloud.certificate.dto.clientobject.UserCO;
|
||||
import com.zcloud.certificate.persistence.dataobject.UserDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface UserCoConvertor {
|
||||
|
||||
List<UserCO> converDOsToCOs(List<UserDO> userDOs);
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.zcloud.certificate.command.query;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.zcloud.certificate.command.convertor.UserCoConvertor;
|
||||
import com.zcloud.certificate.dto.UserQryCmd;
|
||||
import com.zcloud.certificate.dto.clientobject.UserCO;
|
||||
import com.zcloud.certificate.persistence.dataobject.UserDO;
|
||||
import com.zcloud.certificate.persistence.repository.UserRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class UserQueryExe {
|
||||
private final UserRepository userRepository;
|
||||
private final UserCoConvertor userCoConvertor;
|
||||
|
||||
public MultiResponse<UserCO> executeListAll(UserQryCmd userQryCmd) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(userQryCmd);
|
||||
List<UserDO> userDOList = userRepository.listAll(params);
|
||||
List<UserCO> userCOList = userCoConvertor.converDOsToCOs(userDOList);
|
||||
return MultiResponse.of(userCOList);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.zcloud.certificate.service;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.zcloud.certificate.api.UserServiceI;
|
||||
import com.zcloud.certificate.command.query.UserQueryExe;
|
||||
import com.zcloud.certificate.dto.UserQryCmd;
|
||||
import com.zcloud.certificate.dto.clientobject.UserCO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class UserServiceImpl implements UserServiceI {
|
||||
private final UserQueryExe userQueryExe;
|
||||
|
||||
@Override
|
||||
public MultiResponse<UserCO> listAll(UserQryCmd userQryCmd) {
|
||||
return userQueryExe.executeListAll(userQryCmd);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
package com.zcloud.certificate.api;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.zcloud.certificate.dto.UserQryCmd;
|
||||
import com.zcloud.certificate.dto.clientobject.UserCO;
|
||||
|
||||
public interface UserServiceI {
|
||||
|
||||
MultiResponse<UserCO> listAll(UserQryCmd userQryCmd);
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
package com.zcloud.certificate.dto;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class UserQryCmd extends PageQuery {
|
||||
|
||||
@ApiModelProperty(value = "企业ID")
|
||||
private String eqCorpinfoId;
|
||||
|
||||
@ApiModelProperty(value = "部门ID")
|
||||
private String eqDepartmentId;
|
||||
|
||||
@ApiModelProperty(value = "岗位ID")
|
||||
private String eqPostId;
|
||||
|
||||
@ApiModelProperty(value = "在职状态")
|
||||
private String eqEmploymentFlag;
|
||||
|
||||
@ApiModelProperty(value = "企业ID")
|
||||
private Long corpinfoId;
|
||||
|
||||
@ApiModelProperty(value = "部门ID")
|
||||
private Long departmentId;
|
||||
|
||||
@ApiModelProperty(value = "岗位ID")
|
||||
private Long postId;
|
||||
|
||||
@ApiModelProperty(value = "用户名")
|
||||
private String username;
|
||||
|
||||
@ApiModelProperty(value = "是否排除主账号")
|
||||
private Integer noMain;
|
||||
|
||||
@ApiModelProperty(value = "是否查询当前企业")
|
||||
private String isMyCorp;
|
||||
|
||||
@ApiModelProperty(value = "用户ID集合")
|
||||
private List<Long> userIdList;
|
||||
|
||||
@ApiModelProperty(value = "菜单路径")
|
||||
private String menuPath;
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
package com.zcloud.certificate.dto.clientobject;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UserCO extends ClientObject {
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "用户业务ID")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty(value = "用户名")
|
||||
private String username;
|
||||
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "企业ID")
|
||||
private Long corpinfoId;
|
||||
|
||||
@ApiModelProperty(value = "部门ID")
|
||||
private Long departmentId;
|
||||
|
||||
@ApiModelProperty(value = "岗位ID")
|
||||
private Long postId;
|
||||
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "在职状态")
|
||||
private Integer employmentFlag;
|
||||
|
||||
@ApiModelProperty(value = "流程状态")
|
||||
private Integer flowFlag;
|
||||
|
||||
@ApiModelProperty(value = "年龄")
|
||||
private Integer age;
|
||||
|
||||
@ApiModelProperty(value = "生日")
|
||||
private String birthday;
|
||||
|
||||
@ApiModelProperty(value = "性别")
|
||||
private String sex;
|
||||
|
||||
@ApiModelProperty(value = "部门名称")
|
||||
private String departmentName;
|
||||
|
||||
@ApiModelProperty(value = "岗位名称")
|
||||
private String postName;
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
package com.zcloud.certificate.persistence.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@TableName("user")
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class UserDO extends BaseDO {
|
||||
|
||||
@ApiModelProperty(value = "user id")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty(value = "username")
|
||||
private String username;
|
||||
|
||||
@ApiModelProperty(value = "name")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "corpinfo id")
|
||||
private Long corpinfoId;
|
||||
|
||||
@ApiModelProperty(value = "department id")
|
||||
private Long departmentId;
|
||||
|
||||
@ApiModelProperty(value = "post id")
|
||||
private Long postId;
|
||||
|
||||
@ApiModelProperty(value = "phone")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "employment flag")
|
||||
private Integer employmentFlag;
|
||||
|
||||
@ApiModelProperty(value = "flow flag")
|
||||
private Integer flowFlag;
|
||||
|
||||
@ApiModelProperty(value = "age")
|
||||
private Integer age;
|
||||
|
||||
@ApiModelProperty(value = "birthday")
|
||||
private String birthday;
|
||||
|
||||
@ApiModelProperty(value = "sex")
|
||||
private String sex;
|
||||
|
||||
@ApiModelProperty(value = "department name")
|
||||
private String departmentName;
|
||||
|
||||
@ApiModelProperty(value = "post name")
|
||||
private String postName;
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.zcloud.certificate.persistence.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||
import com.zcloud.certificate.persistence.dataobject.UserDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Mapper
|
||||
@DataScopes({
|
||||
@DataScope(method = "selectListAll", menuPerms = "")
|
||||
})
|
||||
public interface UserMapper extends BaseMapper<UserDO> {
|
||||
|
||||
List<UserDO> selectListAll(@Param("params") Map<String, Object> params, @Param("menuPerms") String menuPerms);
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.zcloud.certificate.persistence.repository;
|
||||
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
import com.zcloud.certificate.persistence.dataobject.UserDO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface UserRepository extends BaseRepository<UserDO> {
|
||||
|
||||
List<UserDO> listAll(Map<String, Object> params);
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.certificate.persistence.repository.impl;
|
||||
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import com.zcloud.certificate.domain.enums.MenuEnum;
|
||||
import com.zcloud.certificate.persistence.dataobject.UserDO;
|
||||
import com.zcloud.certificate.persistence.mapper.UserMapper;
|
||||
import com.zcloud.certificate.persistence.repository.UserRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> implements UserRepository {
|
||||
private final UserMapper userMapper;
|
||||
|
||||
@Override
|
||||
public List<UserDO> listAll(Map<String, Object> params) {
|
||||
if (params.containsKey("eqEmploymentFlag")) {
|
||||
params.put("employmentFlag", params.get("eqEmploymentFlag"));
|
||||
}
|
||||
if (params.containsKey("isMyCorp")) {
|
||||
SSOUser currentUser = AuthContext.getCurrentUser();
|
||||
if (currentUser != null) {
|
||||
params.put("corpinfoId", currentUser.getTenantId());
|
||||
}
|
||||
}
|
||||
|
||||
String menuPerms = "";
|
||||
if (!ObjectUtils.isEmpty(params.get("menuPath"))) {
|
||||
menuPerms = MenuEnum.getMenuKeyByPath(params.get("menuPath").toString());
|
||||
}
|
||||
return userMapper.selectListAll(params, menuPerms);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.zcloud.certificate.persistence.mapper.UserMapper">
|
||||
|
||||
<select id="selectListAll" resultType="com.zcloud.certificate.persistence.dataobject.UserDO">
|
||||
SELECT
|
||||
uc.id,
|
||||
uc.user_id,
|
||||
uc.username,
|
||||
uc.name,
|
||||
uc.corpinfo_id,
|
||||
uc.department_id,
|
||||
uc.post_id,
|
||||
uc.phone,
|
||||
d.name AS department_name,
|
||||
p.post_name,
|
||||
uc.employment_flag,
|
||||
uc.flow_flag,
|
||||
CASE
|
||||
WHEN MOD(CAST(SUBSTRING(FROM_BASE64(uc.user_id_card), 17, 1) AS UNSIGNED), 2) = 1 THEN 'M'
|
||||
ELSE 'F'
|
||||
END AS sex,
|
||||
YEAR(CURDATE()) - CAST(SUBSTRING(FROM_BASE64(uc.user_id_card), 7, 4) AS UNSIGNED) AS age,
|
||||
CAST(SUBSTRING(FROM_BASE64(uc.user_id_card), 7, 8) AS DATE) AS birthday
|
||||
FROM (
|
||||
SELECT
|
||||
id,
|
||||
id AS create_id,
|
||||
user_id,
|
||||
username,
|
||||
name,
|
||||
corpinfo_id,
|
||||
department_id,
|
||||
post_id,
|
||||
phone,
|
||||
employment_flag,
|
||||
flow_flag,
|
||||
user_id_card,
|
||||
delete_enum,
|
||||
sort,
|
||||
create_time
|
||||
FROM user
|
||||
) uc
|
||||
LEFT JOIN user u ON u.id = uc.id
|
||||
LEFT JOIN department d ON d.id = uc.department_id
|
||||
LEFT JOIN post p ON p.id = uc.post_id
|
||||
WHERE uc.delete_enum = 'FALSE'
|
||||
<if test="params.noMain != null">
|
||||
AND uc.id != uc.corpinfo_id
|
||||
</if>
|
||||
<if test="params.corpinfoId != null">
|
||||
AND uc.corpinfo_id = #{params.corpinfoId}
|
||||
</if>
|
||||
<if test="params.departmentId != null">
|
||||
AND uc.department_id = #{params.departmentId}
|
||||
</if>
|
||||
<if test="params.employmentFlag != null">
|
||||
AND uc.employment_flag = #{params.employmentFlag}
|
||||
</if>
|
||||
<if test="params.postId != null">
|
||||
AND uc.post_id = #{params.postId}
|
||||
</if>
|
||||
<if test="params.userIdList != null and params.userIdList.size() > 0">
|
||||
AND uc.id IN
|
||||
<foreach collection="params.userIdList" item="userId" open="(" separator="," close=")">
|
||||
#{userId}
|
||||
</foreach>
|
||||
</if>
|
||||
ORDER BY uc.sort, uc.create_time DESC
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue