欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

shop++4.0源码 shop++shopxxshop++源码shopxx源码shop++4.0源码

程序员文章站 2024-03-14 13:12:10
...
/*
* 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);

}