feat(): 大屏消防队成员列表功能
parent
f4537dd7b6
commit
601e2a0f4d
|
|
@ -7,8 +7,10 @@ import com.zcloud.zcGbsServicer.api.FireBrigadeMemberServiceI;
|
|||
import com.zcloud.zcGbsServicer.dto.FireBrigadeMemberAddCmd;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeMemberPageQry;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeMemberUpdateCmd;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeScreenMemberQry;
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeMemberCO;
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeMemberStatusCO;
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeScreenMemberCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -29,6 +31,12 @@ public class FireBrigadeMemberController {
|
|||
return fireBrigadeMemberService.currentMemberStatus();
|
||||
}
|
||||
|
||||
@ApiOperation("大屏队员分页列表")
|
||||
@PostMapping("/screen/list")
|
||||
public PageResponse<FireBrigadeScreenMemberCO> screenList(@RequestBody(required = false) FireBrigadeScreenMemberQry qry) {
|
||||
return fireBrigadeMemberService.listScreenMembers(qry == null ? new FireBrigadeScreenMemberQry() : qry);
|
||||
}
|
||||
|
||||
@ApiOperation("分页查询")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<FireBrigadeMemberCO> list(@RequestBody FireBrigadeMemberPageQry qry) {
|
||||
|
|
|
|||
|
|
@ -11,11 +11,14 @@ import com.zcloud.zcGbsServicer.command.convertor.FireBrigadeMemberCoConvertor;
|
|||
import com.zcloud.zcGbsServicer.dto.FireBrigadeMemberAddCmd;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeMemberPageQry;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeMemberUpdateCmd;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeScreenMemberQry;
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeMemberCO;
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeMemberStatusCO;
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeScreenMemberCO;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingRoomDO;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingUserDO;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeDO;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeScreenMemberRow;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeUserDO;
|
||||
import com.zcloud.zcGbsServicer.persistence.repository.FireAlarmMeetingRoomRepository;
|
||||
import com.zcloud.zcGbsServicer.persistence.repository.FireAlarmMeetingUserRepository;
|
||||
|
|
@ -62,6 +65,37 @@ public class FireBrigadeMemberServiceImpl extends FireAlarmServiceSupport implem
|
|||
return SingleResponse.of(co);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<FireBrigadeScreenMemberCO> listScreenMembers(FireBrigadeScreenMemberQry qry) {
|
||||
FireBrigadeScreenMemberQry actualQry = qry == null ? new FireBrigadeScreenMemberQry() : qry;
|
||||
String corpId = StrUtil.isBlank(actualQry.getCorpId()) ? null : actualQry.getCorpId().trim();
|
||||
Integer portArea = actualQry.getPortArea();
|
||||
if (portArea != null && portArea != 1 && portArea != 2 && portArea != 3) {
|
||||
throw new BizException("港区参数无效");
|
||||
}
|
||||
int pageIndex = actualQry.getPageIndex() <= 0 ? 1 : actualQry.getPageIndex();
|
||||
int pageSize = actualQry.getPageSize() <= 0 ? 10 : actualQry.getPageSize();
|
||||
PageResponse<FireBrigadeScreenMemberRow> page = fireBrigadeUserRepository.listScreenMembers(corpId, portArea, pageIndex, pageSize);
|
||||
List<FireBrigadeScreenMemberCO> data = page.getData() == null ? Collections.emptyList() : page.getData().stream()
|
||||
.map(this::toScreenMemberCO)
|
||||
.collect(Collectors.toList());
|
||||
return PageResponse.of(data, page.getTotalCount(), page.getPageSize(), page.getPageIndex());
|
||||
}
|
||||
|
||||
private FireBrigadeScreenMemberCO toScreenMemberCO(FireBrigadeScreenMemberRow row) {
|
||||
FireBrigadeScreenMemberCO co = new FireBrigadeScreenMemberCO();
|
||||
if (row == null) {
|
||||
return co;
|
||||
}
|
||||
co.setUserId(row.getUserId());
|
||||
co.setUserName(row.getUserName());
|
||||
co.setAge(row.getAge());
|
||||
co.setCorpId(row.getCorpId());
|
||||
co.setOrgName(row.getOrgName());
|
||||
co.setPhone(row.getPhone());
|
||||
return co;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<FireBrigadeMemberCO> listPage(FireBrigadeMemberPageQry qry) {
|
||||
FireBrigadeDO brigade = getBrigade(qry.getFireBrigadeId());
|
||||
|
|
@ -198,6 +232,7 @@ public class FireBrigadeMemberServiceImpl extends FireAlarmServiceSupport implem
|
|||
co.setDutyId(relation.getDutyId());
|
||||
co.setCorpId(relation.getCorpId());
|
||||
co.setGender(relation.getGender());
|
||||
co.setAge(relation.getAge());
|
||||
co.setName(selectText(relation.getUserName(), user == null ? null : user.getName()));
|
||||
co.setIdNo(selectText(relation.getIdNo(), user == null ? null : user.getUserIdCard()));
|
||||
co.setPhone(selectText(relation.getPhone(), user == null ? null : user.getPhone()));
|
||||
|
|
@ -218,6 +253,7 @@ public class FireBrigadeMemberServiceImpl extends FireAlarmServiceSupport implem
|
|||
relation.setDutyName(cmd.getDuty());
|
||||
relation.setCorpId(cmd.getCorpId());
|
||||
relation.setOrgName(cmd.getOrg());
|
||||
relation.setAge(cmd.getAge());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -5,8 +5,10 @@ import com.alibaba.cola.dto.SingleResponse;
|
|||
import com.zcloud.zcGbsServicer.dto.FireBrigadeMemberAddCmd;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeMemberPageQry;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeMemberUpdateCmd;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeScreenMemberQry;
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeMemberCO;
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeMemberStatusCO;
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeScreenMemberCO;
|
||||
|
||||
public interface FireBrigadeMemberServiceI {
|
||||
|
||||
|
|
@ -23,4 +25,6 @@ public interface FireBrigadeMemberServiceI {
|
|||
void removeBatch(Long[] ids);
|
||||
|
||||
SingleResponse<FireBrigadeMemberStatusCO> currentMemberStatus();
|
||||
|
||||
PageResponse<FireBrigadeScreenMemberCO> listScreenMembers(FireBrigadeScreenMemberQry qry);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,6 +46,9 @@ public class FireBrigadeMemberAddCmd extends Command {
|
|||
@JsonAlias("orgName")
|
||||
private String org;
|
||||
|
||||
@ApiModelProperty("年龄")
|
||||
private Integer age;
|
||||
|
||||
@ApiModelProperty("角色编码")
|
||||
private Integer roleCode;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
package com.zcloud.zcGbsServicer.dto;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class FireBrigadeScreenMemberQry extends PageQuery {
|
||||
|
||||
@ApiModelProperty("机构ID,为空查全部")
|
||||
private String corpId;
|
||||
|
||||
@ApiModelProperty("港区,1:港区 2:秦皇岛东 3:秦皇岛西,为空查全部")
|
||||
private Integer portArea;
|
||||
}
|
||||
|
|
@ -19,5 +19,6 @@ public class FireBrigadeMemberCO extends ClientObject {
|
|||
private String duty;
|
||||
private String corpId;
|
||||
private String org;
|
||||
private Integer age;
|
||||
private Integer roleCode;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
package com.zcloud.zcGbsServicer.dto.clientobject;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class FireBrigadeScreenMemberCO extends ClientObject {
|
||||
|
||||
@JsonProperty("user_id")
|
||||
private Long userId;
|
||||
|
||||
@JsonProperty("user_name")
|
||||
private String userName;
|
||||
|
||||
private Integer age;
|
||||
|
||||
@JsonProperty("corp_id")
|
||||
private String corpId;
|
||||
|
||||
@JsonProperty("org_name")
|
||||
private String orgName;
|
||||
|
||||
private String phone;
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package com.zcloud.zcGbsServicer.persistence.dataobject;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class FireBrigadeScreenMemberRow {
|
||||
|
||||
private Long userId;
|
||||
private String userName;
|
||||
private Integer age;
|
||||
private String corpId;
|
||||
private String orgName;
|
||||
private String phone;
|
||||
}
|
||||
|
|
@ -23,4 +23,5 @@ public class FireBrigadeUserDO extends BaseDO {
|
|||
@TableField("corp_id")
|
||||
private String corpId;
|
||||
private String orgName;
|
||||
private Integer age;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,16 @@
|
|||
package com.zcloud.zcGbsServicer.persistence.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeScreenMemberRow;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeUserDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@Mapper
|
||||
public interface FireBrigadeUserMapper extends BaseMapper<FireBrigadeUserDO> {
|
||||
|
||||
IPage<FireBrigadeScreenMemberRow> listScreenMembers(IPage<FireBrigadeScreenMemberRow> page,
|
||||
@Param("corpId") String corpId,
|
||||
@Param("portArea") Integer portArea);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.zcloud.zcGbsServicer.persistence.repository;
|
||||
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeScreenMemberRow;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeUserDO;
|
||||
|
||||
import java.util.Collection;
|
||||
|
|
@ -22,4 +24,6 @@ public interface FireBrigadeUserRepository extends BaseRepository<FireBrigadeUse
|
|||
List<FireBrigadeUserDO> listByUserId(Long userId);
|
||||
|
||||
boolean existsRelation(String fireBrigadeId, Long userId, Long excludeId);
|
||||
|
||||
PageResponse<FireBrigadeScreenMemberRow> listScreenMembers(String corpId, Integer portArea, int pageIndex, int pageSize);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,13 @@
|
|||
package com.zcloud.zcGbsServicer.persistence.repository.impl;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import com.zcloud.gbscommon.utils.Query;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeScreenMemberRow;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeUserDO;
|
||||
import com.zcloud.zcGbsServicer.persistence.mapper.FireBrigadeUserMapper;
|
||||
import com.zcloud.zcGbsServicer.persistence.repository.FireBrigadeUserRepository;
|
||||
|
|
@ -12,6 +17,7 @@ import org.springframework.stereotype.Service;
|
|||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -85,4 +91,14 @@ public class FireBrigadeUserRepositoryImpl extends BaseRepositoryImpl<FireBrigad
|
|||
}
|
||||
return this.count(wrapper) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<FireBrigadeScreenMemberRow> listScreenMembers(String corpId, Integer portArea, int pageIndex, int pageSize) {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("pageIndex", pageIndex <= 0 ? 1 : pageIndex);
|
||||
params.put("pageSize", pageSize <= 0 ? 10 : pageSize);
|
||||
IPage<FireBrigadeScreenMemberRow> page = new Query<FireBrigadeScreenMemberRow>().getPage(params);
|
||||
IPage<FireBrigadeScreenMemberRow> result = this.baseMapper.listScreenMembers(page, corpId, portArea);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
<?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.zcGbsServicer.persistence.mapper.FireBrigadeUserMapper">
|
||||
|
||||
<select id="listScreenMembers" resultType="com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeScreenMemberRow">
|
||||
SELECT
|
||||
u.user_id AS userId,
|
||||
u.user_name AS userName,
|
||||
u.id_no,
|
||||
CASE
|
||||
WHEN LENGTH(FROM_BASE64(u.id_no)) > 0 THEN
|
||||
(YEAR(NOW()) - SUBSTRING(FROM_BASE64(u.id_no), 7, 4)) ELSE NULL
|
||||
END AS age,
|
||||
u.corp_id AS corpId,
|
||||
u.org_name AS orgName,
|
||||
u.phone AS phone
|
||||
FROM fire_brigade_user u
|
||||
LEFT JOIN corp_info c ON CAST(c.id AS CHAR) = u.corp_id
|
||||
WHERE u.delete_enum = 'FALSE'
|
||||
<if test="corpId != null and corpId != ''">
|
||||
AND u.corp_id = #{corpId}
|
||||
</if>
|
||||
<if test="portArea != null">
|
||||
AND c.port_area = #{portArea}
|
||||
</if>
|
||||
ORDER BY u.create_time DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue