UserMapper.java 5.25 KB
Newer Older
eddie.woo's avatar
eddie.woo committed
1 2
package pwc.taxtech.atms.dao;

gary's avatar
gary committed
3
import java.util.List;
eddie.woo's avatar
eddie.woo committed
4 5 6 7 8 9 10
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.session.RowBounds;
import pwc.taxtech.atms.MyMapper;
11 12 13
import pwc.taxtech.atms.dpo.RoleInfo;
import pwc.taxtech.atms.dpo.UserDto;
import pwc.taxtech.atms.dpo.UserOrgRoleDto;
14 15
import pwc.taxtech.atms.entity.User;
import pwc.taxtech.atms.entity.UserExample;
eddie.woo's avatar
eddie.woo committed
16 17 18 19 20

@Mapper
public interface UserMapper extends MyMapper {
    /**
     * This method was generated by MyBatis Generator.
gary's avatar
gary committed
21
     * This method corresponds to the database table user
eddie.woo's avatar
eddie.woo committed
22 23 24 25 26 27 28
     *
     * @mbg.generated
     */
    long countByExample(UserExample example);

    /**
     * This method was generated by MyBatis Generator.
gary's avatar
gary committed
29
     * This method corresponds to the database table user
eddie.woo's avatar
eddie.woo committed
30 31 32 33 34 35 36
     *
     * @mbg.generated
     */
    int deleteByExample(UserExample example);

    /**
     * This method was generated by MyBatis Generator.
gary's avatar
gary committed
37
     * This method corresponds to the database table user
eddie.woo's avatar
eddie.woo committed
38 39 40
     *
     * @mbg.generated
     */
41
    int deleteByPrimaryKey(String id);
eddie.woo's avatar
eddie.woo committed
42 43 44

    /**
     * This method was generated by MyBatis Generator.
gary's avatar
gary committed
45
     * This method corresponds to the database table user
eddie.woo's avatar
eddie.woo committed
46 47 48 49 50 51 52
     *
     * @mbg.generated
     */
    int insert(User record);

    /**
     * This method was generated by MyBatis Generator.
gary's avatar
gary committed
53
     * This method corresponds to the database table user
eddie.woo's avatar
eddie.woo committed
54 55 56 57 58 59 60
     *
     * @mbg.generated
     */
    int insertSelective(User record);

    /**
     * This method was generated by MyBatis Generator.
gary's avatar
gary committed
61
     * This method corresponds to the database table user
eddie.woo's avatar
eddie.woo committed
62 63 64 65 66 67 68
     *
     * @mbg.generated
     */
    List<User> selectByExampleWithRowbounds(UserExample example, RowBounds rowBounds);

    /**
     * This method was generated by MyBatis Generator.
gary's avatar
gary committed
69
     * This method corresponds to the database table user
eddie.woo's avatar
eddie.woo committed
70 71 72 73 74 75 76
     *
     * @mbg.generated
     */
    List<User> selectByExample(UserExample example);

    /**
     * This method was generated by MyBatis Generator.
gary's avatar
gary committed
77
     * This method corresponds to the database table user
eddie.woo's avatar
eddie.woo committed
78 79 80
     *
     * @mbg.generated
     */
81
    User selectByPrimaryKey(String id);
eddie.woo's avatar
eddie.woo committed
82 83 84

    /**
     * This method was generated by MyBatis Generator.
gary's avatar
gary committed
85
     * This method corresponds to the database table user
eddie.woo's avatar
eddie.woo committed
86 87 88 89 90 91 92
     *
     * @mbg.generated
     */
    int updateByExampleSelective(@Param("record") User record, @Param("example") UserExample example);

    /**
     * This method was generated by MyBatis Generator.
gary's avatar
gary committed
93
     * This method corresponds to the database table user
eddie.woo's avatar
eddie.woo committed
94 95 96 97 98 99 100
     *
     * @mbg.generated
     */
    int updateByExample(@Param("record") User record, @Param("example") UserExample example);

    /**
     * This method was generated by MyBatis Generator.
gary's avatar
gary committed
101
     * This method corresponds to the database table user
eddie.woo's avatar
eddie.woo committed
102 103 104 105 106 107 108
     *
     * @mbg.generated
     */
    int updateByPrimaryKeySelective(User record);

    /**
     * This method was generated by MyBatis Generator.
gary's avatar
gary committed
109
     * This method corresponds to the database table user
eddie.woo's avatar
eddie.woo committed
110 111 112 113
     *
     * @mbg.generated
     */
    int updateByPrimaryKey(User record);
eddie.woo's avatar
eddie.woo committed
114

eddie.woo's avatar
eddie.woo committed
115 116 117 118
    /**
     * select one user record by user name
     */
    User selectByUserName(String userName);
119

eddie.woo's avatar
eddie.woo committed
120 121 122 123
    /**
     * select one user record by user name with ingore case
     */
    User selectByUserNameIgnoreCase(String userName);
124

eddie.woo's avatar
eddie.woo committed
125
    /**
126
     * select one user record by user name with ingore case and different user id
eddie.woo's avatar
eddie.woo committed
127 128
     */
    User selectUserWithSameUserName(UserDto userDto);
129

eddie.woo's avatar
eddie.woo committed
130
    /**
131
     * select one user record by email with ingore case and different user id
eddie.woo's avatar
eddie.woo committed
132 133
     */
    User selectUserWithSameEmail(UserDto userDto);
134

eddie.woo's avatar
eddie.woo committed
135 136 137 138
    /**
     * select one user record by email with ingore case
     */
    User selectByEmailIgnoreCase(String email);
139

eddie.woo's avatar
eddie.woo committed
140
    /**
141
     * select one user record with its related organization information by user id
eddie.woo's avatar
eddie.woo committed
142
     */
gary's avatar
gary committed
143 144 145
    @Select("select u.user_name as userName, o.id as organizationId, o.name as organizationName, "
            + "u.email as email, u.status as status, u.attempt_times as attemptTimes, u.create_time as createTime, "
            + "u.expiration_date as expirationDate, u.is_admin as isAdmin, u.id as id, u.locked_time as lockedTime, "
gary's avatar
gary committed
146
            + "u.login_type as loginType, u.password as password, u.password_update_time as passwordUpdateTime, u.update_time as updateTime from user u "
gary's avatar
gary committed
147 148
            + "left join organization o on u.organization_id = o.id "
            + "where u.id = #{userId}")
149
    List<UserDto> selectUserWithOrgInfoById(@Param(value = "userId") String userId);
eddie.woo's avatar
eddie.woo committed
150

gary's avatar
gary committed
151 152 153
    @Select("select R.id AS id, R.name AS name FROM user_role U "
            + "JOIN role R ON U.role_id = R.id "
            + "WHERE U.user_id = #{userId}")
154
    List<RoleInfo> selectUserRoleInfoById(@Param(value = "userId") String userId);
eddie.woo's avatar
eddie.woo committed
155

gary's avatar
gary committed
156
    @Select("select udv.role_id as roleID, r.name as roleName, udv.user_dimension_value_id as id "
gary's avatar
gary committed
157 158
            + "FROM user_dimension_value_role udv "
            + "JOIN role r ON udv.role_id = r.ID")
eddie.woo's avatar
eddie.woo committed
159
    List<UserOrgRoleDto> selectUserDimensionValueRole();
eddie.woo's avatar
eddie.woo committed
160

gary's avatar
gary committed
161 162 163
    @Select("select q.role_id as roleID, r.name as roleName, q.user_organization_id as id "
            + "from user_organization_role q "
            + "join role r on q.role_id = r.id")
eddie.woo's avatar
eddie.woo committed
164 165
    List<UserOrgRoleDto> selectUserOrganizationRole();
}