feat(): 新增消防队伍管理功能
parent
1bc6d62f4c
commit
d0424faa28
|
|
@ -0,0 +1,56 @@
|
|||
package com.zcloud.zcGbsServicer.web;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.zcGbsServicer.api.FireBrigadeServiceI;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeAddCmd;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadePageQry;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeUpdateCmd;
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@Api(tags = "消防队伍")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
@RequestMapping("/${application.gateway}/fireBrigade")
|
||||
public class FireBrigadeController {
|
||||
|
||||
private final FireBrigadeServiceI fireBrigadeService;
|
||||
|
||||
@ApiOperation("分页查询")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<FireBrigadeCO> list(@RequestBody FireBrigadePageQry qry) {
|
||||
return fireBrigadeService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<FireBrigadeCO> save(@Validated @RequestBody FireBrigadeAddCmd cmd) {
|
||||
return fireBrigadeService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("编辑")
|
||||
@PutMapping("/edit")
|
||||
public Response edit(@Validated @RequestBody FireBrigadeUpdateCmd cmd) {
|
||||
fireBrigadeService.edit(cmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<FireBrigadeCO> get(@PathVariable Long id) {
|
||||
return SingleResponse.of(fireBrigadeService.get(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable Long id) {
|
||||
fireBrigadeService.remove(id);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.zcloud.zcGbsServicer.command.convertor;
|
||||
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeCO;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface FireBrigadeCoConvertor {
|
||||
|
||||
List<FireBrigadeCO> converDOsToCOs(List<FireBrigadeDO> fireBrigadeDOs);
|
||||
|
||||
FireBrigadeCO converDOToCO(FireBrigadeDO fireBrigadeDO);
|
||||
}
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
package com.zcloud.zcGbsServicer.service;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo;
|
||||
import com.zcloud.zcGbsServicer.api.FireBrigadeServiceI;
|
||||
import com.zcloud.zcGbsServicer.command.convertor.FireBrigadeCoConvertor;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeAddCmd;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadePageQry;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeUpdateCmd;
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeCO;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeDO;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeUserDO;
|
||||
import com.zcloud.zcGbsServicer.persistence.repository.FireBrigadeRepository;
|
||||
import com.zcloud.zcGbsServicer.persistence.repository.FireBrigadeUserRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class FireBrigadeServiceImpl extends FireAlarmServiceSupport implements FireBrigadeServiceI {
|
||||
|
||||
private final FireBrigadeRepository fireBrigadeRepository;
|
||||
private final FireBrigadeUserRepository fireBrigadeUserRepository;
|
||||
private final FireAlarmUserResolver fireAlarmUserResolver;
|
||||
private final FireBrigadeCoConvertor fireBrigadeCoConvertor;
|
||||
|
||||
@Override
|
||||
public PageResponse<FireBrigadeCO> listPage(FireBrigadePageQry qry) {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("pageIndex", qry.getPageIndex());
|
||||
params.put("pageSize", qry.getPageSize());
|
||||
params.put("brigadeName", qry.getName());
|
||||
PageResponse<FireBrigadeDO> page = fireBrigadeRepository.listPage(params);
|
||||
Map<Long, ZcloudUserCo> userMap = getLeaderUserMap(page.getData());
|
||||
List<FireBrigadeCO> data = page.getData().stream().map(item -> buildCO(item, userMap)).collect(Collectors.toList());
|
||||
return PageResponse.of(data, page.getTotalCount(), page.getPageSize(), page.getPageIndex());
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SingleResponse<FireBrigadeCO> add(FireBrigadeAddCmd cmd) {
|
||||
if (fireBrigadeRepository.existsByBrigadeName(cmd.getName(), null)) {
|
||||
throw new BizException("消防队伍名称已存在");
|
||||
}
|
||||
if (cmd.getLeaderUserId() == null) {
|
||||
throw new BizException("负责人用户ID不能为空");
|
||||
}
|
||||
FireBrigadeDO brigade = new FireBrigadeDO();
|
||||
brigade.setId(nextId());
|
||||
brigade.setFireBrigadeId(nextBizId());
|
||||
fillCreateAudit(brigade);
|
||||
fillBrigade(brigade, cmd);
|
||||
fireBrigadeRepository.save(brigade);
|
||||
ensureLeaderRelation(brigade);
|
||||
return SingleResponse.of(buildCO(brigade, getLeaderUserMap(Collections.singletonList(brigade))));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void edit(FireBrigadeUpdateCmd cmd) {
|
||||
FireBrigadeDO brigade = fireBrigadeRepository.getById(cmd.getId());
|
||||
if (brigade == null) {
|
||||
throw new BizException("消防队伍不存在");
|
||||
}
|
||||
if (fireBrigadeRepository.existsByBrigadeName(cmd.getName(), cmd.getId())) {
|
||||
throw new BizException("消防队伍名称已存在");
|
||||
}
|
||||
if (cmd.getLeaderUserId() == null) {
|
||||
throw new BizException("负责人用户ID不能为空");
|
||||
}
|
||||
fillUpdateAudit(brigade);
|
||||
fillBrigade(brigade, cmd);
|
||||
fireBrigadeRepository.updateById(brigade);
|
||||
ensureLeaderRelation(brigade);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FireBrigadeCO get(Long id) {
|
||||
FireBrigadeDO brigade = fireBrigadeRepository.getById(id);
|
||||
if (brigade == null) {
|
||||
throw new BizException("消防队伍不存在");
|
||||
}
|
||||
return buildCO(brigade, getLeaderUserMap(Collections.singletonList(brigade)));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void remove(Long id) {
|
||||
FireBrigadeDO brigade = fireBrigadeRepository.getById(id);
|
||||
if (brigade == null) {
|
||||
throw new BizException("消防队伍不存在");
|
||||
}
|
||||
List<FireBrigadeUserDO> relations = fireBrigadeUserRepository.listByFireBrigadeId(brigade.getFireBrigadeId());
|
||||
if (!relations.isEmpty()) {
|
||||
fireBrigadeUserRepository.removeBatchByIds(relations.stream().map(FireBrigadeUserDO::getId).collect(Collectors.toList()));
|
||||
}
|
||||
fireBrigadeRepository.removeById(id);
|
||||
}
|
||||
|
||||
private void fillBrigade(FireBrigadeDO brigade, FireBrigadeAddCmd cmd) {
|
||||
brigade.setBrigadeName(cmd.getName());
|
||||
brigade.setLeaderUserId(cmd.getLeaderUserId());
|
||||
brigade.setLeaderName(cmd.getLeader());
|
||||
brigade.setLeaderPhone(cmd.getLeaderPhone());
|
||||
brigade.setLeaderDeptName(cmd.getLeaderDept());
|
||||
brigade.setAddress(cmd.getAddress());
|
||||
brigade.setDutyPhone(cmd.getDutyPhone());
|
||||
brigade.setEstablishDate(cmd.getFounded());
|
||||
brigade.setVehicleCount(cmd.getVehicles());
|
||||
brigade.setBrigadeInfo(cmd.getDesc());
|
||||
}
|
||||
|
||||
private void ensureLeaderRelation(FireBrigadeDO brigade) {
|
||||
if (brigade.getLeaderUserId() == null) {
|
||||
return;
|
||||
}
|
||||
List<FireBrigadeUserDO> relations = fireBrigadeUserRepository.listByFireBrigadeId(brigade.getFireBrigadeId());
|
||||
FireBrigadeUserDO relation = relations.stream()
|
||||
.filter(item -> brigade.getLeaderUserId().equals(item.getUserId()))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
if (relation == null) {
|
||||
relation = new FireBrigadeUserDO();
|
||||
relation.setId(nextId());
|
||||
relation.setFireBrigadeUserId(nextBizId());
|
||||
relation.setFireBrigadeId(brigade.getFireBrigadeId());
|
||||
relation.setUserId(brigade.getLeaderUserId());
|
||||
fillLeaderSnapshot(relation, brigade);
|
||||
fillCreateAudit(relation);
|
||||
fireBrigadeUserRepository.save(relation);
|
||||
return;
|
||||
}
|
||||
fillLeaderSnapshot(relation, brigade);
|
||||
fillUpdateAudit(relation);
|
||||
fireBrigadeUserRepository.updateById(relation);
|
||||
}
|
||||
|
||||
private void fillLeaderSnapshot(FireBrigadeUserDO relation, FireBrigadeDO brigade) {
|
||||
relation.setUserName(brigade.getLeaderName());
|
||||
relation.setPhone(brigade.getLeaderPhone());
|
||||
relation.setDutyName("负责人");
|
||||
relation.setOrgName(brigade.getLeaderDeptName());
|
||||
}
|
||||
|
||||
private FireBrigadeCO buildCO(FireBrigadeDO brigade, Map<Long, ZcloudUserCo> userMap) {
|
||||
FireBrigadeCO co = fireBrigadeCoConvertor.converDOToCO(brigade);
|
||||
ZcloudUserCo leader = brigade.getLeaderUserId() == null ? null : userMap.get(brigade.getLeaderUserId());
|
||||
co.setLeaderDeptName(selectText(leader == null ? null : leader.getDepartmentName(), co.getLeaderDeptName()));
|
||||
co.setLeaderName(selectText(leader == null ? null : leader.getName(), co.getLeaderName()));
|
||||
co.setLeaderPhone(selectText(leader == null ? null : leader.getPhone(), co.getLeaderPhone()));
|
||||
co.setMemberCount(fireBrigadeUserRepository.listByFireBrigadeId(brigade.getFireBrigadeId()).size());
|
||||
co.setOnline(Boolean.FALSE);
|
||||
co.setOnlineText("未在线");
|
||||
return co;
|
||||
}
|
||||
|
||||
private String selectText(String preferred, String fallback) {
|
||||
return StrUtil.isNotBlank(preferred) ? preferred : fallback;
|
||||
}
|
||||
|
||||
private Map<Long, ZcloudUserCo> getLeaderUserMap(List<FireBrigadeDO> brigades) {
|
||||
Set<Long> userIds = brigades.stream()
|
||||
.map(FireBrigadeDO::getLeaderUserId)
|
||||
.filter(java.util.Objects::nonNull)
|
||||
.collect(Collectors.toSet());
|
||||
return fireAlarmUserResolver.getUserMap(userIds);
|
||||
}
|
||||
|
||||
private long nextId() {
|
||||
return IdUtil.getSnowflake(1, 1).nextId();
|
||||
}
|
||||
|
||||
private String nextBizId() {
|
||||
return UUID.randomUUID().toString().replace("-", "");
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.zcloud.zcGbsServicer.api;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeAddCmd;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadePageQry;
|
||||
import com.zcloud.zcGbsServicer.dto.FireBrigadeUpdateCmd;
|
||||
import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeCO;
|
||||
|
||||
public interface FireBrigadeServiceI {
|
||||
|
||||
PageResponse<FireBrigadeCO> listPage(FireBrigadePageQry qry);
|
||||
|
||||
SingleResponse<FireBrigadeCO> add(FireBrigadeAddCmd cmd);
|
||||
|
||||
void edit(FireBrigadeUpdateCmd cmd);
|
||||
|
||||
FireBrigadeCO get(Long id);
|
||||
|
||||
void remove(Long id);
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
package com.zcloud.zcGbsServicer.dto;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Data
|
||||
public class FireBrigadeAddCmd extends Command {
|
||||
|
||||
@NotBlank
|
||||
@ApiModelProperty("消防队伍名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("负责人部门")
|
||||
private String leaderDept;
|
||||
|
||||
@ApiModelProperty("负责人用户ID")
|
||||
private Long leaderUserId;
|
||||
|
||||
@NotBlank
|
||||
@ApiModelProperty("负责人姓名")
|
||||
private String leader;
|
||||
|
||||
@NotBlank
|
||||
@ApiModelProperty("负责人电话")
|
||||
private String leaderPhone;
|
||||
|
||||
@NotBlank
|
||||
@ApiModelProperty("地址")
|
||||
private String address;
|
||||
|
||||
@NotBlank
|
||||
@ApiModelProperty("应急值班电话")
|
||||
private String dutyPhone;
|
||||
|
||||
@NotNull
|
||||
@ApiModelProperty("成立日期")
|
||||
private LocalDate founded;
|
||||
|
||||
@NotNull
|
||||
@ApiModelProperty("车辆数")
|
||||
private Integer vehicles;
|
||||
|
||||
@NotBlank
|
||||
@ApiModelProperty("队伍信息")
|
||||
private String desc;
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.zcloud.zcGbsServicer.dto;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class FireBrigadePageQry extends PageQuery {
|
||||
|
||||
@ApiModelProperty("消防队伍名称")
|
||||
private String name;
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package com.zcloud.zcGbsServicer.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
public class FireBrigadeUpdateCmd extends FireBrigadeAddCmd {
|
||||
|
||||
@NotNull
|
||||
@ApiModelProperty("主键ID")
|
||||
private Long id;
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
package com.zcloud.zcGbsServicer.dto.clientobject;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Data
|
||||
public class FireBrigadeCO extends ClientObject {
|
||||
|
||||
private Long id;
|
||||
private String fireBrigadeId;
|
||||
|
||||
@JsonProperty("name")
|
||||
private String brigadeName;
|
||||
|
||||
@JsonProperty("leaderDept")
|
||||
private String leaderDeptName;
|
||||
|
||||
private Long leaderUserId;
|
||||
|
||||
@JsonProperty("leader")
|
||||
private String leaderName;
|
||||
|
||||
private String leaderPhone;
|
||||
private String address;
|
||||
private String dutyPhone;
|
||||
|
||||
@JsonProperty("founded")
|
||||
private LocalDate establishDate;
|
||||
|
||||
@JsonProperty("vehicles")
|
||||
private Integer vehicleCount;
|
||||
|
||||
@JsonProperty("desc")
|
||||
private String brigadeInfo;
|
||||
|
||||
private Integer memberCount;
|
||||
private Boolean online;
|
||||
private String onlineText;
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package com.zcloud.zcGbsServicer.persistence.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("fire_brigade")
|
||||
public class FireBrigadeDO extends BaseDO {
|
||||
|
||||
private String fireBrigadeId;
|
||||
private String brigadeName;
|
||||
private Long leaderUserId;
|
||||
private String leaderName;
|
||||
private String leaderPhone;
|
||||
private String leaderDeptName;
|
||||
private String address;
|
||||
private String dutyPhone;
|
||||
private LocalDate establishDate;
|
||||
private Integer vehicleCount;
|
||||
private String brigadeInfo;
|
||||
private String thirdDepartId;
|
||||
private String thirdDepartName;
|
||||
private String thirdParentDepartId;
|
||||
private Integer thirdSyncStatus;
|
||||
private String thirdSyncMsg;
|
||||
private LocalDateTime thirdSyncTime;
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
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.FireBrigadeDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@Mapper
|
||||
public interface FireBrigadeMapper extends BaseMapper<FireBrigadeDO> {
|
||||
|
||||
IPage<FireBrigadeDO> selectPageSql(IPage<FireBrigadeDO> page,
|
||||
@Param("brigadeName") String brigadeName,
|
||||
@Param("tenantId") Long tenantId);
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.zcloud.zcGbsServicer.persistence.repository;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeDO;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface FireBrigadeRepository extends BaseRepository<FireBrigadeDO> {
|
||||
|
||||
PageResponse<FireBrigadeDO> listPage(Map<String, Object> params);
|
||||
|
||||
boolean existsByBrigadeName(String brigadeName, Long excludeId);
|
||||
|
||||
FireBrigadeDO getByFireBrigadeId(String fireBrigadeId);
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
package com.zcloud.zcGbsServicer.persistence.repository.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
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.FireBrigadeDO;
|
||||
import com.zcloud.zcGbsServicer.persistence.mapper.FireBrigadeMapper;
|
||||
import com.zcloud.zcGbsServicer.persistence.repository.FireBrigadeRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class FireBrigadeRepositoryImpl extends BaseRepositoryImpl<FireBrigadeMapper, FireBrigadeDO> implements FireBrigadeRepository {
|
||||
|
||||
private final FireBrigadeMapper fireBrigadeMapper;
|
||||
|
||||
@Override
|
||||
public PageResponse<FireBrigadeDO> listPage(Map<String, Object> params) {
|
||||
IPage<FireBrigadeDO> page = new Query<FireBrigadeDO>().getPage(params);
|
||||
String brigadeName = params == null ? null : (String) params.get("brigadeName");
|
||||
IPage<FireBrigadeDO> result = fireBrigadeMapper.selectPageSql(page, brigadeName, AuthContext.getTenantId());
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean existsByBrigadeName(String brigadeName, Long excludeId) {
|
||||
if (StrUtil.isBlank(brigadeName)) {
|
||||
return false;
|
||||
}
|
||||
LambdaQueryWrapper<FireBrigadeDO> wrapper = new LambdaQueryWrapper<FireBrigadeDO>()
|
||||
.eq(FireBrigadeDO::getBrigadeName, brigadeName.trim())
|
||||
.eq(FireBrigadeDO::getTenantId, AuthContext.getTenantId())
|
||||
.eq(FireBrigadeDO::getDeleteEnum, "FALSE");
|
||||
if (excludeId != null) {
|
||||
wrapper.ne(FireBrigadeDO::getId, excludeId);
|
||||
}
|
||||
return this.count(wrapper) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FireBrigadeDO getByFireBrigadeId(String fireBrigadeId) {
|
||||
return this.getOne(new LambdaQueryWrapper<FireBrigadeDO>()
|
||||
.eq(FireBrigadeDO::getFireBrigadeId, fireBrigadeId)
|
||||
.eq(FireBrigadeDO::getTenantId, AuthContext.getTenantId())
|
||||
.eq(FireBrigadeDO::getDeleteEnum, "FALSE")
|
||||
.last("limit 1"));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<?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.FireBrigadeMapper">
|
||||
|
||||
<select id="selectPageSql" resultType="com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeDO">
|
||||
SELECT *
|
||||
FROM fire_brigade
|
||||
<where>
|
||||
delete_enum = 'FALSE'
|
||||
<if test="tenantId != null">
|
||||
AND tenant_id = #{tenantId}
|
||||
</if>
|
||||
<if test="brigadeName != null and brigadeName != ''">
|
||||
AND brigade_name LIKE CONCAT('%', #{brigadeName}, '%')
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue