解决冲突

This commit is contained in:
s2042968 2024-11-25 16:44:53 +08:00
commit 39a279b96b
6 changed files with 55 additions and 4 deletions

View File

@ -0,0 +1,24 @@
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 发布状态枚举
*/
@AllArgsConstructor
@Getter
public enum PublishEnum {
/**
* 已发布
*/
PUBLISHED(1,"已发布"),
/**
* 未发布
*/
UNPUBLISHED(0,"未发布"),
;
private Integer code;
private String desc;
}

View File

@ -69,8 +69,15 @@ public interface UserService {
/**
* 根据userId逻辑删除用户
* @param userId
* @param userDeleteKeyWords
* @return
*/
Boolean deleteUser(UserDeleteKeyWords userDeleteKeyWords);
/**
* 检查用户是否有效未发布的用户无效实习到期的用户无效
* @param user
* @return
*/
Boolean checkUserValid(User user);
}

View File

@ -1,6 +1,8 @@
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.impl;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.enums.EffectFlagEnum;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.enums.PublishEnum;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.PublishParam;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords;
@ -14,6 +16,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import static cn.hutool.core.date.DateTime.now;
@Service
public class UserServiceImpl implements UserService {
@ -111,4 +114,22 @@ public class UserServiceImpl implements UserService {
public Boolean deleteUser(UserDeleteKeyWords userDeleteKeyWords) {
return userRepository.deleteUser(userDeleteKeyWords)>0;
}
/**
* 检查用户是否有效未发布,实习到期,已被逻辑删除的用户无效
* @param user
* @return
*/
@Override
public Boolean checkUserValid(User user){
if ( user == null
|| user.getIsPublished() == PublishEnum.UNPUBLISHED.getCode()
|| user.getEffectFlag() == EffectFlagEnum.EFFECT_FLAG_0.getCode()
) {
return false;
} else if( user.getInternshipEndDate()!=null && user.getInternshipEndDate().before(now())) {
return false;
}
return true;
}
}

View File

@ -122,7 +122,7 @@
<if test="isPublished != null and isPublished != ''">
<choose>
<when test="isPublished != 'all'">
AND is_published = CAST(#{isPublished} AS INT)
AND is_published = CAST(#{isPublished} AS SIGNED)
</when>
</choose>
</if>

View File

@ -33,7 +33,6 @@
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
</dependency>
<dependency>
<groupId>com.electromagnetic.data</groupId>
<artifactId>electromagnetic-framework</artifactId>

View File

@ -44,7 +44,7 @@ public class UserFacadeImpl implements UserFacade {
UserLoginInfo info = UserMappers.INSTANCE.getUserLoginRequestToModel(loginRequest);
String decodePwd = AESUtils.decrypt(info.getUserPwd(), UserConstant.SECRET_KEY);
User user = userService.getUserByWorkNumber(info.getWorkNumber());
if ( user!=null && userService.matchPassword(user, decodePwd)) {
if ( userService.checkUserValid(user) && userService.matchPassword(user, decodePwd)) {
String tokenStr = tokenService.createToken(info);
tokenService.createUserToken(user, tokenStr);
UserLoginResponse userLoginResponse = new UserLoginResponse();