friendserviceimpl.java
来自「社区文章采用的是平板、树形自由选择的两种展示方式」· Java 代码 · 共 452 行 · 第 1/2 页
JAVA
452 行
this.getUserService().ruleUtils(log,0,28);
log.setUserName(this.getUserService().findById(model.getFriendUserId()).getUserName());
log.setUserId(model.getFriendUserId());
log.setIsList(true);
log.setListByUserName(true);
log.setMemo("被删除好友名单");
log.setContent(this.getUserService().findById(model.getFriendUserId()).getUserName()+
"被"+this.getUserService().findById(model.getMyUserId()).getUserName()+"从好友名单删除!");
this.getManageLogService().create(log);
log = new ManageLog();
log.setTitle("");
log.setMemo("删除好友");
log.setTopicId(0);
log.setReplyId(0);
log.setForumId(0);
log.setByUserId(model.getMyUserId());
log.setByUserName(this.getUserService().findById(model.getMyUserId()).getUserName());
log.setByUserIp("127.0.0.1");
log.setCreateDateTime(model.getCreateDateTime());
this.getUserService().ruleUtils(log,0,29);
log.setUserName(this.getUserService().findById(model.getMyUserId()).getUserName());
log.setUserId(model.getMyUserId());
log.setIsList(true);
log.setListByUserName(true);
log.setContent(log.getUserName()+"将"+this.getUserService().findById(model.getFriendUserId()).getUserName()+"从好友名单删除");
this.getManageLogService().create(log);
return c;
}
public int delete(String ids) throws ClubException {
List<Integer> list = StringHelper.stringToIntegerList(ids,"|");
if(!Validator.isEmpty(list)){
int c = 0;
for(Integer id:list){
Friend model = new Friend();
model.setFriendId(id);
c=c+this.delete(model);
}
return c;
}else{
throw new ClubException(MessageUtils.getMessage("error_parameter"));
}
}
/* test
public static void main(String args[]){
com.yeqiangwei.club.dao.hibernate.ConnectionManager.init();
FriendServiceImpl f = new FriendServiceImpl();
FriendParameter param = new FriendParameter();
param.setMyUserId(95);
Object obj = f.findByParameter(param);
System.out.println(obj);
List list = (List) obj;
System.out.println(list);
com.yeqiangwei.club.dao.hibernate.ConnectionManager.closeSession();
}
*/
public List<Friend> findByParameter(FriendParameter param) {
List<?> list = (List<?>) this.getFriendDAO().find_friendJoinUser(param);
List<Friend> mlist = new ArrayList<Friend>();
if(!Validator.isEmpty(list)){
for(int i=0; i<list.size(); i++){
Object[] obj = (Object[]) list.get(i);
Friend friend = (Friend) obj[0];
User user = (User) obj[1];
if(!Validator.isEmpty(friend)&&!Validator.isEmpty(user)){
friend.setUser(user);
mlist.add(friend);
CACHE_FRIEND.put(cacheKey(friend,false),friend);
}
}
}
return mlist;
}
public long countByParameter(FriendParameter param) {
return this.getFriendDAO().countByParameter(param);
}
/**
* 限制了List上限
*/
private List<Topic> findTopics(List<Friend> flist, int rows){
if(Validator.isEmpty(flist)){
return null;
}
List<Integer> userIdList = new ArrayList<Integer>();
for(Friend friend : flist){
userIdList.add(friend.getFriendUserId());
}
TopicParameter param = new TopicParameter();
param.setPage(new Integer(1));
param.setRows(rows);
param.setUserIdList(userIdList);
param.setOrderBy(new Byte((byte)2));//order by topicId desc
param.setIsDeleted(false);
List<Topic> list = this.getTopicService().findByParameter(param);
return list;
}
private List<Reply> findReplys(List<Friend> flist, int rows){
if(Validator.isEmpty(flist)){
return null;
}
List<Integer> userIdList = new ArrayList<Integer>();
for(Friend friend : flist){
userIdList.add(friend.getFriendUserId());
}
TopicParameter param = new TopicParameter();
param.setPage(new Integer(1));
param.setRows(rows);
param.setUserIdList(userIdList);
param.setOrderBy(new Byte((byte)2));//order by topicId desc
param.setIsDeleted(false);
List<Reply> list = this.getReplyService().findByParameter(param);
return list;
}
/* test */
public static void main(String args[]){
com.yeqiangwei.club.dao.hibernate.ConnectionManager.init();
FriendServiceImpl f = new FriendServiceImpl();
List<FriendLastPost> list = f.findLastPost(1585, 7, true);
if(list!=null){
for(int i=0; i<list.size(); i++){
FriendLastPost post = list.get(i);
System.out.println(post.getTopic().getCreateDateTime()
+" "+post.getTopic().getTitle()+" / "+post.getTopic().getUserName());
//System.out.println(post.getReply().getReplyId()+"//"+post.getReply().getTitle()
// +"//"+post.getReply().getUserName());
}
}
com.yeqiangwei.club.dao.hibernate.ConnectionManager.closeSession();
}
public List<FriendLastPost> findLastPost(int myUserId, int rows, boolean isTopic) {
if(myUserId==0){
return null;
}
List<FriendLastPost> list = new ArrayList<FriendLastPost>();
FriendParameter param = new FriendParameter();
param.setMyUserId(myUserId);
param.setPage(new Integer(1));
param.setRows(new Integer(50));//总共取前50位好友的信息
param.setOrderBy((byte)3);//按关系值排列
List<Friend> flist = this.getFriendDAO().findByParameter(param);
if(isTopic){
List<Topic> tlist = this.findTopics(flist, rows);
if(tlist!=null){
for(int i=0; i<tlist.size(); i++){
FriendLastPost p = new FriendLastPost();
p.setTopic(tlist.get(i));
list.add(p);
}
}
}
else{
List<Reply> rlist = this.findReplys(flist, rows);
if(rlist!=null){
for(int i=0; i<rlist.size(); i++){
FriendLastPost p = new FriendLastPost();
p.setReply(rlist.get(i));
list.add(p);
}
}
}
return list;
}
/**
*
* @param model
* @param isresults true缓存List集合对象 false缓存Friend对象
* @return
*/
private String cacheKey(Friend model, boolean isresults){
StringBuffer sb = new StringBuffer();
sb.append("Friend:");
if(isresults){
sb.append("myUserId=");
sb.append(model.getMyUserId());
}else{
sb.append(",friendId=");
sb.append(model.getFriendId());
}
return sb.toString();
}
private FriendDAO getFriendDAO() {
return DAOWrapper.<FriendDAO>getSingletonInstance(DAOLocator.FRIEND);
}
private UserService getUserService() {
return ServiceWrapper.getSingletonInstance(ServiceLocator.USER);
}
private ReplyService getReplyService() {
return ServiceWrapper.<ReplyService>getSingletonInstance(ServiceLocator.REPLY);
}
private TopicService getTopicService() {
return ServiceWrapper.<TopicService>getSingletonInstance(ServiceLocator.TOPIC);
}
private ManageLogService getManageLogService() {
return ServiceWrapper.<ManageLogService>getSingletonInstance(ServiceLocator.MANAGELOG);
}
private RobotService getRobotService(){
return ServiceWrapper.<RobotService>getSingletonInstance(ServiceLocator.DOING_ROBOT);
}
private UserIMService getUserIMService(){
return ServiceWrapper.<UserIMService>getSingletonInstance(ServiceLocator.DOING_USERIM);
}
private BasicInfoService getBasicInfoService() {
return ServiceWrapper.<BasicInfoService>getSingletonInstance(ServiceLocator.BASICINFO);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?