📄 userservice.java
字号:
package com.italk.service;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Date;
import com.italk.service.security.ItalkSecurityException;
import com.italk.ui.UserInfo;
import com.italk.vo.AdvanceInfo;
import com.italk.vo.BaseInfo;
import com.italk.vo.Group;
import com.italk.vo.User;
public class UserService extends BaseService {
public boolean register(User u) {
if (validateRegister(u.getBaseInfo().getUserName())) {
log.debug("userName is exist");
return false;
}
u.getBaseInfo().setRegisterTime(new Long(new Date().getTime()));
Group g=(Group)gdao.getByGroupName("default");
u.setGroup(g);
udao.insert(u);
return true;
}
public boolean validateRegister(String userName) {
return udao.isExist(userName);
}
public User logon(String userName, String password,String photoPath) throws ItalkSecurityException {
User u = udao.getByUserName(userName);
if (u != null && u.getBaseInfo().getPassword().equals(password)) {
if(u.getAdvanceInfo() != null && u.getAdvanceInfo().getPhoto() != null)
putPhotoToDisk(u,photoPath);
return u;
}
return null;
}
public void putPhotoToDisk(User u, String path) {
String fileName = u.getBaseInfo().getUserName() + ".jpg";
File file = new File(path + fileName);
try {
OutputStream out = new FileOutputStream(file);
out.write(u.getAdvanceInfo().getPhoto());
out.flush();
out.close();
} catch (Exception e) {
log.error("put photo to disk failed",e);
}
}
public UserInfo showUserInfo(String userName) {
User u=udao.getByUserName(userName);
if(u == null) {
return null;
}
UserInfo ui=new UserInfo(u);
ui.setUser(u);
return ui;
}
public void changeUserInfo(User u,AdvanceInfo ai,BaseInfo bi,String photoPath) {
log.debug("start save change");
AdvanceInfo aiSrc=u.getAdvanceInfo();
BaseInfo biSrc=u.getBaseInfo();
biSrc.setEmail(bi.getEmail());
if(bi.getPassword()!=null && bi.getPassword().length()>1) {
log.debug("change password");
biSrc.setPassword(bi.getPassword());
}
biSrc.setSex(bi.getSex());
if(aiSrc != null) {
log.debug("aisrc != null");
aiSrc.setAge(ai.getAge());
aiSrc.setBorn(ai.getBorn());
aiSrc.setDescription(ai.getDescription());
aiSrc.setNickName(ai.getNickName());
aiSrc.setPhone(ai.getPhone());
if(ai.getPhoto()!=null && ai.getPhoto().length>1) {
log.debug("change photo");
aiSrc.setPhoto(ai.getPhoto());
}
aiSrc.setQq(ai.getQq());
aiSrc.setRealName(ai.getRealName());
aiSrc.setWebsite(ai.getWebsite());
} else {
log.debug("ai = null");
u.setAdvanceInfo(ai);
}
udao.update(u);
if(ai.getPhoto()!=null && ai.getPhoto().length>1) {
putPhotoToDisk(u, photoPath);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -