@ -40,6 +40,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional ;
import java.io.IOException ;
import java.text.MessageFormat ;
import java.util.* ;
import java.util.stream.Collectors ;
@ -946,6 +947,7 @@ public class UsersService extends BaseService {
* activate user , only system admin have permission , change user state code 0 to 1
*
* @param loginUser login user
* @param userName user name
* @return create result code
* /
public Map < String , Object > activateUser ( User loginUser , String userName ) {
@ -983,4 +985,52 @@ public class UsersService extends BaseService {
result . put ( Constants . DATA_LIST , responseUser ) ;
return result ;
}
/ * *
* activate user , only system admin have permission , change users state code 0 to 1
*
* @param loginUser login user
* @param userNames user name
* @return create result code
* /
public Map < String , Object > batchActivateUser ( User loginUser , List < String > userNames ) {
Map < String , Object > result = new HashMap < > ( ) ;
if ( ! isAdmin ( loginUser ) ) {
putMsg ( result , Status . USER_NO_OPERATION_PERM ) ;
return result ;
}
int totalSuccess = 0 ;
List < String > successUserNames = new ArrayList < > ( ) ;
Map < String , Object > successRes = new HashMap < > ( ) ;
int totalFailed = 0 ;
List < Map < String , String > > failedInfo = new ArrayList < > ( ) ;
Map < String , Object > failedRes = new HashMap < > ( ) ;
for ( String userName : userNames ) {
Map < String , Object > tmpResult = activateUser ( loginUser , userName ) ;
if ( tmpResult . get ( Constants . STATUS ) ! = Status . SUCCESS ) {
totalFailed + + ;
Map < String , String > failedBody = new HashMap < > ( ) ;
failedBody . put ( "userName" , userName ) ;
Status status = ( Status ) tmpResult . get ( Constants . STATUS ) ;
String errorMessage = MessageFormat . format ( status . getMsg ( ) , userName ) ;
failedBody . put ( "msg" , errorMessage ) ;
failedInfo . add ( failedBody ) ;
} else {
totalSuccess + + ;
successUserNames . add ( userName ) ;
}
}
successRes . put ( "sum" , totalSuccess ) ;
successRes . put ( "userName" , successUserNames ) ;
failedRes . put ( "sum" , totalFailed ) ;
failedRes . put ( "info" , failedInfo ) ;
Map < String , Object > res = new HashMap < > ( ) ;
res . put ( "success" , successRes ) ;
res . put ( "failed" , failedRes ) ;
putMsg ( result , Status . SUCCESS ) ;
result . put ( Constants . DATA_LIST , res ) ;
return result ;
}
}