Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

package in.shop2020.user.persistence;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import in.shop2020.model.v1.user.UserType;
import in.shop2020.user.domain.Cart;
import in.shop2020.user.domain.User;
import in.shop2020.user.domain.UserCommunication;

public interface UserMapper {

        User createAnonymousUser(@Param("jsession_id") String jsession_id, @Param("cart") Cart cart);
        
        User getUserById(long user_id);
        
        User getUserByMobileNumber(String mobile_number);
        
        User getUserByEmail(String email);
        
        int createUser(User user);
        
        int updateUser(User user);

        boolean deleteUser(long userId);

//      UserState getUserState(long userId);

        User authenticateUser(@Param("email") String email, @Param("password") String password);

        boolean userExists(String email);

//      UserState getUserStateByUserId(long userId);

        List<User> getAllUsers(@Param("userType") int userType, @Param("startDate") long startDate, @Param("endDate")long endDate);

        void setDefaultAddress(@Param("userId") long userId, @Param("addressId") long addressId);

        void setLastLogin(@Param("userId") long userId, @Param("date") Date date);

        void setLastLogout(@Param("userId") long userId, @Param("date") Date date);

        void increaseTrustLevel(@Param("userId") long userId, @Param("trustLevelDelta") double trustLevelDelta);

        User getUserNameById(int id);

        void createAnonymousUser(User user);

        in.shop2020.user.domain.UserCommunication getUserCommunicationById(long id);

        List<in.shop2020.user.domain.UserCommunication> getUserCommunicationByUser(long userId);

        List<in.shop2020.user.domain.UserCommunication> getAllUserCommunications();

        void updatePassword(@Param("userId") long userId, @Param("newPassword") String newPassword);

        long getUserCount();

        long getUserCountByType(int userType);

        User getUserByCartId(long cartId);

        void insertUserCommunication(
                        in.shop2020.user.domain.UserCommunication userCommunication);

        void removeUserCommunication(long id);

        double getTrustLevel(long userId);

}