解决冲突

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逻辑删除用户 * 根据userId逻辑删除用户
* @param userId * @param userDeleteKeyWords
* @return * @return
*/ */
Boolean deleteUser(UserDeleteKeyWords userDeleteKeyWords); 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; 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.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.PublishParam;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords; 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 javax.annotation.Resource;
import java.util.List; import java.util.List;
import static cn.hutool.core.date.DateTime.now;
@Service @Service
public class UserServiceImpl implements UserService { public class UserServiceImpl implements UserService {
@ -111,4 +114,22 @@ public class UserServiceImpl implements UserService {
public Boolean deleteUser(UserDeleteKeyWords userDeleteKeyWords) { public Boolean deleteUser(UserDeleteKeyWords userDeleteKeyWords) {
return userRepository.deleteUser(userDeleteKeyWords)>0; 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 != ''"> <if test="isPublished != null and isPublished != ''">
<choose> <choose>
<when test="isPublished != 'all'"> <when test="isPublished != 'all'">
AND is_published = CAST(#{isPublished} AS INT) AND is_published = CAST(#{isPublished} AS SIGNED)
</when> </when>
</choose> </choose>
</if> </if>

View File

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

View File

@ -44,7 +44,7 @@ public class UserFacadeImpl implements UserFacade {
UserLoginInfo info = UserMappers.INSTANCE.getUserLoginRequestToModel(loginRequest); UserLoginInfo info = UserMappers.INSTANCE.getUserLoginRequestToModel(loginRequest);
String decodePwd = AESUtils.decrypt(info.getUserPwd(), UserConstant.SECRET_KEY); String decodePwd = AESUtils.decrypt(info.getUserPwd(), UserConstant.SECRET_KEY);
User user = userService.getUserByWorkNumber(info.getWorkNumber()); 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); String tokenStr = tokenService.createToken(info);
tokenService.createUserToken(user, tokenStr); tokenService.createUserToken(user, tokenStr);
UserLoginResponse userLoginResponse = new UserLoginResponse(); UserLoginResponse userLoginResponse = new UserLoginResponse();