From ec676ca227d20161ab9b8f17d84b57ae07576d88 Mon Sep 17 00:00:00 2001 From: xinzirun Date: Fri, 27 Sep 2024 21:25:40 +0800 Subject: [PATCH] =?UTF-8?q?feat():=20=E4=BC=81=E4=B8=9A=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/auth/controller/TokenController.java | 6 +-- .../java/com/muyu/auth/form/RegisterBody.java | 10 ----- .../muyu/auth/service/SysLoginService.java | 20 +++++++++- .../common/core/web/domain/BaseEntity.java | 4 +- .../muyu/common/system/domain/SysDept.java | 5 +++ .../com/muyu/common/system/domain/SysEnt.java | 6 +-- .../common/system/domain}/form/LoginBody.java | 2 +- .../system/domain/form/RegisterBody.java | 36 +++++++++++++++++ .../system/remote/RemoteUserService.java | 3 +- .../factory/RemoteUserFallbackFactory.java | 3 +- .../system/controller/SysUserController.java | 40 +++++++++++++++---- .../com/muyu/system/domain/req/EntAddReq.java | 10 ++--- .../muyu/system/domain/req/EntListReq.java | 6 +-- .../muyu/system/domain/req/EntUpdateReq.java | 8 ++-- .../com/muyu/system/domain/resp/EntResp.java | 2 +- .../service/impl/SysEntServiceImpl.java | 4 +- .../resources/mapper/system/SysDeptMapper.xml | 5 ++- 17 files changed, 123 insertions(+), 47 deletions(-) delete mode 100644 cloud-auth/src/main/java/com/muyu/auth/form/RegisterBody.java rename {cloud-auth/src/main/java/com/muyu/auth => cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain}/form/LoginBody.java (92%) create mode 100644 cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/form/RegisterBody.java diff --git a/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java b/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java index d870762..27e5584 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java +++ b/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java @@ -1,7 +1,7 @@ package com.muyu.auth.controller; -import com.muyu.auth.form.LoginBody; -import com.muyu.auth.form.RegisterBody; +import com.muyu.common.system.domain.form.LoginBody; +import com.muyu.common.system.domain.form.RegisterBody; import com.muyu.auth.service.SysLoginService; import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.JwtUtils; @@ -66,7 +66,7 @@ public class TokenController { @PostMapping("register") public Result register (@RequestBody RegisterBody registerBody) { // 用户注册 - sysLoginService.register(registerBody.getUsername(), registerBody.getPassword()); + sysLoginService.register(registerBody); return Result.success(); } } diff --git a/cloud-auth/src/main/java/com/muyu/auth/form/RegisterBody.java b/cloud-auth/src/main/java/com/muyu/auth/form/RegisterBody.java deleted file mode 100644 index c2a4d5a..0000000 --- a/cloud-auth/src/main/java/com/muyu/auth/form/RegisterBody.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.muyu.auth.form; - -/** - * 用户注册对象 - * - * @author muyu - */ -public class RegisterBody extends LoginBody { - -} diff --git a/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java b/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java index ff0af1a..4e3d228 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java +++ b/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java @@ -1,5 +1,6 @@ package com.muyu.auth.service; +import com.muyu.common.system.domain.form.RegisterBody; import com.muyu.common.core.constant.CacheConstants; import com.muyu.common.core.constant.Constants; import com.muyu.common.core.constant.SecurityConstants; @@ -98,7 +99,22 @@ public class SysLoginService { /** * 注册 */ - public void register (String username, String password) { + public void register (RegisterBody registerBody) { + //获取用户名密码 + String username = registerBody.getUsername(); + String password = registerBody.getPassword(); + if(StringUtils.isEmpty(registerBody.getEntName())) { + throw new ServiceException("企业名称不能为空"); + } + if(StringUtils.isEmpty(registerBody.getLeader())) { + throw new ServiceException("负责人不能为空"); + } + if(StringUtils.isBlank(registerBody.getPhone())) { + throw new ServiceException("手机号不能为空"); + } + if(StringUtils.isBlank(registerBody.getEmail())) { + throw new ServiceException("邮箱不能为空"); + } // 用户名或密码为空 错误 if (StringUtils.isAnyBlank(username, password)) { throw new ServiceException("用户/密码必须填写"); @@ -117,7 +133,7 @@ public class SysLoginService { sysUser.setUserName(username); sysUser.setNickName(username); sysUser.setPassword(SecurityUtils.encryptPassword(password)); - Result registerResult = remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER); + Result registerResult = remoteUserService.registerUserInfo(registerBody, SecurityConstants.INNER); if (Result.FAIL == registerResult.getCode()) { throw new ServiceException(registerResult.getMsg()); diff --git a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java index a045f1e..28c4927 100644 --- a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java +++ b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java @@ -45,7 +45,7 @@ public class BaseEntity implements Serializable { */ @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private String createTime; + private Date createTime; /** * 更新者 @@ -58,7 +58,7 @@ public class BaseEntity implements Serializable { */ @TableField(fill = FieldFill.UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private String updateTime; + private Date updateTime; /** * 备注 diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysDept.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysDept.java index 65ada9e..12db28e 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysDept.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysDept.java @@ -64,6 +64,11 @@ public class SysDept extends BaseEntity { */ private String email; + /** + * 企业ID + */ + private Long entId; + /** * 部门状态:0正常,1停用 */ diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysEnt.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysEnt.java index aeb233d..8a6808f 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysEnt.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysEnt.java @@ -19,7 +19,7 @@ import lombok.experimental.SuperBuilder; @SuperBuilder @NoArgsConstructor @AllArgsConstructor -@TableName(value = "sys_ent") +@TableName(value = "sys_ent", autoResultMap = true) @EqualsAndHashCode(callSuper = true) public class SysEnt extends BaseEntity { @@ -40,9 +40,9 @@ public class SysEnt extends BaseEntity { private String leader; /** - * 手机号码 + * 联系电话 */ - private String phoneNumber; + private String phone; /** * 邮箱 diff --git a/cloud-auth/src/main/java/com/muyu/auth/form/LoginBody.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/form/LoginBody.java similarity index 92% rename from cloud-auth/src/main/java/com/muyu/auth/form/LoginBody.java rename to cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/form/LoginBody.java index 999ad44..97cf2f1 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/form/LoginBody.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/form/LoginBody.java @@ -1,4 +1,4 @@ -package com.muyu.auth.form; +package com.muyu.common.system.domain.form; /** * 用户登录对象 diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/form/RegisterBody.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/form/RegisterBody.java new file mode 100644 index 0000000..1764084 --- /dev/null +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/form/RegisterBody.java @@ -0,0 +1,36 @@ +package com.muyu.common.system.domain.form; + +import lombok.*; + +/** + * 用户注册对象 + * + * @author muyu + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class RegisterBody extends LoginBody { + + /** + * 企业名称 + */ + private String entName; + + /** + * 负责人 + */ + private String leader; + + /** + * 联系电话 + */ + private String phone; + + /** + * 邮箱 + */ + private String email; +} diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java index c528ad5..eb2e928 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java @@ -4,6 +4,7 @@ import com.muyu.common.core.constant.SecurityConstants; import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.domain.Result; import com.muyu.common.system.domain.SysUser; +import com.muyu.common.system.domain.form.RegisterBody; import com.muyu.common.system.remote.factory.RemoteUserFallbackFactory; import com.muyu.common.system.domain.LoginUser; import org.springframework.cloud.openfeign.FeignClient; @@ -38,7 +39,7 @@ public interface RemoteUserService { * @return 结果 */ @PostMapping("/user/register") - public Result registerUserInfo (@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + public Result registerUserInfo (@RequestBody RegisterBody registerBody, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 获取企业信息 diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java index 56e10c3..d0297af 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java @@ -1,6 +1,7 @@ package com.muyu.common.system.remote.factory; import com.muyu.common.core.domain.Result; +import com.muyu.common.system.domain.form.RegisterBody; import com.muyu.common.system.remote.RemoteUserService; import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.LoginUser; @@ -30,7 +31,7 @@ public class RemoteUserFallbackFactory implements FallbackFactory registerUserInfo (SysUser sysUser, String source) { + public Result registerUserInfo (RegisterBody registerBody, String source) { return Result.error("注册用户失败:" + throwable.getMessage()); } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java index 0cc8c9b..2a8c084 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -1,6 +1,5 @@ package com.muyu.system.controller; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.poi.ExcelUtil; @@ -11,10 +10,8 @@ import com.muyu.common.log.enums.BusinessType; import com.muyu.common.security.annotation.InnerAuth; import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.utils.SecurityUtils; -import com.muyu.common.system.domain.SysDept; -import com.muyu.common.system.domain.SysRole; -import com.muyu.common.system.domain.SysUser; -import com.muyu.common.system.domain.LoginUser; +import com.muyu.common.system.domain.*; +import com.muyu.common.system.domain.form.RegisterBody; import com.muyu.system.domain.resp.AuthRoleResp; import com.muyu.system.domain.resp.UserDetailInfoResp; import com.muyu.system.domain.resp.UserInfoResp; @@ -24,7 +21,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; - import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; @@ -57,6 +53,8 @@ public class SysUserController extends BaseController { @Autowired private SysConfigService configService; + @Autowired + private SysEntService entService; /** * 获取用户列表 */ @@ -120,14 +118,40 @@ public class SysUserController extends BaseController { */ @InnerAuth @PostMapping("/register") - public Result register (@RequestBody SysUser sysUser) { - String username = sysUser.getUserName(); + public Result register (@RequestBody RegisterBody registerBody) { + String username = registerBody.getUsername(); if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { return Result.error("当前系统没有开启注册功能!"); } + SysUser sysUser = SysUser.builder().userName(username).build(); if (!userService.checkUserNameUnique(sysUser)) { return Result.error("保存用户'" + username + "'失败,注册账号已存在"); } + + //添加企业 + SysEnt sysEnt = SysEnt.builder() + .name(registerBody.getEntName()) + .leader(registerBody.getLeader()) + .phone(registerBody.getPhone()) + .email(registerBody.getEmail()) + .build(); + entService.save(sysEnt); + + //添加部门 + SysDept sysDept = SysDept.builder() + .deptName(registerBody.getEntName()) + .leader(registerBody.getLeader()) + .phone(registerBody.getPhone()) + .email(registerBody.getEmail()) + .entId(sysEnt.getId()) + .parentId(100L) + .build(); + deptService.insertDept(sysDept); + + sysUser.setDeptId(sysDept.getDeptId()); + sysUser.setNickName(registerBody.getUsername()); + sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword())); + return Result.success(userService.registerUser(sysUser)); } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/req/EntAddReq.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/req/EntAddReq.java index f60cbb0..213721d 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/req/EntAddReq.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/req/EntAddReq.java @@ -37,11 +37,11 @@ public class EntAddReq { private String leader; /** - * 手机号码 + * 联系电话 */ - @NotBlank(message = "手机号码不能为空") - @Schema(title = "手机号码", type = "String", defaultValue = "18321974313", description = "手机号码") - private String phoneNumber; + @NotBlank(message = "联系电话不能为空") + @Schema(title = "联系电话", type = "String", defaultValue = "18321974313", description = "联系电话") + private String phone; /** * 邮箱 @@ -66,7 +66,7 @@ public class EntAddReq { return SysEnt.builder() .name(req.getEntName()) .leader(req.getLeader()) - .phoneNumber(req.getPhoneNumber()) + .phone(req.getPhone()) .email(req.getEmail()) .entCode(req.getEntCode()) .build(); diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/req/EntListReq.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/req/EntListReq.java index f281352..2c05f4b 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/req/EntListReq.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/req/EntListReq.java @@ -32,10 +32,10 @@ public class EntListReq { private String leader; /** - * 手机号码 + * 联系电话 */ - @Schema(title = "手机号码", type = "String", defaultValue = "18321974313", description = "手机号码") - private String phoneNumber; + @Schema(title = "联系电话", type = "String", defaultValue = "18321974313", description = "联系电话") + private String phone; /** * 邮箱 diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/req/EntUpdateReq.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/req/EntUpdateReq.java index 52590b5..5efa4b6 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/req/EntUpdateReq.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/req/EntUpdateReq.java @@ -34,10 +34,10 @@ public class EntUpdateReq { private String leader; /** - * 手机号码 + * 联系电话 */ - @Schema(title = "手机号码", type = "String", defaultValue = "18321974313", description = "手机号码") - private String phoneNumber; + @Schema(title = "联系电话", type = "String", defaultValue = "18321974313", description = "联系电话") + private String phone; /** * 邮箱 @@ -62,7 +62,7 @@ public class EntUpdateReq { .id(entId.get()) .name(req.getEntName()) .leader(req.getLeader()) - .phoneNumber(req.getPhoneNumber()) + .phone(req.getPhone()) .email(req.getEmail()) .entCode(req.getEntCode()) .build(); diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/resp/EntResp.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/resp/EntResp.java index b787779..64f36cd 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/resp/EntResp.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/resp/EntResp.java @@ -64,7 +64,7 @@ public class EntResp { .entId(sysEnt.getId()) .entName(sysEnt.getName()) .leader(sysEnt.getLeader()) - .phoneNumber(sysEnt.getPhoneNumber()) + .phoneNumber(sysEnt.getPhone()) .email(sysEnt.getEmail()) .entCode(sysEnt.getEntCode()) .build(); diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysEntServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysEntServiceImpl.java index a44821a..10ff4b8 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysEntServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysEntServiceImpl.java @@ -44,8 +44,8 @@ public class SysEntServiceImpl extends ServiceImpl impleme SysEnt::getLeader, entListReq.getLeader() ); queryWrapper.like( - StringUtils.isNotEmpty(entListReq.getPhoneNumber()), - SysEnt::getPhoneNumber, entListReq.getPhoneNumber() + StringUtils.isNotEmpty(entListReq.getPhone()), + SysEnt::getPhone, entListReq.getPhone() ); queryWrapper.like( StringUtils.isNotEmpty(entListReq.getEmail()), diff --git a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml index a571d8b..8b9c4e0 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -13,6 +13,7 @@ + @@ -109,7 +110,7 @@ where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1 - + insert into sys_dept( dept_id, parent_id, @@ -119,6 +120,7 @@ leader, phone, email, + ent_id, status, create_by, create_time @@ -131,6 +133,7 @@ #{leader}, #{phone}, #{email}, + #{entId}, #{status}, #{createBy}, sysdate()