From c7a780e9744530e4fa90f2a7f4a2d398b618b0a2 Mon Sep 17 00:00:00 2001 From: pikaqiudeshujia Date: Wed, 22 May 2024 11:09:49 +0800 Subject: [PATCH] =?UTF-8?q?release-=20=E5=AE=A1=E6=A0=B8=E5=AE=8C=E5=90=8E?= =?UTF-8?q?=E5=8F=91=E9=80=81=E7=AB=99=E5=86=85=E6=B6=88=E6=81=AF=EF=BC=8C?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E5=A4=B1=E8=B4=A5=E9=83=BD=E9=9C=80=E8=A6=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/controller/ArtistController.java | 2 +- .../java/com/luoo/user/pojo/UserProcess.java | 3 + .../com/luoo/user/service/ArtistService.java | 57 +++++++++++++++---- luoo_user/src/main/resources/sql/20240522.sql | 3 + 4 files changed, 52 insertions(+), 13 deletions(-) create mode 100644 luoo_user/src/main/resources/sql/20240522.sql diff --git a/luoo_user/src/main/java/com/luoo/user/controller/ArtistController.java b/luoo_user/src/main/java/com/luoo/user/controller/ArtistController.java index 0c31c24..2a07bee 100644 --- a/luoo_user/src/main/java/com/luoo/user/controller/ArtistController.java +++ b/luoo_user/src/main/java/com/luoo/user/controller/ArtistController.java @@ -34,7 +34,7 @@ public class ArtistController { @PostMapping("/register") public Result register(@RequestHeader(value = "Authorization", required = true) String authorization, @Validated @RequestBody ArtistRegisterDto artistRegisterDto) { - artistService.artistRegister(artistRegisterDto); + artistService.artistRegister(authorization, artistRegisterDto); return Result.success(); } diff --git a/luoo_user/src/main/java/com/luoo/user/pojo/UserProcess.java b/luoo_user/src/main/java/com/luoo/user/pojo/UserProcess.java index 84410bd..63f9076 100644 --- a/luoo_user/src/main/java/com/luoo/user/pojo/UserProcess.java +++ b/luoo_user/src/main/java/com/luoo/user/pojo/UserProcess.java @@ -57,4 +57,7 @@ public class UserProcess implements Serializable { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @LastModifiedDate private Date modifyTime; + + @ApiModelProperty("创建人") + private String createUser; } diff --git a/luoo_user/src/main/java/com/luoo/user/service/ArtistService.java b/luoo_user/src/main/java/com/luoo/user/service/ArtistService.java index db2c63a..f7b94a3 100644 --- a/luoo_user/src/main/java/com/luoo/user/service/ArtistService.java +++ b/luoo_user/src/main/java/com/luoo/user/service/ArtistService.java @@ -10,6 +10,10 @@ import com.luoo.user.pojo.ArtistUser; import com.luoo.user.pojo.UserInfo; import com.luoo.user.pojo.UserProcess; import constants.Constants; +import constants.ErrorConstants; +import dto.UserLoginDto; +import dto.UserMessageDto; +import enums.MessageTypeEnum; import enums.UserProcessStatusEnum; import enums.UserProcessTypeEnum; import enums.UserStatusEnum; @@ -25,6 +29,7 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import util.IdWorker; +import util.JwtUtil; import java.util.Date; import java.util.List; @@ -59,15 +64,20 @@ public class ArtistService { @Autowired private UserProcessDao userProcessDao; + @Autowired + private UserMessageService userMessageService; + + @Autowired + private JwtUtil jwtUtil; + /** * 音乐人注册 - * */ @Transactional(rollbackFor = Exception.class) - public void artistRegister(ArtistRegisterDto artistRegisterDto) { + public void artistRegister(String token, ArtistRegisterDto artistRegisterDto) { UserInfo userInfoByUserName = userInfoDao.findUserInfoByUserName(artistRegisterDto.getUserName()); - if(userInfoByUserName != null) { + if (userInfoByUserName != null) { throw new BizException("该用户名已存在,请重新输入!"); } @@ -109,11 +119,11 @@ public class ArtistService { // 审核记录 List successList = userProcessDao.findUserProcessByUserIdAndTypeAndStatus(userInfo.getId(), UserProcessTypeEnum.ARTIST.getCode(), UserProcessStatusEnum.SUCCESS.getCode()); - if(!successList.isEmpty()) { + if (!successList.isEmpty()) { throw new BizException("该账号已审核通过,请勿重复申请"); } List upApprovedList = userProcessDao.findUserProcessByUserIdAndTypeAndStatus(userInfo.getId(), UserProcessTypeEnum.ARTIST.getCode(), UserProcessStatusEnum.UNAPPROVED.getCode()); - if(!upApprovedList.isEmpty()) { + if (!upApprovedList.isEmpty()) { throw new BizException("该账号正在审核中,请勿重复申请"); } @@ -124,13 +134,21 @@ public class ArtistService { .status(UserProcessStatusEnum.UNAPPROVED.getCode()) .createTime(new Date()) .build(); + UserLoginDto user = jwtUtil.getUserLoginDto(token); + if (user != null) { + userProcess.setCreateUser(user.getUserId()); + } else { + // 用户校验失败,请重新登录 + throw new BizException(ErrorConstants.USER_VERIFICATION_FAILURE); + } userProcessDao.save(userProcess); + } /** * 获取未审批的音乐人注册申请 * - * @return 未审批的分页列表 + * @return 未审批的分页列表 */ public PageResult getUnApproveList(Integer page, Integer size) { Pageable pageable = PageRequest.of(page - 1, size); @@ -146,8 +164,13 @@ public class ArtistService { */ @Transactional(rollbackFor = Exception.class) public void approve(UserProcessApproveDto userProcessApproveDto) { - if(ObjectUtils.equals(UserProcessStatusEnum.FAIL.getCode(), userProcessApproveDto.getStatus()) - && StringUtils.isBlank(userProcessApproveDto.getContent())) { + + String title = ObjectUtils.equals(UserProcessStatusEnum.SUCCESS.getCode(), userProcessApproveDto.getStatus()) ? + "音乐人审核通过" : "音乐人审核失败"; + String content = userProcessApproveDto.getContent(); + + if (ObjectUtils.equals(UserProcessStatusEnum.FAIL.getCode(), userProcessApproveDto.getStatus()) + && StringUtils.isBlank(userProcessApproveDto.getContent())) { throw new BizException("请填写拒绝理由!"); } @@ -159,11 +182,20 @@ public class ArtistService { userProcessDao.save(userProcessById); UserInfo userInfo = userInfoDao.findById(userProcessById.getUserId()).get(); - userInfo.setStatus(ObjectUtils.equals(UserProcessStatusEnum.FAIL.getCode(), userProcessApproveDto.getStatus())? + userInfo.setStatus(ObjectUtils.equals(UserProcessStatusEnum.FAIL.getCode(), userProcessApproveDto.getStatus()) ? UserStatusEnum.DISABLE.getStatus() : UserStatusEnum.ENABLE.getStatus()); userInfo.setModifyTime(new Date()); userInfoDao.save(userInfo); - // todo 审核完后发送站内消息,成功失败都需要 + + UserMessageDto userMessageDto = new UserMessageDto(); + userMessageDto.setType(MessageTypeEnum.PRIVATE_MESSAGE.getType()); + userMessageDto.setSendUserId(userInfo.getId()); + userMessageDto.setTitle(title); + userMessageDto.setContent(content); + userMessageDto.setUserId(userProcessById.getCreateUser()); + userMessageDto.setSendUserAvatar(Constants.RESOURCE_PREFIX + userInfo.getAvatar()); + userMessageDto.setSendUserNickName(userInfo.getNickName()); + userMessageService.sendUserMessage(userMessageDto); } /** @@ -174,7 +206,7 @@ public class ArtistService { @Transactional(rollbackFor = Exception.class) public void bindArtistAndMember(ArtistUserBindDto artistUserBindDto) { ArtistUser artistUser = artistUserDao.findArtistUserByArtistIdAndUserId(artistUserBindDto.getArtistId(), artistUserBindDto.getUserId()); - if(artistUser == null) { + if (artistUser == null) { ArtistUser build = ArtistUser.builder() .id(String.valueOf(idWorker.nextId())) .artistId(artistUserBindDto.getArtistId()) @@ -189,11 +221,12 @@ public class ArtistService { /** * 音乐人-成员解绑 + * * @param artistUserBindDto 绑定实体类 */ public void unBindArtistAndMember(ArtistUserBindDto artistUserBindDto) { ArtistUser artistUser = artistUserDao.findArtistUserByArtistIdAndUserId(artistUserBindDto.getArtistId(), artistUserBindDto.getUserId()); - if(artistUser != null) { + if (artistUser != null) { artistUserDao.delete(artistUser); } else { throw new BizException("没有绑定关系!"); diff --git a/luoo_user/src/main/resources/sql/20240522.sql b/luoo_user/src/main/resources/sql/20240522.sql new file mode 100644 index 0000000..fd15cad --- /dev/null +++ b/luoo_user/src/main/resources/sql/20240522.sql @@ -0,0 +1,3 @@ +alter table tb_user_process + add create_user varchar(20) null comment '创建人'; +