代码提交
parent
03c54e4cc5
commit
9dca0dd6a3
12
pom.xml
12
pom.xml
|
|
@ -186,6 +186,18 @@
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- joda-time end -->
|
<!-- joda-time end -->
|
||||||
|
|
||||||
|
<!-- Sa-Token 权限认证, 在线文档:http://sa-token.dev33.cn/ -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.dev33</groupId>
|
||||||
|
<artifactId>sa-token-spring-boot-starter</artifactId>
|
||||||
|
<version>1.30.0</version>
|
||||||
|
</dependency><!-- Sa-Token 整合 Redis (使用 jackson 序列化方式) -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.dev33</groupId>
|
||||||
|
<artifactId>sa-token-dao-redis-jackson</artifactId>
|
||||||
|
<version>1.30.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ CREATE TABLE "FXKH_TXL"."ADDRESS_BOOK"
|
||||||
"URL" VARCHAR(200),
|
"URL" VARCHAR(200),
|
||||||
"SORT" INTEGER DEFAULT 0,
|
"SORT" INTEGER DEFAULT 0,
|
||||||
"V" INTEGER DEFAULT 0,
|
"V" INTEGER DEFAULT 0,
|
||||||
"ROLE" CHAR(1) DEFAULT 0,
|
|
||||||
NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
|
NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
|
||||||
|
|
||||||
COMMENT ON TABLE "FXKH_TXL"."ADDRESS_BOOK" IS '通讯录';
|
COMMENT ON TABLE "FXKH_TXL"."ADDRESS_BOOK" IS '通讯录';
|
||||||
|
|
@ -21,7 +20,6 @@ COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."NAME" IS '姓名';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."ORGANIZATION" IS '组织';
|
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."ORGANIZATION" IS '组织';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."PHONE" IS '手机号';
|
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."PHONE" IS '手机号';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."POSITION" IS '职务';
|
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."POSITION" IS '职务';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."ROLE" IS '0:普通管理员,1:政区管理员,99:系统管理员';
|
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."SORT" IS '序号';
|
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."SORT" IS '序号';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."TEL" IS '电话';
|
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."TEL" IS '电话';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."URL" IS '图片路径';
|
COMMENT ON COLUMN "FXKH_TXL"."ADDRESS_BOOK"."URL" IS '图片路径';
|
||||||
|
|
@ -44,13 +42,13 @@ CREATE TABLE "FXKH_TXL"."UNIT_DICT"
|
||||||
"ID" INTEGER IDENTITY(1, 1) NOT NULL,
|
"ID" INTEGER IDENTITY(1, 1) NOT NULL,
|
||||||
"NAME" VARCHAR(50) NOT NULL,
|
"NAME" VARCHAR(50) NOT NULL,
|
||||||
"SORT" INTEGER DEFAULT 0 NOT NULL,
|
"SORT" INTEGER DEFAULT 0 NOT NULL,
|
||||||
"TYPE" CHAR(1) NOT NULL,
|
"O_ID" INTEGER NOT NULL,
|
||||||
NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
|
NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
|
||||||
|
|
||||||
COMMENT ON TABLE "FXKH_TXL"."UNIT_DICT" IS '单位字典表';
|
COMMENT ON TABLE "FXKH_TXL"."UNIT_DICT" IS '单位字典表';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."UNIT_DICT"."NAME" IS '名称';
|
COMMENT ON COLUMN "FXKH_TXL"."UNIT_DICT"."NAME" IS '名称';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."UNIT_DICT"."SORT" IS '序号';
|
COMMENT ON COLUMN "FXKH_TXL"."UNIT_DICT"."SORT" IS '序号';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."UNIT_DICT"."TYPE" IS '1:联络名单, 2: 湖泊及涉湖泵站,3:重要提防,4:大型水库大坝';
|
COMMENT ON COLUMN "FXKH_TXL"."UNIT_DICT"."O_ID" IS '组织类型Id';
|
||||||
|
|
||||||
|
|
||||||
CREATE TABLE "FXKH_TXL"."FC"
|
CREATE TABLE "FXKH_TXL"."FC"
|
||||||
|
|
@ -90,11 +88,9 @@ CREATE TABLE "FXKH_TXL"."ORGANIZATION"
|
||||||
"OBJ_ID" VARCHAR(50) NOT NULL,
|
"OBJ_ID" VARCHAR(50) NOT NULL,
|
||||||
"NAME" VARCHAR(50) NOT NULL,
|
"NAME" VARCHAR(50) NOT NULL,
|
||||||
"SORT" INTEGER DEFAULT 0,
|
"SORT" INTEGER DEFAULT 0,
|
||||||
"ADCD" CHAR(15) NOT NULL,
|
|
||||||
NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
|
NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
|
||||||
|
|
||||||
COMMENT ON TABLE "FXKH_TXL"."ORGANIZATION" IS '组织表';
|
COMMENT ON TABLE "FXKH_TXL"."ORGANIZATION" IS '组织表';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."ORGANIZATION"."ADCD" IS '政区编码';
|
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."ORGANIZATION"."NAME" IS '名称';
|
COMMENT ON COLUMN "FXKH_TXL"."ORGANIZATION"."NAME" IS '名称';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."ORGANIZATION"."OBJ_ID" IS '编号';
|
COMMENT ON COLUMN "FXKH_TXL"."ORGANIZATION"."OBJ_ID" IS '编号';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."ORGANIZATION"."SORT" IS '序号';
|
COMMENT ON COLUMN "FXKH_TXL"."ORGANIZATION"."SORT" IS '序号';
|
||||||
|
|
@ -103,14 +99,20 @@ COMMENT ON COLUMN "FXKH_TXL"."ORGANIZATION"."SORT" IS '序号';
|
||||||
CREATE TABLE "FXKH_TXL"."USER"
|
CREATE TABLE "FXKH_TXL"."USER"
|
||||||
(
|
(
|
||||||
"ID" INTEGER IDENTITY(1, 1) NOT NULL,
|
"ID" INTEGER IDENTITY(1, 1) NOT NULL,
|
||||||
|
"USERNAME" VARCHAR(50) NOT NULL,
|
||||||
"PASSWORD" VARCHAR(50) NOT NULL,
|
"PASSWORD" VARCHAR(50) NOT NULL,
|
||||||
"SALT" VARCHAR(50),
|
"SALT" VARCHAR(50),
|
||||||
|
"ROLE" CHAR(1) DEFAULT 0,
|
||||||
"AB_ID" INTEGER,
|
"AB_ID" INTEGER,
|
||||||
|
"LAST_DATE" DATETIME(0),
|
||||||
NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
|
NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
|
||||||
|
|
||||||
COMMENT ON TABLE "FXKH_TXL"."USER" IS '用户表';
|
COMMENT ON TABLE "FXKH_TXL"."USER" IS '用户表';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."USER"."AB_ID" IS '通讯录id';
|
COMMENT ON COLUMN "FXKH_TXL"."USER"."AB_ID" IS '通讯录id';
|
||||||
|
COMMENT ON COLUMN "FXKH_TXL"."USER"."USERNAME" IS '用户名';
|
||||||
|
COMMENT ON COLUMN "FXKH_TXL"."USER"."ROLE" IS '0:普通管理员,1:政区管理员,99:系统管理员';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."USER"."PASSWORD" IS '密码';
|
COMMENT ON COLUMN "FXKH_TXL"."USER"."PASSWORD" IS '密码';
|
||||||
|
COMMENT ON COLUMN "FXKH_TXL"."USER"."LAST_DATE" IS '最后登录时间';
|
||||||
COMMENT ON COLUMN "FXKH_TXL"."USER"."SALT" IS '盐值';
|
COMMENT ON COLUMN "FXKH_TXL"."USER"."SALT" IS '盐值';
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,16 @@
|
||||||
package com.whdc.controller;
|
package com.whdc.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import com.whdc.model.dto.AddressBootDto;
|
import com.whdc.model.dto.AddressBootDto;
|
||||||
import com.whdc.model.entity.AddressBook;
|
import com.whdc.model.entity.AddressBook;
|
||||||
|
import com.whdc.model.entity.User;
|
||||||
|
import com.whdc.model.enums.Role;
|
||||||
import com.whdc.model.enums.VersionsType;
|
import com.whdc.model.enums.VersionsType;
|
||||||
import com.whdc.model.group.Insert;
|
import com.whdc.model.group.Insert;
|
||||||
import com.whdc.model.group.Update;
|
import com.whdc.model.group.Update;
|
||||||
import com.whdc.service.IAddressBookService;
|
import com.whdc.service.IAddressBookService;
|
||||||
|
import com.whdc.service.IUserService;
|
||||||
import com.whdc.service.IVersionsService;
|
import com.whdc.service.IVersionsService;
|
||||||
import com.whdc.utils.ResultJson;
|
import com.whdc.utils.ResultJson;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
|
|
@ -32,6 +36,9 @@ public class AddressBookController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAddressBookService service;
|
private IAddressBookService service;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IUserService userService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IVersionsService versionsService;
|
private IVersionsService versionsService;
|
||||||
|
|
||||||
|
|
@ -57,6 +64,15 @@ public class AddressBookController {
|
||||||
@ApiOperation(value = "添加")
|
@ApiOperation(value = "添加")
|
||||||
@PostMapping(value = "save")
|
@PostMapping(value = "save")
|
||||||
public ResultJson insert(@RequestBody @Validated(Insert.class) AddressBook model) {
|
public ResultJson insert(@RequestBody @Validated(Insert.class) AddressBook model) {
|
||||||
|
Integer loginId = (Integer) StpUtil.getLoginId();
|
||||||
|
String role = userService.getRole(loginId);
|
||||||
|
|
||||||
|
switch (Objects.requireNonNull(Role.getByName(role))) {
|
||||||
|
case R000:return ResultJson.error("权限不足");
|
||||||
|
case R001:
|
||||||
|
case R099:break;
|
||||||
|
default:return ResultJson.error("权限不足!!");
|
||||||
|
}
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(
|
if (CollectionUtils.isNotEmpty(
|
||||||
service.lambdaQuery()
|
service.lambdaQuery()
|
||||||
|
|
@ -68,9 +84,14 @@ public class AddressBookController {
|
||||||
|
|
||||||
// 添加日志
|
// 添加日志
|
||||||
versionsService.saveInfo(model,VersionsType.ADD);
|
versionsService.saveInfo(model,VersionsType.ADD);
|
||||||
// versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),null,model.getCreateId(),new Date(), VersionsType.ADD.getName()));
|
|
||||||
|
|
||||||
return ResultJson.ok(service.save(model));
|
boolean save = service.save(model);
|
||||||
|
|
||||||
|
if (save){
|
||||||
|
userService.register( model.getPhone(), model.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResultJson.ok(save);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -78,6 +99,22 @@ public class AddressBookController {
|
||||||
@PostMapping(value = "edit")
|
@PostMapping(value = "edit")
|
||||||
public ResultJson update(@RequestBody @Validated(Update.class) AddressBook model) {
|
public ResultJson update(@RequestBody @Validated(Update.class) AddressBook model) {
|
||||||
|
|
||||||
|
Integer loginId = (Integer) StpUtil.getLoginId();
|
||||||
|
String role = userService.getRole(loginId);
|
||||||
|
|
||||||
|
switch (Objects.requireNonNull(Role.getByName(role))) {
|
||||||
|
case R000:{
|
||||||
|
// 不是修改自己
|
||||||
|
if (!model.getId().equals(loginId)){
|
||||||
|
return ResultJson.error("权限不足");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
case R001:
|
||||||
|
case R099:break;
|
||||||
|
default:return ResultJson.error("权限不足!!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
AddressBook byId = service.getById(model.getId());
|
AddressBook byId = service.getById(model.getId());
|
||||||
if (Objects.isNull(byId)){
|
if (Objects.isNull(byId)){
|
||||||
return ResultJson.error("当前数据不存在");
|
return ResultJson.error("当前数据不存在");
|
||||||
|
|
@ -108,16 +145,25 @@ public class AddressBookController {
|
||||||
// versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.UPDATE.getName()));
|
// versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.UPDATE.getName()));
|
||||||
versionsService.saveInfo(model,VersionsType.UPDATE);
|
versionsService.saveInfo(model,VersionsType.UPDATE);
|
||||||
|
|
||||||
// 不修改角色
|
|
||||||
model.setRole(byId.getRole());
|
|
||||||
return ResultJson.ok(service.updateById(model));
|
return ResultJson.ok(service.updateById(model));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "修改权限")
|
@ApiOperation(value = "修改权限")
|
||||||
@PostMapping(value = "edit")
|
@PostMapping(value = "edit")
|
||||||
public ResultJson updateRole(@RequestBody @Validated(Update.class) AddressBook model) {
|
public ResultJson updateRole(@RequestBody @Validated(Update.class) User model) {
|
||||||
|
|
||||||
AddressBook byId = service.getById(model.getId());
|
|
||||||
|
Integer loginId = (Integer) StpUtil.getLoginId();
|
||||||
|
String role = userService.getRole(loginId);
|
||||||
|
|
||||||
|
switch (Objects.requireNonNull(Role.getByName(role))) {
|
||||||
|
case R000:
|
||||||
|
case R001: return ResultJson.error("权限不足");
|
||||||
|
case R099:break;
|
||||||
|
default:return ResultJson.error("权限不足!!");
|
||||||
|
}
|
||||||
|
|
||||||
|
AddressBook byId = service.getById(model.getAbId());
|
||||||
if (Objects.isNull(byId)){
|
if (Objects.isNull(byId)){
|
||||||
return ResultJson.error("当前数据不存在");
|
return ResultJson.error("当前数据不存在");
|
||||||
}
|
}
|
||||||
|
|
@ -137,12 +183,13 @@ public class AddressBookController {
|
||||||
// }
|
// }
|
||||||
// // 添加日志
|
// // 添加日志
|
||||||
// versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.UPDATE_ROLE.getName()));
|
// versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.UPDATE_ROLE.getName()));
|
||||||
versionsService.saveInfo(model,VersionsType.UPDATE_ROLE);
|
versionsService.saveInfo(byId,VersionsType.UPDATE_ROLE);
|
||||||
|
|
||||||
|
|
||||||
// 只修改角色
|
// 只修改角色
|
||||||
boolean update = service.lambdaUpdate().set(AddressBook::getRole, model.getRole())
|
|
||||||
.eq(AddressBook::getId, model.getId())
|
boolean update = userService.lambdaUpdate().set(User::getRole, model.getRole())
|
||||||
|
.eq(User::getAbId, model.getAbId())
|
||||||
.update();
|
.update();
|
||||||
return ResultJson.ok(update);
|
return ResultJson.ok(update);
|
||||||
}
|
}
|
||||||
|
|
@ -153,6 +200,16 @@ public class AddressBookController {
|
||||||
public ResultJson delete(@PathVariable("id") Integer id) {
|
public ResultJson delete(@PathVariable("id") Integer id) {
|
||||||
|
|
||||||
|
|
||||||
|
Integer loginId = (Integer) StpUtil.getLoginId();
|
||||||
|
String role = userService.getRole(loginId);
|
||||||
|
|
||||||
|
switch (Objects.requireNonNull(Role.getByName(role))) {
|
||||||
|
case R000:
|
||||||
|
case R001: return ResultJson.error("权限不足");
|
||||||
|
case R099:break;
|
||||||
|
default:return ResultJson.error("权限不足!!");
|
||||||
|
}
|
||||||
|
|
||||||
AddressBook model = service.getById(id);
|
AddressBook model = service.getById(id);
|
||||||
if (Objects.isNull(model)) {
|
if (Objects.isNull(model)) {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
package com.whdc.controller;
|
package com.whdc.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.whdc.model.dto.FcDto;
|
||||||
import com.whdc.model.entity.Fc;
|
import com.whdc.model.entity.Fc;
|
||||||
|
import com.whdc.model.group.Find;
|
||||||
import com.whdc.model.group.Insert;
|
import com.whdc.model.group.Insert;
|
||||||
import com.whdc.model.group.Update;
|
import com.whdc.model.group.Update;
|
||||||
|
import com.whdc.model.vo.FcVo;
|
||||||
import com.whdc.service.IFcService;
|
import com.whdc.service.IFcService;
|
||||||
import com.whdc.utils.ResultJson;
|
import com.whdc.utils.ResultJson;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
|
|
@ -31,8 +34,8 @@ public class FcController {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "查询所有")
|
// @ApiOperation(value = "查询所有")
|
||||||
@PostMapping(value = "find")
|
// @PostMapping(value = "find")
|
||||||
public ResultJson<Fc> find(@RequestBody Fc dto) {
|
public ResultJson<Fc> find(@RequestBody Fc dto) {
|
||||||
|
|
||||||
return ResultJson.ok(service.find(dto));
|
return ResultJson.ok(service.find(dto));
|
||||||
|
|
@ -41,7 +44,7 @@ public class FcController {
|
||||||
|
|
||||||
@ApiOperation(value = "分页查询")
|
@ApiOperation(value = "分页查询")
|
||||||
@PostMapping(value = "page")
|
@PostMapping(value = "page")
|
||||||
public ResultJson<Fc> page(@RequestBody Fc dto) {
|
public ResultJson<FcVo> page(@RequestBody @Validated(Find.class) FcDto dto) {
|
||||||
|
|
||||||
return ResultJson.ok(service.page(dto));
|
return ResultJson.ok(service.page(dto));
|
||||||
|
|
||||||
|
|
@ -54,7 +57,8 @@ public class FcController {
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(
|
if (CollectionUtils.isNotEmpty(
|
||||||
service.lambdaQuery()
|
service.lambdaQuery()
|
||||||
.eq(Fc::getName,String.valueOf(model.getName()).trim())
|
.eq(Fc::getUserId,String.valueOf(model.getUserId()).trim())
|
||||||
|
.eq(Fc::getAbId,String.valueOf(model.getAbId()).trim())
|
||||||
.list())
|
.list())
|
||||||
){
|
){
|
||||||
return ResultJson.error("该名称重复");
|
return ResultJson.error("该名称重复");
|
||||||
|
|
@ -70,7 +74,8 @@ public class FcController {
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(
|
if (CollectionUtils.isNotEmpty(
|
||||||
service.lambdaQuery()
|
service.lambdaQuery()
|
||||||
.eq(Fc::getName,String.valueOf(model.getName()).trim())
|
.eq(Fc::getUserId,String.valueOf(model.getUserId()).trim())
|
||||||
|
.eq(Fc::getAbId,String.valueOf(model.getAbId()).trim())
|
||||||
.ne(Fc::getId, model.getId())
|
.ne(Fc::getId, model.getId())
|
||||||
.list())
|
.list())
|
||||||
){
|
){
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.whdc.controller;
|
package com.whdc.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.whdc.model.dto.FindPageDto;
|
||||||
import com.whdc.model.entity.LoginInfo;
|
import com.whdc.model.entity.LoginInfo;
|
||||||
import com.whdc.model.group.Insert;
|
import com.whdc.model.group.Insert;
|
||||||
import com.whdc.model.group.Update;
|
import com.whdc.model.group.Update;
|
||||||
|
|
@ -14,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -41,7 +43,7 @@ public class LoginInfoController {
|
||||||
|
|
||||||
@ApiOperation(value = "分页查询")
|
@ApiOperation(value = "分页查询")
|
||||||
@PostMapping(value = "page")
|
@PostMapping(value = "page")
|
||||||
public ResultJson<LoginInfo> page(@RequestBody LoginInfo dto) {
|
public ResultJson<LoginInfo> page(@RequestBody FindPageDto dto) {
|
||||||
|
|
||||||
return ResultJson.ok(service.page(dto));
|
return ResultJson.ok(service.page(dto));
|
||||||
|
|
||||||
|
|
@ -51,38 +53,21 @@ public class LoginInfoController {
|
||||||
@ApiOperation(value = "添加")
|
@ApiOperation(value = "添加")
|
||||||
@PostMapping(value = "save")
|
@PostMapping(value = "save")
|
||||||
public ResultJson insert(@RequestBody @Validated(Insert.class) LoginInfo model) {
|
public ResultJson insert(@RequestBody @Validated(Insert.class) LoginInfo model) {
|
||||||
|
model.setCreateTime(new Date());
|
||||||
if (CollectionUtils.isNotEmpty(
|
|
||||||
service.lambdaQuery()
|
|
||||||
.eq(LoginInfo::getName,String.valueOf(model.getName()).trim())
|
|
||||||
.list())
|
|
||||||
){
|
|
||||||
return ResultJson.error("该名称重复");
|
|
||||||
}
|
|
||||||
|
|
||||||
return ResultJson.ok(service.save(model));
|
return ResultJson.ok(service.save(model));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "修改")
|
// @ApiOperation(value = "修改")
|
||||||
@PostMapping(value = "edit")
|
// @PostMapping(value = "edit")
|
||||||
public ResultJson update(@RequestBody @Validated(Update.class) LoginInfo model) {
|
public ResultJson update(@RequestBody @Validated(Update.class) LoginInfo model) {
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(
|
|
||||||
service.lambdaQuery()
|
|
||||||
.eq(LoginInfo::getName,String.valueOf(model.getName()).trim())
|
|
||||||
.ne(LoginInfo::getId, model.getId())
|
|
||||||
.list())
|
|
||||||
){
|
|
||||||
return ResultJson.error("该名称重复");
|
|
||||||
}
|
|
||||||
|
|
||||||
return ResultJson.ok(service.updateById(model));
|
return ResultJson.ok(service.updateById(model));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "删除")
|
// @ApiOperation(value = "删除")
|
||||||
@GetMapping(value = "del/{id}")
|
// @GetMapping(value = "del/{id}")
|
||||||
public ResultJson delete(@PathVariable("id") Integer id) {
|
public ResultJson delete(@PathVariable("id") Integer id) {
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.whdc.controller;
|
package com.whdc.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||||
import com.whdc.model.entity.Organization;
|
import com.whdc.model.entity.Organization;
|
||||||
import com.whdc.model.group.Insert;
|
import com.whdc.model.group.Insert;
|
||||||
import com.whdc.model.group.Update;
|
import com.whdc.model.group.Update;
|
||||||
|
|
@ -10,6 +11,7 @@ import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
@ -35,7 +37,18 @@ public class OrganizationController {
|
||||||
@PostMapping(value = "find")
|
@PostMapping(value = "find")
|
||||||
public ResultJson<Organization> find(@RequestBody Organization dto) {
|
public ResultJson<Organization> find(@RequestBody Organization dto) {
|
||||||
|
|
||||||
return ResultJson.ok(service.find(dto));
|
LambdaQueryChainWrapper<Organization> query = service.lambdaQuery();
|
||||||
|
String name = dto.getName();
|
||||||
|
if (StringUtils.isNotBlank(name)){
|
||||||
|
query.like(Organization::getName,name);
|
||||||
|
}
|
||||||
|
String objId = dto.getObjId();
|
||||||
|
if (StringUtils.isNotBlank(objId)){
|
||||||
|
query.eq(Organization::getObjId,objId);
|
||||||
|
}
|
||||||
|
|
||||||
|
query.orderByAsc(Organization::getSort);
|
||||||
|
return ResultJson.ok(query.list());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,20 @@
|
||||||
package com.whdc.controller;
|
package com.whdc.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||||
|
import com.whdc.model.entity.Organization;
|
||||||
import com.whdc.model.entity.UnitDict;
|
import com.whdc.model.entity.UnitDict;
|
||||||
|
import com.whdc.model.group.Find;
|
||||||
import com.whdc.model.group.Insert;
|
import com.whdc.model.group.Insert;
|
||||||
import com.whdc.model.group.Update;
|
import com.whdc.model.group.Update;
|
||||||
|
import com.whdc.service.IOrganizationService;
|
||||||
import com.whdc.service.IUnitDictService;
|
import com.whdc.service.IUnitDictService;
|
||||||
import com.whdc.utils.ResultJson;
|
import com.whdc.utils.ResultJson;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
@ -28,19 +33,34 @@ public class UnitDictController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IUnitDictService service;
|
private IUnitDictService service;
|
||||||
|
@Autowired
|
||||||
|
private IOrganizationService organizationService;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "查询所有")
|
@ApiOperation(value = "查询所有")
|
||||||
@PostMapping(value = "find")
|
@PostMapping(value = "find")
|
||||||
public ResultJson<UnitDict> find(@RequestBody UnitDict dto) {
|
public ResultJson<UnitDict> find(@RequestBody @Validated(Find.class) UnitDict dto) {
|
||||||
|
|
||||||
|
if (Objects.isNull(organizationService.getById( dto.getOId()))) {
|
||||||
|
return ResultJson.error("组织类型Id不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
LambdaQueryChainWrapper<UnitDict> query = service.lambdaQuery();
|
||||||
|
String name = dto.getName();
|
||||||
|
if (StringUtils.isNotBlank(name)) {
|
||||||
|
query.like(UnitDict::getName, name);
|
||||||
|
}
|
||||||
|
query.eq(UnitDict::getOId, dto.getOId());
|
||||||
|
|
||||||
|
query.orderByAsc(UnitDict::getSort);
|
||||||
|
return ResultJson.ok(query.list());
|
||||||
|
|
||||||
return ResultJson.ok(service.find(dto));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "分页查询")
|
// @ApiOperation(value = "分页查询")
|
||||||
@PostMapping(value = "page")
|
// @PostMapping(value = "page")
|
||||||
public ResultJson<UnitDict> page(@RequestBody UnitDict dto) {
|
public ResultJson<UnitDict> page(@RequestBody UnitDict dto) {
|
||||||
|
|
||||||
return ResultJson.ok(service.page(dto));
|
return ResultJson.ok(service.page(dto));
|
||||||
|
|
@ -52,9 +72,14 @@ public class UnitDictController {
|
||||||
@PostMapping(value = "save")
|
@PostMapping(value = "save")
|
||||||
public ResultJson insert(@RequestBody @Validated(Insert.class) UnitDict model) {
|
public ResultJson insert(@RequestBody @Validated(Insert.class) UnitDict model) {
|
||||||
|
|
||||||
|
if (Objects.isNull(organizationService.getById( model.getOId()))) {
|
||||||
|
return ResultJson.error("组织类型Id不存在");
|
||||||
|
}
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(
|
if (CollectionUtils.isNotEmpty(
|
||||||
service.lambdaQuery()
|
service.lambdaQuery()
|
||||||
.eq(UnitDict::getName, String.valueOf(model.getName()).trim())
|
.eq(UnitDict::getName, String.valueOf(model.getName()).trim())
|
||||||
|
.eq(UnitDict::getOId, String.valueOf(model.getOId()).trim())
|
||||||
.list())
|
.list())
|
||||||
) {
|
) {
|
||||||
return ResultJson.error("该名称重复");
|
return ResultJson.error("该名称重复");
|
||||||
|
|
@ -68,9 +93,15 @@ public class UnitDictController {
|
||||||
@PostMapping(value = "edit")
|
@PostMapping(value = "edit")
|
||||||
public ResultJson update(@RequestBody @Validated(Update.class) UnitDict model) {
|
public ResultJson update(@RequestBody @Validated(Update.class) UnitDict model) {
|
||||||
|
|
||||||
|
|
||||||
|
if (Objects.isNull(organizationService.getById( model.getOId()))) {
|
||||||
|
return ResultJson.error("组织类型Id不存在");
|
||||||
|
}
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(
|
if (CollectionUtils.isNotEmpty(
|
||||||
service.lambdaQuery()
|
service.lambdaQuery()
|
||||||
.eq(UnitDict::getName, String.valueOf(model.getName()).trim())
|
.eq(UnitDict::getName, String.valueOf(model.getName()).trim())
|
||||||
|
.eq(UnitDict::getOId, String.valueOf(model.getOId()).trim())
|
||||||
.ne(UnitDict::getId, model.getId())
|
.ne(UnitDict::getId, model.getId())
|
||||||
.list())
|
.list())
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,13 @@
|
||||||
package com.whdc.controller;
|
package com.whdc.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
|
import com.whdc.model.dto.LoginDto;
|
||||||
import com.whdc.model.entity.User;
|
import com.whdc.model.entity.User;
|
||||||
import com.whdc.model.group.Insert;
|
import com.whdc.model.group.Insert;
|
||||||
import com.whdc.model.group.Update;
|
import com.whdc.model.group.Update;
|
||||||
|
import com.whdc.model.vo.AuthToken;
|
||||||
|
import com.whdc.model.vo.LoginVo;
|
||||||
import com.whdc.service.IUserService;
|
import com.whdc.service.IUserService;
|
||||||
import com.whdc.utils.ResultJson;
|
import com.whdc.utils.ResultJson;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
|
|
@ -14,6 +18,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -30,7 +36,37 @@ public class UserController {
|
||||||
private IUserService service;
|
private IUserService service;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "登录", notes = "登录后,从 tokenInfo 中获取 token 相关信息。headers[tokenName] = tokenValue ")
|
||||||
|
@PostMapping("doLogin")
|
||||||
|
public ResultJson<LoginVo> doLogin(@RequestBody @Validated LoginDto obj) throws InvocationTargetException, IllegalAccessException {
|
||||||
|
LoginVo loginVo = service.login(obj);
|
||||||
|
|
||||||
|
if (loginVo == null || loginVo.getId() == null) {
|
||||||
|
return ResultJson.error("登录失败");
|
||||||
|
} else {
|
||||||
|
StpUtil.login(loginVo.getId()); // 使用 user id 登录
|
||||||
|
// 获取 Token 相关参数
|
||||||
|
loginVo.setTokenInfo(new AuthToken(StpUtil.getTokenInfo()));
|
||||||
|
|
||||||
|
// 更新最后登录时间
|
||||||
|
service.updateLastDate(loginVo.getId());
|
||||||
|
|
||||||
|
return ResultJson.ok(loginVo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "查询登录状态")
|
||||||
|
@PostMapping("isLogin")
|
||||||
|
public ResultJson<AuthToken> isLogin() {
|
||||||
|
return ResultJson.ok(StpUtil.getTokenInfo());
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "按id踢人下线")
|
||||||
|
@PostMapping("kickout/{id}")
|
||||||
|
public ResultJson kickout(@PathVariable String id) {
|
||||||
|
StpUtil.kickout(id);
|
||||||
|
return ResultJson.ok("将用户[" + id + "]踢下线");
|
||||||
|
}
|
||||||
@ApiOperation(value = "查询所有")
|
@ApiOperation(value = "查询所有")
|
||||||
@PostMapping(value = "find")
|
@PostMapping(value = "find")
|
||||||
public ResultJson<User> find(@RequestBody User dto) {
|
public ResultJson<User> find(@RequestBody User dto) {
|
||||||
|
|
@ -48,19 +84,21 @@ public class UserController {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "添加")
|
// @ApiOperation(value = "注册")
|
||||||
@PostMapping(value = "save")
|
// @PostMapping(value = "register")
|
||||||
public ResultJson insert(@RequestBody @Validated(Insert.class) User model) {
|
public ResultJson insert(@RequestBody @Validated(Insert.class) User model) {
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(
|
if (CollectionUtils.isNotEmpty(
|
||||||
service.lambdaQuery()
|
service.lambdaQuery()
|
||||||
.eq(User::getName,String.valueOf(model.getName()).trim())
|
.eq(User::getUsername,String.valueOf(model.getUsername()).trim())
|
||||||
.list())
|
.list())
|
||||||
){
|
){
|
||||||
return ResultJson.error("该名称重复");
|
return ResultJson.error("该名称重复");
|
||||||
}
|
}
|
||||||
|
|
||||||
return ResultJson.ok(service.save(model));
|
|
||||||
|
|
||||||
|
return ResultJson.ok(service.register(model));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -70,7 +108,7 @@ public class UserController {
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(
|
if (CollectionUtils.isNotEmpty(
|
||||||
service.lambdaQuery()
|
service.lambdaQuery()
|
||||||
.eq(User::getName,String.valueOf(model.getName()).trim())
|
.eq(User::getUsername,String.valueOf(model.getUsername()).trim())
|
||||||
.ne(User::getId, model.getId())
|
.ne(User::getId, model.getId())
|
||||||
.list())
|
.list())
|
||||||
){
|
){
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ package com.whdc.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.whdc.model.dto.FcDto;
|
||||||
|
import com.whdc.model.vo.FcVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import com.whdc.model.entity.Fc;
|
import com.whdc.model.entity.Fc;
|
||||||
|
|
||||||
|
|
@ -13,7 +15,7 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public interface FcMapper extends BaseMapper<Fc> {
|
public interface FcMapper extends BaseMapper<Fc> {
|
||||||
|
|
||||||
IPage<Fc> page(@Param("page") IPage<Fc> page, @Param("dto") Fc dto);
|
IPage<FcVo> page(@Param("page") IPage<FcVo> page, @Param("dto") FcDto dto);
|
||||||
|
|
||||||
List<Fc> find(@Param("dto") Fc dto);
|
List<Fc> find(@Param("dto") Fc dto);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.whdc.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.whdc.model.dto.FindPageDto;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import com.whdc.model.entity.LoginInfo;
|
import com.whdc.model.entity.LoginInfo;
|
||||||
|
|
||||||
|
|
@ -13,7 +14,7 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public interface LoginInfoMapper extends BaseMapper<LoginInfo> {
|
public interface LoginInfoMapper extends BaseMapper<LoginInfo> {
|
||||||
|
|
||||||
IPage<LoginInfo> page(@Param("page") IPage<LoginInfo> page, @Param("dto") LoginInfo dto);
|
IPage<LoginInfo> page(@Param("page") IPage<LoginInfo> page, @Param("dto") FindPageDto dto);
|
||||||
|
|
||||||
List<LoginInfo> find(@Param("dto") LoginInfo dto);
|
List<LoginInfo> find(@Param("dto") LoginInfo dto);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.whdc.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.whdc.model.vo.LoginVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import com.whdc.model.entity.User;
|
import com.whdc.model.entity.User;
|
||||||
|
|
||||||
|
|
@ -17,4 +18,6 @@ public interface UserMapper extends BaseMapper<User> {
|
||||||
|
|
||||||
List<User> find(@Param("dto") User dto);
|
List<User> find(@Param("dto") User dto);
|
||||||
|
|
||||||
|
LoginVo findByLoginName(@Param("username") String username);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.whdc.model.dto;
|
||||||
|
|
||||||
|
import com.whdc.model.group.Find;
|
||||||
|
import com.whdc.model.group.Insert;
|
||||||
|
import com.whdc.model.group.Update;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author xusan
|
||||||
|
* @date 2023年3月20日08:57:22
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class FcDto extends FindPageDto {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户id")
|
||||||
|
@NotNull(message = "用户id不能为空", groups = {Find.class})
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "类型 0:常用联系人,1:置顶联系人")
|
||||||
|
@NotNull(message = "类型不能为空", groups = {Find.class})
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "联系人名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "联系人手机号")
|
||||||
|
private String phone;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.whdc.model.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 李赛
|
||||||
|
* @date 2022-07-01 1:21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class LoginDto {
|
||||||
|
@ApiParam(value = "登录名")
|
||||||
|
@NotEmpty(message = "登录名不能为空")
|
||||||
|
private String loginName;
|
||||||
|
|
||||||
|
@ApiParam(value = "密码")
|
||||||
|
@NotEmpty(message = "密码不能为空")
|
||||||
|
private String password;
|
||||||
|
}
|
||||||
|
|
@ -77,10 +77,6 @@ public class AddressBook extends Model<AddressBook> implements Serializable {
|
||||||
@ApiModelProperty(value = "版本")
|
@ApiModelProperty(value = "版本")
|
||||||
private Integer v;
|
private Integer v;
|
||||||
|
|
||||||
@TableField("ROLE")
|
|
||||||
@ApiModelProperty(value = "0:普通管理员,1:政区管理员,99:系统管理员")
|
|
||||||
private String role;
|
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@ApiModelProperty(value = "创建人id")
|
@ApiModelProperty(value = "创建人id")
|
||||||
private String createId;
|
private String createId;
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ public class LoginInfo extends Model<LoginInfo> implements Serializable {
|
||||||
|
|
||||||
@TableField("CREATE_ID")
|
@TableField("CREATE_ID")
|
||||||
@ApiModelProperty(value = "新增人id")
|
@ApiModelProperty(value = "新增人id")
|
||||||
|
@NotNull(message = "id不能为空" , groups = {Insert.class})
|
||||||
private String createId;
|
private String createId;
|
||||||
|
|
||||||
@TableField("CREATE_TIME")
|
@TableField("CREATE_TIME")
|
||||||
|
|
|
||||||
|
|
@ -50,8 +50,4 @@ public class Organization extends Model<Organization> implements Serializable {
|
||||||
@ApiModelProperty(value = "序号")
|
@ApiModelProperty(value = "序号")
|
||||||
private Integer sort;
|
private Integer sort;
|
||||||
|
|
||||||
@NotEmpty(message = "政区编码不能为空", groups = {Insert.class,Update.class})
|
|
||||||
@TableField("ADCD")
|
|
||||||
@ApiModelProperty(value = "政区编码")
|
|
||||||
private String adcd;
|
|
||||||
}
|
}
|
||||||
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||||
|
import com.whdc.model.group.Find;
|
||||||
import com.whdc.model.group.Insert;
|
import com.whdc.model.group.Insert;
|
||||||
import com.whdc.model.group.Update;
|
import com.whdc.model.group.Update;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
|
|
@ -46,8 +47,9 @@ public class UnitDict extends Model<UnitDict> implements Serializable {
|
||||||
@ApiModelProperty(value = "序号")
|
@ApiModelProperty(value = "序号")
|
||||||
private Integer sort;
|
private Integer sort;
|
||||||
|
|
||||||
@NotEmpty(message = "类型不能为空", groups = {Insert.class,Update.class})
|
@NotEmpty(message = "组织类型Id不能为空", groups = {Insert.class,Update.class, Find.class})
|
||||||
@TableField("TYPE")
|
@TableField("O_ID")
|
||||||
@ApiModelProperty(value = "1:省防指,2: 省防办,3: 省防指成员单位,4: 市、县防指、防办, 5: 主要湖泊及涉湖泵站,6:重要提防,7: 主要蓄滞洪区,8: 大型水库大坝")
|
// @ApiModelProperty(value = "1:省防指,2: 省防办,3: 省防指成员单位,4: 市、县防指、防办, 5: 主要湖泊及涉湖泵站,6:重要提防,7: 主要蓄滞洪区,8: 大型水库大坝")
|
||||||
private String type;
|
@ApiModelProperty(value = "组织类型Id")
|
||||||
|
private Integer OId;
|
||||||
}
|
}
|
||||||
|
|
@ -30,9 +30,14 @@ public class User extends Model<User> implements Serializable {
|
||||||
|
|
||||||
@TableId(value = "ID",type = IdType.AUTO)
|
@TableId(value = "ID",type = IdType.AUTO)
|
||||||
@ApiModelProperty(value = "id")
|
@ApiModelProperty(value = "id")
|
||||||
@NotNull(message = "id不能为空" , groups = {Update.class})
|
// @NotNull(message = "id不能为空" , groups = {Update.class})
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
|
@NotEmpty(message = "用户名不能为空", groups = {Insert.class,Update.class})
|
||||||
|
@TableField("USERNAME")
|
||||||
|
@ApiModelProperty(value = "用户名")
|
||||||
|
private String username;
|
||||||
|
|
||||||
|
|
||||||
@NotEmpty(message = "密码不能为空", groups = {Insert.class,Update.class})
|
@NotEmpty(message = "密码不能为空", groups = {Insert.class,Update.class})
|
||||||
@TableField("PASSWORD")
|
@TableField("PASSWORD")
|
||||||
|
|
@ -45,5 +50,15 @@ public class User extends Model<User> implements Serializable {
|
||||||
|
|
||||||
@TableField("AB_ID")
|
@TableField("AB_ID")
|
||||||
@ApiModelProperty(value = "通讯录id")
|
@ApiModelProperty(value = "通讯录id")
|
||||||
|
@NotEmpty(message = "通讯录id不能为空", groups = {Insert.class,Update.class})
|
||||||
private Integer abId;
|
private Integer abId;
|
||||||
|
|
||||||
|
@TableField("LAST_DATE")
|
||||||
|
@ApiModelProperty(value = "最后登录时间")
|
||||||
|
private Date lastLoginDate;
|
||||||
|
|
||||||
|
@TableField("ROLE")
|
||||||
|
@ApiModelProperty(value = "0:普通管理员,1:政区管理员,99:系统管理员")
|
||||||
|
private String role;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,72 @@
|
||||||
|
package com.whdc.model.enums;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author xusan
|
||||||
|
* @date 2022/7/14 16:55
|
||||||
|
* 通讯录操作类型枚举类
|
||||||
|
*/
|
||||||
|
public enum Role {
|
||||||
|
|
||||||
|
R000("0", "普通管理员"),
|
||||||
|
R001("1", "政区管理员"),
|
||||||
|
R099("99", "系统管理员");
|
||||||
|
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Role(String name, String value) {
|
||||||
|
this.name = name;
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Map<String, Role> map() {
|
||||||
|
Map<String, Role> map = new HashMap<>();
|
||||||
|
Role[] values = Role.values();
|
||||||
|
for (Role e : values) {
|
||||||
|
map.put(e.getValue(), e);
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Map<String, Role> mapName() {
|
||||||
|
Map<String, Role> map = new HashMap<>();
|
||||||
|
Role[] values = Role.values();
|
||||||
|
for (Role e : values) {
|
||||||
|
map.put(e.getName(), e);
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Role getByValue(String value) {
|
||||||
|
if (Objects.isNull(value)) return null;
|
||||||
|
return map().get(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Role getByName(String name) {
|
||||||
|
if (StringUtils.isEmpty(name)) return null;
|
||||||
|
return mapName().get(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.whdc.model.vo;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.stp.SaTokenInfo;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.apache.commons.beanutils.BeanUtils;
|
||||||
|
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 原 SaTokenInfo 再 swagger 中没有对应的说明,这里复制一份,加上说明
|
||||||
|
*
|
||||||
|
* @author 李赛
|
||||||
|
* @date 2022-07-18 8:10
|
||||||
|
* {
|
||||||
|
* "tokenName": "satoken", // token名称
|
||||||
|
* "tokenValue": "e67b99f1-3d7a-4a8d-bb2f-e888a0805633", // token值
|
||||||
|
* "isLogin": true, // 此token是否已经登录
|
||||||
|
* "loginId": "10001", // 此token对应的LoginId,未登录时为null
|
||||||
|
* "loginType": "login", // 账号类型标识
|
||||||
|
* "tokenTimeout": 2591977, // token剩余有效期 (单位: 秒)
|
||||||
|
* "sessionTimeout": 2591977, // User-Session剩余有效时间 (单位: 秒)
|
||||||
|
* "tokenSessionTimeout": -2, // Token-Session剩余有效时间 (单位: 秒)
|
||||||
|
* "tokenActivityTimeout": -1, // token剩余无操作有效时间 (单位: 秒)
|
||||||
|
* "loginDevice": "default-device" // 登录设备类型
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel("授权 token 信息")
|
||||||
|
public class AuthToken extends SaTokenInfo {
|
||||||
|
@ApiModelProperty("token 名称")
|
||||||
|
public String tokenName;
|
||||||
|
|
||||||
|
@ApiModelProperty("token 值")
|
||||||
|
public String tokenValue;
|
||||||
|
|
||||||
|
@ApiModelProperty("token 剩余有效期 (单位: 秒)")
|
||||||
|
public long tokenTimeout;
|
||||||
|
|
||||||
|
public AuthToken(SaTokenInfo info) throws InvocationTargetException, IllegalAccessException {
|
||||||
|
BeanUtils.copyProperties(this, info);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.whdc.model.vo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.whdc.model.entity.AddressBook;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author xusan
|
||||||
|
* @Date 2024/5/13 10:17
|
||||||
|
* @Notes
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel(description = "常用联系人置顶联系人通讯录")
|
||||||
|
public class FcVo extends AddressBook{
|
||||||
|
|
||||||
|
|
||||||
|
@TableField("FSORT")
|
||||||
|
@ApiModelProperty(value = "常用联系人置顶联系人序号")
|
||||||
|
private Integer fsort;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
package com.whdc.model.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 李赛
|
||||||
|
* @date 2022-07-01 1:22
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true) // chain = true 实现链式调用
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL) // 表示序列化非null属性
|
||||||
|
public class LoginVo implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "主键ID")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "类型")
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "登录名")
|
||||||
|
private String loginName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "姓名")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "token 信息")
|
||||||
|
private AuthToken tokenInfo;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "角色")
|
||||||
|
private String role;
|
||||||
|
}
|
||||||
|
|
@ -2,7 +2,9 @@ package com.whdc.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.whdc.model.dto.FcDto;
|
||||||
import com.whdc.model.entity.Fc;
|
import com.whdc.model.entity.Fc;
|
||||||
|
import com.whdc.model.vo.FcVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -16,7 +18,7 @@ import java.util.List;
|
||||||
public interface IFcService extends IService<Fc> {
|
public interface IFcService extends IService<Fc> {
|
||||||
|
|
||||||
// 获取所有规则分页
|
// 获取所有规则分页
|
||||||
IPage<Fc> page(Fc dto);
|
IPage<FcVo> page(FcDto dto);
|
||||||
|
|
||||||
// 获取所有规则
|
// 获取所有规则
|
||||||
List<Fc> find(Fc dto);
|
List<Fc> find(Fc dto);
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.whdc.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.whdc.model.dto.FindPageDto;
|
||||||
import com.whdc.model.entity.LoginInfo;
|
import com.whdc.model.entity.LoginInfo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -16,7 +17,7 @@ import java.util.List;
|
||||||
public interface ILoginInfoService extends IService<LoginInfo> {
|
public interface ILoginInfoService extends IService<LoginInfo> {
|
||||||
|
|
||||||
// 获取所有规则分页
|
// 获取所有规则分页
|
||||||
IPage<LoginInfo> page(LoginInfo dto);
|
IPage<LoginInfo> page(FindPageDto dto);
|
||||||
|
|
||||||
// 获取所有规则
|
// 获取所有规则
|
||||||
List<LoginInfo> find(LoginInfo dto);
|
List<LoginInfo> find(LoginInfo dto);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,11 @@ package com.whdc.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
|
||||||
|
import com.whdc.model.dto.LoginDto;
|
||||||
import com.whdc.model.entity.User;
|
import com.whdc.model.entity.User;
|
||||||
|
import com.whdc.model.vo.LoginVo;
|
||||||
|
import org.apache.poi.ss.formula.functions.T;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -21,4 +25,14 @@ public interface IUserService extends IService<User> {
|
||||||
// 获取所有规则
|
// 获取所有规则
|
||||||
List<User> find(User dto);
|
List<User> find(User dto);
|
||||||
|
|
||||||
|
LoginVo login(LoginDto obj);
|
||||||
|
|
||||||
|
boolean register(User entity);
|
||||||
|
|
||||||
|
String getRole(Integer id);
|
||||||
|
|
||||||
|
boolean register(String phone, Integer abId);
|
||||||
|
|
||||||
|
boolean updateLastDate(Integer id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
package com.whdc.service.impl;
|
package com.whdc.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.whdc.mapper.FcMapper;
|
import com.whdc.mapper.FcMapper;
|
||||||
|
import com.whdc.model.dto.FcDto;
|
||||||
import com.whdc.model.entity.Fc;
|
import com.whdc.model.entity.Fc;
|
||||||
|
import com.whdc.model.vo.FcVo;
|
||||||
import com.whdc.service.IFcService;
|
import com.whdc.service.IFcService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
@ -21,8 +24,8 @@ public class FcServiceImpl extends ServiceImpl<FcMapper, Fc> implements IFcServi
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<Fc> page(Fc dto) {
|
public IPage<FcVo> page(FcDto dto) {
|
||||||
return baseMapper.page(new Page<>(), dto);
|
return baseMapper.page(dto.getPage(), dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.whdc.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.whdc.mapper.LoginInfoMapper;
|
import com.whdc.mapper.LoginInfoMapper;
|
||||||
|
import com.whdc.model.dto.FindPageDto;
|
||||||
import com.whdc.model.entity.LoginInfo;
|
import com.whdc.model.entity.LoginInfo;
|
||||||
import com.whdc.service.ILoginInfoService;
|
import com.whdc.service.ILoginInfoService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
@ -21,8 +22,8 @@ public class LoginInfoServiceImpl extends ServiceImpl<LoginInfoMapper, LoginInfo
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<LoginInfo> page(LoginInfo dto) {
|
public IPage<LoginInfo> page(FindPageDto dto) {
|
||||||
return baseMapper.page(new Page<>(), dto);
|
return baseMapper.page(dto.getPage(), dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,22 @@
|
||||||
package com.whdc.service.impl;
|
package com.whdc.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.whdc.exception.MyException;
|
||||||
import com.whdc.mapper.UserMapper;
|
import com.whdc.mapper.UserMapper;
|
||||||
|
import com.whdc.model.dto.LoginDto;
|
||||||
import com.whdc.model.entity.User;
|
import com.whdc.model.entity.User;
|
||||||
|
import com.whdc.model.vo.LoginVo;
|
||||||
import com.whdc.service.IUserService;
|
import com.whdc.service.IUserService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.DigestUtils;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|
@ -19,6 +28,7 @@ import java.util.List;
|
||||||
@Service
|
@Service
|
||||||
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
|
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
|
||||||
|
|
||||||
|
public static final String DEFAULT_PASSWORD = "Fxhk@123456";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<User> page(User dto) {
|
public IPage<User> page(User dto) {
|
||||||
|
|
@ -33,4 +43,72 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LoginVo login(LoginDto obj) {
|
||||||
|
|
||||||
|
User sysUser = findByLoginName(obj.getLoginName());
|
||||||
|
|
||||||
|
if (sysUser == null) {
|
||||||
|
throw new MyException("用户名或密码错误");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getPassword(sysUser.getSalt() ,obj.getPassword()).equals(sysUser.getPassword())) {
|
||||||
|
LoginVo out = new LoginVo();
|
||||||
|
BeanUtils.copyProperties(sysUser, out);
|
||||||
|
return out;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new MyException("用户名或密码错误");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean register(User entity) {
|
||||||
|
// 生成盐值
|
||||||
|
String salt = UUID.randomUUID().toString().replaceAll("-", "");
|
||||||
|
// 生成密码
|
||||||
|
entity.setSalt(salt)
|
||||||
|
.setPassword(getPassword(salt, DEFAULT_PASSWORD));
|
||||||
|
return this.save(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getRole(Integer id) {
|
||||||
|
|
||||||
|
User byId = this.getById(id);
|
||||||
|
if (byId == null){
|
||||||
|
throw new MyException("该用户不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
return byId.getRole();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean register(String phone, Integer abId) {
|
||||||
|
User user = new User();
|
||||||
|
user.setAbId(abId)
|
||||||
|
.setUsername(phone);
|
||||||
|
return register(user);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateLastDate(Integer id) {
|
||||||
|
return this.lambdaUpdate()
|
||||||
|
.set(User::getLastLoginDate,new Date())
|
||||||
|
.eq(User::getId,id)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
|
private User findByLoginName(String loginName) {
|
||||||
|
if (loginName == null) {
|
||||||
|
throw new MyException("登录名不能为空");
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.lambdaQuery().eq(User::getUsername, loginName).one();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getPassword(String salt,String password) {
|
||||||
|
return DigestUtils.md5DigestAsHex((salt + password).getBytes());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,26 @@
|
||||||
<mapper namespace="com.whdc.mapper.FcMapper">
|
<mapper namespace="com.whdc.mapper.FcMapper">
|
||||||
|
|
||||||
|
|
||||||
<select id="page" resultType="com.whdc.model.entity.Fc">
|
<select id="page" resultType="com.whdc.model.entity.FcVo">
|
||||||
|
SELECT
|
||||||
|
AB.*,F.SORT FSORT
|
||||||
|
FROM
|
||||||
|
FC F
|
||||||
|
LEFT JOIN ADDRESS_BOOK AB ON F.AB_ID = AB.ID
|
||||||
|
WHERE 1=1
|
||||||
|
<if test="obj.userId != null and obj.userId != '' ">
|
||||||
|
AND F.USER_ID = #{obj.userId}
|
||||||
|
</if>
|
||||||
|
<if test="obj.type != null and obj.userId != '' ">
|
||||||
|
AND F.TYPE = #{obj.type}
|
||||||
|
</if>
|
||||||
|
<if test="obj.name != null and obj.name != '' ">
|
||||||
|
AND AB.NAME LIKE CONCAT('%', #{obj.name}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="obj.phone != null and obj.phone != '' ">
|
||||||
|
AND AB.PHONE = #{obj.phone}
|
||||||
|
</if>
|
||||||
|
ORDER BY F.SORT
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,18 @@
|
||||||
|
|
||||||
|
|
||||||
<select id="page" resultType="com.whdc.model.entity.LoginInfo">
|
<select id="page" resultType="com.whdc.model.entity.LoginInfo">
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
LOGIN_INFO
|
||||||
|
WHERE 1=1
|
||||||
|
<if test="obj.createId != null and obj.createId != '' ">
|
||||||
|
AND CREATE_ID = #{obj.createId}
|
||||||
|
</if>
|
||||||
|
<if test="obj.type != null and obj.type != '' ">
|
||||||
|
AND TYPE= #{obj.type}
|
||||||
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,4 +10,19 @@
|
||||||
<select id="find" resultType="com.whdc.model.entity.User">
|
<select id="find" resultType="com.whdc.model.entity.User">
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="findByLoginName" resultType="com.whdc.model.vo.LoginVo">
|
||||||
|
SELECT
|
||||||
|
U.ID,
|
||||||
|
U.USERNAME,
|
||||||
|
U.PASSWORD,
|
||||||
|
U.SALT,
|
||||||
|
U.ROLE,
|
||||||
|
U.AB_ID.AB.NAME
|
||||||
|
FROM
|
||||||
|
USER U
|
||||||
|
LEFT JOIN ADDRESS_BOOK AB ON U.AB_ID = AB.ID
|
||||||
|
WHERE
|
||||||
|
U.USERNAME = #{username}
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue