From cedcdbbb33128deb3cf0143949f81ba6a61f4ca9 Mon Sep 17 00:00:00 2001 From: xjm Date: Fri, 31 May 2024 09:20:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/data.sql | 23 ++--- sql/dm_start.sql | 2 +- .../controller/AddressBookController.java | 94 ++++++++++++++----- .../whdc/controller/VersionsController.java | 5 +- .../java/com/whdc/model/entity/AbUdR.java | 15 +-- .../whdc/service/impl/AdinfoServiceImpl.java | 2 +- .../service/impl/VersionsServiceImpl.java | 6 +- src/main/resources/application.yml | 4 +- 8 files changed, 96 insertions(+), 55 deletions(-) diff --git a/sql/data.sql b/sql/data.sql index 037997e..59635b3 100644 --- a/sql/data.sql +++ b/sql/data.sql @@ -1,15 +1,16 @@ - SET IDENTITY_INSERT FXKH_TXL.ORGANIZATION ON; -insert into "FXKH_TXL"."ORGANIZATION"("ID", "NAME") VALUES - ('2','省防办' ), - ('3','省防指成员单位' ), - ('4','市、县防指、防办' ), - ('5','主要湖泊' ), - ('6','重要堤防' ), - ('7','主要蓄滞洪区' ), - ('8','大型水库大坝' ), - ('9','重点泵站' ), - ('10','大中型涵闸' ); +DELETE FROM FXKH_TXL.ORGANIZATION; +SET IDENTITY_INSERT FXKH_TXL.ORGANIZATION ON; +insert into "FXKH_TXL"."ORGANIZATION"("ID", "NAME") VALUES + ('1','湖北省防汛抗旱指挥部成员' ), + ('2','国家防汛抗旱总指挥部办公室(应急部防汛抗旱司)' ), + ('3','长江委水旱灾害防御局' ), + ('4','湖北省省直机关有关单位和部队联系处(室)' ), + ('5','湖北省应急管理厅机关' ), + ('6','湖北省水利厅' ), + ('7','市、州、县防指(防办)' ), + ('8','有关单位' ), + ('9','省应急管理厅机关常用电话' ); SET IDENTITY_INSERT FXKH_TXL.ORGANIZATION Off; insert into "FXKH_TXL"."USERS"("USERNAME", "PASSWORD", "SALT", "ROLE", "AB_ID") diff --git a/sql/dm_start.sql b/sql/dm_start.sql index ed51281..74e2316 100644 --- a/sql/dm_start.sql +++ b/sql/dm_start.sql @@ -46,7 +46,7 @@ COMMENT ON COLUMN "FXKH_TXL"."ADINFO"."ADNM" IS '政区名称'; CREATE TABLE "FXKH_TXL"."UNIT_DICT" ( "ID" INTEGER IDENTITY(1, 1) NOT NULL, - "NAME" VARCHAR(50) NOT NULL, + "NAME" VARCHAR(80) NOT NULL, "SORT" INTEGER DEFAULT 0 NOT NULL, "O_ID" INTEGER NOT NULL, NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; diff --git a/src/main/java/com/whdc/controller/AddressBookController.java b/src/main/java/com/whdc/controller/AddressBookController.java index ab4d8f4..40bba15 100644 --- a/src/main/java/com/whdc/controller/AddressBookController.java +++ b/src/main/java/com/whdc/controller/AddressBookController.java @@ -104,6 +104,9 @@ public class AddressBookController { return ResultJson.error("权限不足"); case R001: case R099: + if (Integer.parseInt(model.getRole()) > Integer.parseInt(user.getRole())) { + return ResultJson.error("权限不足!"); + } break; default: return ResultJson.error("权限不足!!"); @@ -139,12 +142,14 @@ public class AddressBookController { return ResultJson.error("该手机号已存在"); } - // 添加日志 - versionsService.saveInfo(model, VersionsType.ADD,model.getAdcd()); - model.setId(null); + model.setId(null); boolean save = service.save(model); + // 添加日志 + String adcd = model.getAdcd(); + versionsService.saveInfo(model, VersionsType.ADD, adcd); + if (save) { // 没有手机号用名字注册 //"省防指".equals(organizationsService.getById(model.getOrganization()).getName()) @@ -160,11 +165,29 @@ public class AddressBookController { userService.register(model.getPhone(), model.getId(), model.getRole()); } - if (StringUtils.isNotBlank(model.getAdcd())) { - abUdRService.save(new AbUdR(model.getId(), Integer.valueOf(model.getAdcd().replaceFirst("000000", "")), model.getSort(), model.getType())); + if (StringUtils.isNotBlank(adcd)) { + List list = abUdRService.lambdaQuery().eq(AbUdR::getDictId, model.getAdcd()) + .select(AbUdR::getSort) + .orderByDesc(AbUdR::getSort) + .list(); + Integer sort = 0; + if (CollectionUtils.isNotEmpty(list)) { + AbUdR abUdR = list.get(0); + sort = abUdR.getSort() + 1; + } + abUdRService.save(new AbUdR(model.getId(), adcd.replaceFirst("000000", ""), ++sort, model.getType())); } else { + List list = abUdRService.lambdaQuery().eq(AbUdR::getDictId, model.getOrganization()) + .select(AbUdR::getSort) + .orderByDesc(AbUdR::getSort) + .list(); + Integer sort = 0; + if (CollectionUtils.isNotEmpty(list)) { + AbUdR abUdR = list.get(0); + sort = abUdR.getSort() + 1; + } // 添加关联关系` - abUdRService.save(new AbUdR(model.getId(), Integer.valueOf(model.getOrganization()), model.getSort(), model.getType())); + abUdRService.save(new AbUdR(model.getId(), model.getOrganization(), sort, model.getType())); } } @@ -190,6 +213,9 @@ public class AddressBookController { ; case R001: case R099: + if (Integer.parseInt(model.getRole()) > Integer.parseInt(user.getRole())) { + return ResultJson.error("权限不足!"); + } break; default: return ResultJson.error("权限不足!!"); @@ -246,23 +272,26 @@ public class AddressBookController { // // 添加日志 // versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.UPDATE.getName())); String adcd = model.getAdcd(); - if (StringUtils.isBlank(adcd)){ + if (StringUtils.isBlank(adcd)) { adcd = byId.getAdcd(); } model.setRole(user.getRole()); - versionsService.saveInfo(model, VersionsType.UPDATE,adcd); + versionsService.saveInfo(model, VersionsType.UPDATE, adcd); boolean data = service.updateById(model); if (data) { String organization = model.getOrganization(); if (StringUtils.isNotBlank(model.getAdcd())) { organization = model.getAdcd().replaceFirst("000000", ""); } - boolean update = abUdRService.lambdaUpdate() - .set(AbUdR::getSort, model.getSort()) - .set(AbUdR::getDictId, organization) - .eq(AbUdR::getAdId, model.getId()) - .update(); - log.info("修改abUdR: " + update); + Integer sort = model.getSort(); + if (0 != sort){ + boolean update = abUdRService.lambdaUpdate() + .set(AbUdR::getSort, sort) + .set(AbUdR::getDictId, organization) + .eq(AbUdR::getAdId, model.getId()) + .update(); + log.info("修改abUdR: " + update); + } User one = userService.lambdaQuery().eq(User::getAbId, model.getId()).one(); if (Objects.nonNull(one)) { @@ -315,7 +344,7 @@ public class AddressBookController { case R000: case R001: case R099: { - if (Integer.parseInt(model.getRole()) > Integer.parseInt(user.getRole())){ + if (Integer.parseInt(model.getRole()) > Integer.parseInt(user.getRole())) { return ResultJson.error("权限不足"); } break; @@ -346,7 +375,13 @@ public class AddressBookController { // versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.UPDATE_ROLE.getName())); byId.setOname(model.getOname()); byId.setRole(model.getRole()); - versionsService.saveInfo(byId, VersionsType.UPDATE_ROLE,byId.getAdcd()); + + try { + Thread.sleep(100); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + versionsService.saveInfo(byId, VersionsType.UPDATE_ROLE, byId.getAdcd()); // 只修改角色 @@ -366,23 +401,29 @@ public class AddressBookController { Integer loginId = Integer.valueOf(String.valueOf(StpUtil.getLoginId())); User user = userService.getRole(loginId); + AddressBook model = service.getById(id); + + if (Objects.isNull(model)) { + return ResultJson.error("当前数据不存在"); + } + + User delUser = userService.lambdaQuery() + .eq(User::getAbId,model.getId()) + .one(); switch (Objects.requireNonNull(Role.getByName(user.getRole()))) { case R000: case R001: - return ResultJson.error("权限不足"); case R099: + if (Integer.parseInt(delUser.getRole()) > Integer.parseInt(user.getRole())) { + return ResultJson.error("权限不足"); + } break; default: return ResultJson.error("权限不足!!"); } - AddressBook model = service.getById(id); - if (Objects.isNull(model)) { - return ResultJson.error("当前数据不存在"); - - } // List list = versionsService.lambdaQuery() @@ -399,7 +440,7 @@ public class AddressBookController { // } // // 添加日志 // versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.DEL.getName())); - versionsService.saveInfo(model, VersionsType.DEL,model.getAdcd()); + versionsService.saveInfo(model, VersionsType.DEL, model.getAdcd()); return ResultJson.ok(service.removeById(id)); @@ -447,8 +488,8 @@ public class AddressBookController { @ApiOperation(value = "通过行政区划下载excel") @GetMapping(value = "getExcel/{adnm}") public void getExcel(@PathVariable("adnm") - @ApiParam(value = "名称,all: 查询全部") - String adnm, HttpServletResponse response) { + @ApiParam(value = "名称,all: 查询全部") + String adnm, HttpServletResponse response) { // 查询全部标识 if ("all".equals(adnm)) { @@ -514,7 +555,8 @@ public class AddressBookController { } } - }; + } + ; if (CollectionUtils.isEmpty(data)) { throw new MyException("当前行政区划责任人为空"); diff --git a/src/main/java/com/whdc/controller/VersionsController.java b/src/main/java/com/whdc/controller/VersionsController.java index 6f9dd48..c562d3f 100644 --- a/src/main/java/com/whdc/controller/VersionsController.java +++ b/src/main/java/com/whdc/controller/VersionsController.java @@ -44,12 +44,13 @@ public class VersionsController { } @ApiOperation(value = "通过版本号查询") - @GetMapping(value = "getByV/{abId}/{version}") + @GetMapping(value = "getByV/{abId}/{version}/{type}") public ResultJson getByV(@PathVariable("abId") Integer abId, @PathVariable("version") Integer version) { if (version < 0) { return ResultJson.error("版本号不能小于0"); } - return ResultJson.ok(service.lambdaQuery().eq(Versions::getAbId, abId) + return ResultJson.ok(service.lambdaQuery() + .eq(Versions::getAbId, abId) .eq(Versions::getVersion, version).one()); } diff --git a/src/main/java/com/whdc/model/entity/AbUdR.java b/src/main/java/com/whdc/model/entity/AbUdR.java index afeae8e..9452754 100644 --- a/src/main/java/com/whdc/model/entity/AbUdR.java +++ b/src/main/java/com/whdc/model/entity/AbUdR.java @@ -1,6 +1,6 @@ package com.whdc.model.entity; -import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import io.swagger.annotations.ApiModel; @@ -10,13 +10,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; -import com.whdc.model.group.Insert; -import com.whdc.model.group.Update; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull;import java.io.Serializable; -import java.util.Date; -import java.math.BigDecimal; -import java.util.Date; + +import java.io.Serializable; /** @@ -39,13 +34,13 @@ public class AbUdR extends Model implements Serializable { @TableField("DICT_ID") @ApiModelProperty(value = "字典id") - private Integer dictId; + private String dictId; @TableField("SORT") @ApiModelProperty(value = "序号") private Integer sort; @TableField("TYPE") - @ApiModelProperty(value = "0:组织,1:单位") + @ApiModelProperty(value = "0:组织,1:单位,2:行政区划") private String type; } \ No newline at end of file diff --git a/src/main/java/com/whdc/service/impl/AdinfoServiceImpl.java b/src/main/java/com/whdc/service/impl/AdinfoServiceImpl.java index c3b92fd..d707351 100644 --- a/src/main/java/com/whdc/service/impl/AdinfoServiceImpl.java +++ b/src/main/java/com/whdc/service/impl/AdinfoServiceImpl.java @@ -87,7 +87,7 @@ public class AdinfoServiceImpl extends ServiceImpl impleme AdcdTree adcdTree1 = new AdcdTree(); BeanUtils.copyProperties(adcdTree,adcdTree1); if (CollectionUtils.isNotEmpty(adcdChildren)){ - adcdChildren.add(0,adcdTree1); +// adcdChildren.add(0,adcdTree1); } adcdTree.setChildren(adcdChildren); addTree(city, provinceStr, adcdTree); diff --git a/src/main/java/com/whdc/service/impl/VersionsServiceImpl.java b/src/main/java/com/whdc/service/impl/VersionsServiceImpl.java index 8380a3d..28d25d4 100644 --- a/src/main/java/com/whdc/service/impl/VersionsServiceImpl.java +++ b/src/main/java/com/whdc/service/impl/VersionsServiceImpl.java @@ -63,8 +63,6 @@ public class VersionsServiceImpl extends ServiceImpl i .stream().map(Versions::getVersion) .max(Comparator.comparing(Integer::intValue)) .get(); - } else { - log.info("当前数据在进行修改但无相关记录;" + model.getId()); } } @@ -78,11 +76,13 @@ public class VersionsServiceImpl extends ServiceImpl i version = i; } } + // 添加日志 + ++version; // 查询当前版本是否存在 Versions entity = new Versions(null, - JSON.toJSONString(model), model.getId(), ++version, adcd,String.valueOf(StpUtil.getLoginId()), new Date(),versionsType.getName(), + JSON.toJSONString(model), model.getId(), version , adcd,String.valueOf(StpUtil.getLoginId()), new Date(),versionsType.getName(), null, null ); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b3e3180..a9aa67f 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -2,7 +2,9 @@ server: port: 20020 servlet: context-path: /fxkhtxl - + session: + # 配置会话超时 + timeout: 120s spring: #数据库配置 datasource: