// Path: src/main/java/com/shop/common/Message.java
// public class Message <T> {
// 
// 	private String msg;
// 	private int status;
// 	private T data;
// 	
// 	private Message(int status) {
// 		super();
// 		this.status = status;
// 	}
// 	private Message(String msg, int status) {
// 		super();
// 		this.msg = msg;
// 		this.status = status;
// 	}
// 	private Message(T data, int status) {
// 		super();
// 		this.status = status;
// 		this.data = data;
// 	}
// 	private Message(String msg, int status, T data) {
// 		super();
// 		this.msg = msg;
// 		this.status = status;
// 		this.data = data;
// 	}
// 	
// 	public T getData() {
// 		return data;
// 	}
// 	public String getMsg() {
// 		return msg;
// 	}
// 	public int getStatus() {
// 		return status;
// 	}
// 	
// 	// json里不会出现"success : true"或"success : false"
// 	@JsonIgnore
// 	public boolean isSuccess(){
// 		if(status == Const.SUCCESS)
// 			return true;
// 		return false;
// 	}
// 	
// 	public static <T> Message<T> success(){
// 		return new Message<T>(Const.SUCCESS);
// 	}
// 	public static <T> Message<T> successMsg(String msg){
// 		return new Message<T>(msg, Const.SUCCESS);
// 	}
// 	public static <T> Message<T> successData(T data){
// 		return new Message<T>(data, Const.SUCCESS);
// 	}
// 	public static <T> Message<T> successMsgData(String msg, T data){
// 		return new Message<T>(msg, Const.SUCCESS, data);
// 	}
// 	
// 	public static <T> Message<T> errorMsg(String msg){
// 		return new Message<T>(msg, Const.FAILED);
// 	}
// 	public static <T> Message<T> errorMsgData(String msg, T data){
// 		return new Message<T>(msg, Const.FAILED, data);
// 	}
// }
// 
// Path: src/main/java/com/shop/service/IGoodsService.java
// public interface IGoodsService {
// 
// 	Message addGoods(Goods goods);
// 	
// 	Message<PageInfo> list(Integer categoryId, int pageNum, int pageSize);
// 	
// 	Message getGoodsDetail(int goodsId);
// 	
// 	Message<PageInfo> searchGoods(String keyword, int pageNum, int pageSize);
// }


import java.io.UnsupportedEncodingException;
import java.util.Date;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.github.pagehelper.PageInfo;
import com.shop.common.Message;
import com.shop.service.IGoodsService;
package com.shop.controller.portal;




@Controller
@RequestMapping("/goods")
public class GoodsController {

	@Autowired
	private IGoodsService iGoodsService;
	
	@RequestMapping("/test")
	@ResponseBody
	public void test(String a, String b){
		System.out.println(new Date());
		System.out.println("a: " + a + ", b: " + b);
	}
	
	@RequestMapping("/list")
	@ResponseBody
// Path: src/main/java/com/shop/common/Message.java
// public class Message <T> {
// 
// 	private String msg;
// 	private int status;
// 	private T data;
// 	
// 	private Message(int status) {
// 		super();
// 		this.status = status;
// 	}
// 	private Message(String msg, int status) {
// 		super();
// 		this.msg = msg;
// 		this.status = status;
// 	}
// 	private Message(T data, int status) {
// 		super();
// 		this.status = status;
// 		this.data = data;
// 	}
// 	private Message(String msg, int status, T data) {
// 		super();
// 		this.msg = msg;
// 		this.status = status;
// 		this.data = data;
// 	}
// 	
// 	public T getData() {
// 		return data;
// 	}
// 	public String getMsg() {
// 		return msg;
// 	}
// 	public int getStatus() {
// 		return status;
// 	}
// 	
// 	// json里不会出现"success : true"或"success : false"
// 	@JsonIgnore
// 	public boolean isSuccess(){
// 		if(status == Const.SUCCESS)
// 			return true;
// 		return false;
// 	}
// 	
// 	public static <T> Message<T> success(){
// 		return new Message<T>(Const.SUCCESS);
// 	}
// 	public static <T> Message<T> successMsg(String msg){
// 		return new Message<T>(msg, Const.SUCCESS);
// 	}
// 	public static <T> Message<T> successData(T data){
// 		return new Message<T>(data, Const.SUCCESS);
// 	}
// 	public static <T> Message<T> successMsgData(String msg, T data){
// 		return new Message<T>(msg, Const.SUCCESS, data);
// 	}
// 	
// 	public static <T> Message<T> errorMsg(String msg){
// 		return new Message<T>(msg, Const.FAILED);
// 	}
// 	public static <T> Message<T> errorMsgData(String msg, T data){
// 		return new Message<T>(msg, Const.FAILED, data);
// 	}
// }
// 
// Path: src/main/java/com/shop/service/IGoodsService.java
// public interface IGoodsService {
// 
// 	Message addGoods(Goods goods);
// 	
// 	Message<PageInfo> list(Integer categoryId, int pageNum, int pageSize);
// 	
// 	Message getGoodsDetail(int goodsId);
// 	
// 	Message<PageInfo> searchGoods(String keyword, int pageNum, int pageSize);
// }


// Path: src/main/java/com/shop/controller/portal/GoodsController.java
import java.io.UnsupportedEncodingException;
import java.util.Date;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.github.pagehelper.PageInfo;
import com.shop.common.Message;
import com.shop.service.IGoodsService;

package com.shop.controller.portal;




@Controller
@RequestMapping("/goods")
public class GoodsController {

	@Autowired
	private IGoodsService iGoodsService;
	
	@RequestMapping("/test")
	@ResponseBody
	public void test(String a, String b){
		System.out.println(new Date());
		System.out.println("a: " + a + ", b: " + b);
	}
	
	@RequestMapping("/list")
	@ResponseBody
	public Message<PageInfo> list(Integer categoryId){