商品添加功能的实现

返回的结果:

package com.taotao.common.utils;

import java.util.List;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

/**
* 淘淘商城自定义响应结构
*/
public class TaotaoResult {

// 定义jackson对象
private static final ObjectMapper MAPPER = new ObjectMapper();

// 响应业务状态
private Integer status;

// 响应消息
private String msg;

// 响应中的数据
private Object data;

public static TaotaoResult build(Integer status, String msg, Object data) {
return new TaotaoResult(status, msg, data);
}

public static TaotaoResult ok(Object data) {
return new TaotaoResult(data);
}

public static TaotaoResult ok() {
return new TaotaoResult(null);
}

public TaotaoResult() {

}

public static TaotaoResult build(Integer status, String msg) {
return new TaotaoResult(status, msg, null);
}

public TaotaoResult(Integer status, String msg, Object data) {
this.status = status;
this.msg = msg;
this.data = data;
}

public TaotaoResult(Object data) {
this.status = 200;
this.msg = "OK";
this.data = data;
}

// public Boolean isOK() {
// return this.status == 200;
// }

public Integer getStatus() {
return status;
}

public void setStatus(Integer status) {
this.status = status;
}

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

public Object getData() {
return data;
}

public void setData(Object data) {
this.data = data;
}

/**
* 将json结果集转化为TaotaoResult对象
*
* @param jsonData json数据
* @param clazz TaotaoResult中的object类型
* @return
*/
public static TaotaoResult formatToPojo(String jsonData, Class<?> clazz) {
try {
if (clazz == null) {
return MAPPER.readValue(jsonData, TaotaoResult.class);
}
JsonNode jsonNode = MAPPER.readTree(jsonData);
JsonNode data = jsonNode.get("data");
Object obj = null;
if (clazz != null) {
if (data.isObject()) {
obj = MAPPER.readValue(data.traverse(), clazz);
} else if (data.isTextual()) {
obj = MAPPER.readValue(data.asText(), clazz);
}
}
return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);
} catch (Exception e) {
return null;
}
}

/**
* 没有object对象的转化
*
* @param json
* @return
*/
public static TaotaoResult format(String json) {
try {
return MAPPER.readValue(json, TaotaoResult.class);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

/**
* Object是集合转化
*
* @param jsonData json数据
* @param clazz 集合中的类型
* @return
*/
public static TaotaoResult formatToList(String jsonData, Class<?> clazz) {
try {
JsonNode jsonNode = MAPPER.readTree(jsonData);
JsonNode data = jsonNode.get("data");
Object obj = null;
if (data.isArray() && data.size() > 0) {
obj = MAPPER.readValue(data.traverse(),
MAPPER.getTypeFactory().constructCollectionType(List.class, clazz));
}
return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);
} catch (Exception e) {
return null;
}
}

}

时间: 2024-08-26 09:55:19

商品添加功能的实现的相关文章

14.商品添加功能

商品用例的bean层 添加商品的用例实现首先要有封装商品的bean,还要有封装商品种类的bean. 封装商品种类的bean package cn.bingou.domain; /** * 商品种类的bean * @author 吹静静 * */ public class ProdCategory { private int id; private String cname; public ProdCategory() { super(); // TODO Auto-generated const

【SSH网上商城项目实战09】添加和更新商品类别功能的实现

上一节我们做完了查询和删除商品的功能,这一节我们做一下添加和更新商品的功能. 1. 添加商品类别 1.1 添加类别的UI设计 我们先说一下思路:首先当用户点击"添加商品"时,我们应该弹出一个"添加商品"的UI窗口(注意这里不是跳转到新的jsp,EasyUI只有一个页面),弹出这个"添加商品"的窗口后,应该锁住它父类的所有窗口(即点击其他地方无效,只能操作添加商品的窗口),等用户填好了信息后,在新弹出来的窗口上点击"添加"后,将

vue登录功能和将商品添加至购物车实现

 2.1: 学子商城--用户登录 用户登录商城用户操作行为,操作用户输入用户名和密码 点击登录按钮,一种情况登录成功 一种情况登录失败 "用户名或密码有误请检查" 2.2:如何实现用户登录 (1)数据库 xz_login 用户登录表[id;uname;upwd] id INT uname VARCHAR(25) upwd  VARCHAR(32) 加密处理 xz_login 1  tom     123 2  jerry     123 知识扩展:加密通过复杂算法将明文加密转换密文保存

JSP第七次课:实现商品管理功能

相关知识: JSP+JavaBean开发模式 一.商品信息添加"商品类别"项 1.数据库添加商品类别项 2.JavaBean中添加商品类别项 四.实现商品更新功能 1.商品信息添加功能实现 (1)商品信息添加页面设计g_add.jsp <%@ pagecontentType="text/html;charset=utf-8" pageEncoding="utf-8"%> <%@ pageimport="mybean.*

Ecshop的商品筛选功能实现分析之一(主要对category.php进行分析)

一.首先,说明一下为什么要对category.php文件进行分析. (1)原因如下: ①个人对商城类商品筛选功能的实现比较好奇: ②对商城中关于商品的数据表设计比较感兴趣.(该功能涉及到与数据库的交互,而且与数据库中数据表的设计好坏有一定的联系): ③多条件(属性)筛选功能在现今的很多网站都需要用到,很广泛(如:一般商城网.团购网.房产网.信息分类网站等等). (2)希望达到的目的是: ①能够对多条件筛选功能有一个初步的认识.(起码自己做,也能够快速实现吧): ②对多条件筛选的实现中,数据库该如

修复VS2008 MFC类添加功能[转载+编辑]

VS2008 MFC类向导不能正确加载启动类向导给对话框添加类时出现网页错误提示:"行: 815错误: 对象不支持此属性或方法"勾选"使用 Internet Explorer 中的内置脚本调试程序"后再次出现页面错误提示:"行: 815char 3错误:对象不支持此属性或方法代码:0URL:file:///D:/Microsoft%20Visual%20Studio%209.0/VC/VCWizards/CodeWiz/MFC/Simple/HTML/20

框架的 总结(nop)------添加功能

一.添加功能 1.首先需要在前端显示界面View视图中添加 <div class="pull-right"> <a href="@Url.Action("Create")" class="btn btn-default">@T("添加")</a> </div> 2.控制器中呈现"添加"的界面: public ActionResult Cre

PHP.TP框架下商品项目的优化4-优化商品添加表单js

优化商品添加表单js 思路 1.制作五个按钮 2.下面五个table 3.全部隐藏,点击则显示 4.点击第几个按钮就显示第几个table 具体操作 1.添加按钮 2.添加五个table并添加class隐藏后面四个 style="display:none" ->隐藏 class="tab_table" ->样式名,方便js操作 3.添加JS代码绑定点击事件[add.html的最下面] /******切换代码******/ $("#tabbar-d

把商品添加到购物车的动画效果(贝塞尔曲线)

如图: 参考: Android补间动画,属性动画实现购物车添加动画 思路: 确定动画的起终点 在起终点之间使用二次贝塞尔曲线填充起终点之间的点的轨迹 设置属性动画,ValueAnimator插值器,获取中间点的坐标 将执行动画的控件的x.y坐标设为上面得到的中间点坐标 开启属性动画 当动画结束时的操作 难点: PathMeasure的使用 - getLength() - boolean getPosTan(float distance, float[] pos, float[] tan) 的理解