我们调用服务返回的类型有String,List,Map,Bean,Int,Boolean等类型,可以统一成result对象返回,自带生成Json字符串方法,使用起来非常方便,代码如下:
import tf56.sofa.serializer.JsonGenerateUtil;
/**
* 返回对象Result封装
* @athor changmeng.liu
* @date 2014-7-25
* @version 1.0
* @update
*/
public class Result {
final String SUCCESS="success";
final String ERROR="error";
private String count="";
/** 响应数据 */
private Object data;
/** 响应分页 */
/** 响应状态 */
private Boolean status = true;
/** 响应消息 */
private String message;
public Result() {}
public Result(Object data) {
this.data = data;
}
public Result(String message, Boolean status) {
this.set(message, status);
}
public Result(String message, Boolean status,String count, Object data) {
this.set(message, status);
this.data = data;
this.count=count;
}
public void set(String message, Boolean status) {
this.status = status;
this.message = message;
this.count="";
this.data="";
}
public void set(String message, Boolean status,String count, Object data) {
this.status = status;
this.message = message;
this.data = data;
this.count=count;
}
public Boolean getStatus() {
return status;
}
public void setStatus(Boolean status) {
this.status = status;
this.message=this.status?"成功":"失败";
this.count="";
this.data="";
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public String getCommonJson(){
return JsonGenerateUtil.getCommonJson(status==true?SUCCESS:ERROR, message, count==null?"":count, data==null?"":data);
}
}
public class InvitationCodeServiceImpl implements InvitationCodeService {
@Autowired
private InvitationCodeDao invitationCodeDao;
@Autowired
private PartyService partyService;
protected Result result=new Result();
protected final Log logger = LogFactory.getLog(getClass());
/**
* @athor changmeng.liu
* @date 2014-7-15
* @version 1.0
* @function
* @param
* @update
*/
@Override
public Result getInvitationCodeByTypeAndId(Map map) {
String type=(String) map.get("type");
String fromid=(String) map.get("fromid");
if(StringUtils.isEmpty(type)){
this.result.set("类型不能为空", false);
logger.debug(this.result.getMessage());
return this.result;
}
if(StringUtils.isEmpty(fromid)){
this.result.set("来源ID不能为空", false);
logger.debug(this.result.getMessage());
return this.result;
}
if(!"小二".equals(type)&&!"会员".equals(type)){
this.result.set("类型不正确", false);
logger.debug(this.result.getMessage());
return this.result;
}
Map<String,Object> paramMap=new HashMap<String,Object>();
paramMap.put("type", type);
paramMap.put("fromid", fromid);
InvitationCode invitationCode=invitationCodeDao.selectByTypeAndId(paramMap);
if(invitationCode==null){
this.result.set("没有找到该用户的邀请码", true,"","");
logger.debug(this.result.getMessage());
return this.result;
}
this.result.set("成功", true, "1", invitationCode);
return this.result;
}
}
结合logger,我们可以返回更加清晰的日志信息,帮助我们准确定位出错代码块
分享到:
相关推荐
要将本地SQL查询的结果封装成对象,我们首先需要定义一个映射文件(.hbm.xml),在这个文件中,我们需要指定查询返回的对象类型以及字段与数据库列的对应关系。例如: ```xml <id name="id" column="id"></id> ...
在封装方法中,我们可以使用泛型对象来封装返回结果,并将其返回给调用方。 例如,在上面的代码中,我们可以使用泛型对象封装返回结果: ```java public class Result<T> { private static final String SUCCESS =...
在JavaScript编程中,将功能封装成对象是一种常见的代码组织方式,可以提高代码的复用性和可维护性。在这个场景中,我们讨论的是一个基于JavaScript实现的计算器,它已经被封装为一个对象,便于调用和使用。以下是这...
在面向对象编程中,封装是三大特性之一(另外两个是继承和多态)。通过封装,我们可以将数据和操作这些数据的方法绑定在一起,形成一个独立的单元,即类。类的内部细节对用户是隐藏的,外部只能通过公共接口(公有...
3. **ServerResult封装** - `ServerResult`是一个通用的结果封装类,通常包含状态码、消息和数据三个字段。在业务处理完成后,将业务结果封装成`ServerResult`对象,统一返回给前端。 - 例如,创建一个`Server...
总的来说,"result接口jar包.rar"提供了一个方便的方式来处理结果返回,它封装了Result接口的实现,使得开发者能够快速地集成到自己的项目中。使用这样的库可以促进团队间的代码复用,提高开发效率,同时保证了代码...
3. **执行SQL语句**:`SQLResult executeSQL(const std::string& sql)`,执行SQL命令并返回结果集对象,用于处理查询结果。 4. **处理结果集**:`bool nextRow(SQLResult& result)`,遍历结果集的下一行;`int ...
创建InfoWindow对象后,通过`open`方法显示,`close`方法关闭。 ```javascript var infoWindow = new AMap.InfoWindow({ content: '这里是北京' }); infoWindow.open(map, marker.getPosition()); ``` 4. **路径...
标题"公用返回类用泛型,返回固定格式"所指的是创建一个通用的返回类,该类利用泛型来封装数据,并确保返回的数据遵循固定的格式。这样做可以提高代码的可读性和可维护性,同时减少因类型转换而引发的错误。 描述中...
"result": 6, "id": 1 } ``` 在Java中,可以使用jsonrpc.jar提供的API来构建和处理这样的请求和响应。 总的来说,`json-lib-2.4-jdk15.jar`和`jsonrpc.jar`这两个JAR包对于Java开发者来说是非常有用的工具。前者...
Result对象封装了ResultSet,使得在多线程环境下或者需要跨多个方法处理数据时,结果集的数据持久性得到了保障。 此外,Result还支持其他的便利方法,如`getColumnNames()`用于获取列名,`get(int index)`和`get...
如果不想导包,那么,我们需要自己写,于是,本人使用Java的集合框架来完成模拟jstl的Result接口的功能--返回一个Map对象,然后通过表的字段名作为键来从Map对象中取所对应的记录集合list. 学习对象:所有学习Java...
本话题将详细讲解如何利用易语言中的WinHttpRequest对象进行网络请求,以及封装此对象的方法。 WinHttpRequest对象是Windows API提供的一种用于发送HTTP、HTTPS请求的接口,它允许开发者在应用程序中实现网络通信...
**返回对象的实现** 为了返回一个JSON对象,你需要创建一个JavaBean类作为值对象,用于封装要返回的数据。例如,创建一个名为`Users`的类,包含`userId`、`userName`和`sex`等属性,并提供getter和setter方法。在...
`DecodeImage`方法接受一个`Bitmap`对象,调用`_reader.Decode`进行解码,并返回解码结果的文本。 为了使封装类更强大,可以考虑添加更多功能,如: 1. 支持多种类型的自动码:通过在`DecodeImage`方法中增加条件...
这可能涉及到类型转换,例如指针到托管对象,以及异常处理,因为C++异常不能直接抛给.NET代码。 4. 创建C#接口:在C#项目中,定义一个接口来表示C++ DLL的功能。这些接口将被C#代码使用,它们的实现将委托给C++/CLI...
在面向对象编程(OOP)中,封装是核心原则之一,它隐藏了数据和功能的具体实现细节,仅对外提供接口。在C++中,我们可以通过定义类并提供公共成员函数来实现封装。对于MySQL,封装类可能包括连接数据库、执行查询、...
总结来说,Java中封装JSON数据主要涉及JSON对象的创建、序列化和反序列化,以及与Struts框架的集成。通过熟练掌握这些技能,你可以有效地处理Web应用中的数据交互。在实际开发中,还需要关注性能优化、错误处理以及...
封装一个`prepareStatement(const char* sqlCmd)`函数,返回一个可以绑定参数的对象。 8. **参数绑定和执行**:预编译语句对象应提供`bind(int index, value)`方法来绑定参数,以及`execute()`来执行预编译的SQL。 ...
在上面的代码中,我们首先 require 了 mssql 模块,然后创建了一个 db 对象,用于封装连接数据库的代码。我们定义了一个 config 对象,用于存储连接数据库的配置信息。然后,我们定义了一个 sql 函数,用于执行 SQL ...