📄 userwebserviceimpl.java
字号:
package org.springside.examples.miniservice.ws.user;
import java.util.ArrayList;
import java.util.List;
import javax.jws.WebService;
import org.apache.commons.lang.StringUtils;
import org.apache.cxf.feature.Features;
import org.springframework.beans.factory.annotation.Required;
import org.springside.examples.miniservice.entity.user.User;
import org.springside.examples.miniservice.service.user.UserManager;
import org.springside.examples.miniservice.ws.Constants;
import org.springside.examples.miniservice.ws.WSResult;
import org.springside.examples.miniservice.ws.user.dto.CreateUserResult;
import org.springside.examples.miniservice.ws.user.dto.GetAllUserResult;
import org.springside.examples.miniservice.ws.user.dto.GetUserResult;
import org.springside.examples.miniservice.ws.user.dto.UserDTO;
import org.springside.modules.webservice.WebServiceSupport;
/**
* WebService实现类.
*
* @WebService的endpointInterface属性指向Interface定义类.
* @WebService的serviceName与portName属性指明WSDL中的名称.
* CXF的@Features指定将出入的SOAP XML写入日志.
*
* @author sky
* @author calvin
*/
@WebService(serviceName = "UserWebService", portName = "UserWebServicePort", endpointInterface = "org.springside.examples.miniservice.ws.user.UserWebService", targetNamespace = Constants.NS)
@Features(features = "org.apache.cxf.feature.LoggingFeature")
public class UserWebServiceImpl extends WebServiceSupport implements UserWebService {
private UserManager userManager;
/**
* @see UserWebService#getAllUser()
*/
public GetAllUserResult getAllUser() {
GetAllUserResult result = new GetAllUserResult();
try {
List<User> userList = userManager.getAllUser();
List<UserDTO> userDTOList = new ArrayList<UserDTO>();
for (User userEntity : userList) {
userDTOList.add((UserDTO) dozer.map(userEntity, UserDTO.class));
}
result.setUserList(userDTOList);
} catch (RuntimeException e) {
logger.error(e.getMessage(), e);
result.systemError();
}
return result;
}
/**
* @see UserWebService#getUser(Long)
*/
public GetUserResult getUser(Long userId) {
GetUserResult result = new GetUserResult();
try {
//校验请求参数
if (userId == null) {
result.setResult(WSResult.PARAMETER_ERROR, "userId参数为空");
logger.warn(result.getMessage());
return result;
}
// 获取User
User userEnity = userManager.getUser(userId);
if (userEnity == null) {
result.setResult(WSResult.USER_NOT_EXIST_ERROR, "帐号ID:" + userId + "不存在");
logger.warn(result.getMessage());
return result;
}
// 从User转换到UserDTO
UserDTO dto = (UserDTO) dozer.map(userEnity, UserDTO.class);
result.setUser(dto);
} catch (RuntimeException e) {
logger.error(e.getMessage(), e);
result.systemError();
}
return result;
}
/**
* @see UserWebService#createUser(UserDTO)
*/
public CreateUserResult createUser(UserDTO user) {
CreateUserResult result = new CreateUserResult();
try {
//校验请求参数
if (user == null) {
result.setResult(WSResult.PARAMETER_ERROR, "user参数为空");
logger.warn(result.getMessage());
return result;
}
// 从DTO转换到User
User userEntity = (User) dozer.map(user, User.class);
// 保存User
userManager.saveUser(userEntity);
result.setUserId(userEntity.getId());
} catch (RuntimeException e) {
logger.error(e.getMessage(), e);
result.systemError();
}
return result;
}
/**
* @see UserWebService#authUser(String, String)
*/
public WSResult authUser(String loginName, String password) {
WSResult result = new WSResult();
try {
if (StringUtils.isBlank(loginName) || StringUtils.isBlank(password)) {
result.setResult(WSResult.PARAMETER_ERROR, "用户名或密码为空");
logger.warn(result.getMessage());
return result;
}
if (!userManager.auth(loginName, password)) {
result.setCode(WSResult.FALSE);
}
} catch (RuntimeException e) {
logger.error(e.getMessage(), e);
result.systemError();
}
return result;
}
@Required
public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -