1. 程式人生 > >shopxx4.0 shop++4.0 開發記錄

shopxx4.0 shop++4.0 開發記錄

/* 
* Copyright 2005-2015 shopxx.net. All rights reserved. 
* Support: http://www.shopxx.net 
* License: http://www.shopxx.net/license 
*/ 
package net.shopxx.service; 

import java.math.BigDecimal; 
import java.util.List; 

import net.shopxx.Page; 
import net.shopxx.Pageable; 
import net.shopxx.entity.Admin; 
import net.shopxx.entity.DepositLog; 
import net.shopxx.entity.Member; 
import net.shopxx.entity.PointLog; 

/** 
* Service - 會員 

* @author SHOP++ Team 
* @version 4.0 
*/ 
public interface MemberService extends BaseService<Member, Long> { 

/** 
* 判斷使用者名稱是否存在 

* @param username 
*            使用者名稱(忽略大小寫) 
* @return 使用者名稱是否存在 
*/ 
boolean usernameExists(String username); 

/** 
* 判斷使用者名稱是否禁用 

* @param username 
*            使用者名稱(忽略大小寫) 
* @return 使用者名稱是否禁用 
*/ 
boolean usernameDisabled(String username); 

/** 
* 判斷E-mail是否存在 

* @param email 
*            E-mail(忽略大小寫) 
* @return E-mail是否存在 
*/ 
boolean emailExists(String email); 

/** 
* 判斷E-mail是否唯一 

* @param previousEmail 
*            修改前E-mail(忽略大小寫) 
* @param currentEmail 
*            當前E-mail(忽略大小寫) 
* @return E-mail是否唯一 
*/ 
boolean emailUnique(String previousEmail, String currentEmail); 

/** 
* 查詢會員 

* @param loginPluginId 
*            登入外掛ID 
* @param openId 
*            openID 
* @return 會員,若不存在則返回null 
*/ 
Member find(String loginPluginId, String openId); 

/** 
* 根據使用者名稱查詢會員 

* @param username 
*            使用者名稱(忽略大小寫) 
* @return 會員,若不存在則返回null 
*/ 
Member findByUsername(String username); 

/** 
* 根據E-mail查詢會員 

* @param email 
*            E-mail(忽略大小寫) 
* @return 會員,若不存在則返回null 
*/ 
List<Member> findListByEmail(String email); 

/** 
* 查詢會員分頁 

* @param rankingType 
*            排名型別 
* @param pageable 
*            分頁資訊 
* @return 會員分頁 
*/ 
Page<Member> findPage(Member.RankingType rankingType, Pageable pageable); 

/** 
* 判斷會員是否登入 

* @return 會員是否登入 
*/ 
boolean isAuthenticated(); 

/** 
* 獲取當前登入會員 

* @return 當前登入會員,若不存在則返回null 
*/ 
Member getCurrent(); 

/** 
* 獲取當前登入會員 

* @param lock 
*            是否鎖定 
* @return 當前登入會員,若不存在則返回null 
*/ 
Member getCurrent(boolean lock); 

/** 
* 獲取當前登入使用者名稱 

* @return 當前登入使用者名稱,若不存在則返回null 
*/ 
String getCurrentUsername(); 

/** 
* 增加餘額 

* @param member 
*            會員 
* @param amount 
*            值 
* @param type 
*            型別 
* @param operator 
*            操作員 
* @param memo 
*            備註 
*/ 
void addBalance(Member member, BigDecimal amount, DepositLog.Type type, Admin operator, String memo); 

/** 
* 增加積分 

* @param member 
*            會員 
* @param amount 
*            值 
* @param type 
*            型別 
* @param operator 
*            操作員 
* @param memo 
*            備註 
*/ 
void addPoint(Member member, long amount, PointLog.Type type, Admin operator, String memo); 

/** 
* 增加消費金額 

* @param member 
*            會員 
* @param amount 
*            值 
*/ 
void addAmount(Member member, BigDecimal amount); 

}