// Path: src/main/java/org/myazure/weixin/domain/MaRole.java
// public enum MaRole {
//     USER, ADMIN
// }
// 
// Path: src/main/java/org/myazure/weixin/domain/CurrentUser.java
// public class CurrentUser extends org.springframework.security.core.userdetails.User {
// 
//     /**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 	private MaUser user;
// 
//     public CurrentUser(MaUser user) {
//         super(user.getUserName(), user.getPassword(), AuthorityUtils.createAuthorityList(user.getRole().toString()));
//         this.user = user;
//     }
// 
//     public MaUser getUser() {
//         return user;
//     }
// 
//     public Long getId() {
//         return user.getId();
//     }
// 
//     public MaRole getRole() {
//         return user.getRole();
//     }
// 
//     @Override
//     public String toString() {
//         return "CurrentUser{" +
//                 "user=" + user +
//                 "} " + super.toString();
//     }
// }


import org.myazure.weixin.domain.MaRole;
import org.myazure.weixin.domain.CurrentUser;
package org.myazure.weixin.service.currentUser;


/**
 * @author WangZhen
 */
public class CurrentUserServiceImpl implements CurrentUserService {

    @Override
    public boolean canAccessUser(CurrentUser currentUser, Long userId) {
        return currentUser != null
// Path: src/main/java/org/myazure/weixin/domain/MaRole.java
// public enum MaRole {
//     USER, ADMIN
// }
// 
// Path: src/main/java/org/myazure/weixin/domain/CurrentUser.java
// public class CurrentUser extends org.springframework.security.core.userdetails.User {
// 
//     /**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 	private MaUser user;
// 
//     public CurrentUser(MaUser user) {
//         super(user.getUserName(), user.getPassword(), AuthorityUtils.createAuthorityList(user.getRole().toString()));
//         this.user = user;
//     }
// 
//     public MaUser getUser() {
//         return user;
//     }
// 
//     public Long getId() {
//         return user.getId();
//     }
// 
//     public MaRole getRole() {
//         return user.getRole();
//     }
// 
//     @Override
//     public String toString() {
//         return "CurrentUser{" +
//                 "user=" + user +
//                 "} " + super.toString();
//     }
// }


// Path: src/main/java/org/myazure/weixin/service/currentUser/CurrentUserServiceImpl.java
import org.myazure.weixin.domain.MaRole;
import org.myazure.weixin.domain.CurrentUser;

package org.myazure.weixin.service.currentUser;


/**
 * @author WangZhen
 */
public class CurrentUserServiceImpl implements CurrentUserService {

    @Override
    public boolean canAccessUser(CurrentUser currentUser, Long userId) {
        return currentUser != null
                && (currentUser.getRole() == MaRole.ADMIN || currentUser.getId().equals(userId));