我使用的DTO
package com.yumin.o2o.dto;
import java.util.List;
import com.yumin.o2o.entity.Shop;
import com.yumin.o2o.enums.ShopStateEnum;
public class ShopExecution {
//结果状态
private int state;
//状态表示
private String stateInfo;
//店铺数量
private int count ;
//操作的shop (增删改需要用到)
private Shop shop ;
//shop列表查询的时候需要用到
private List<Shop> listShop;
public ShopExecution(){
}
/**
* 操作shop失败的使用的构造函数
* @param shopStateEnum
*/
public ShopExecution(ShopStateEnum shopStateEnum){
this.state = shopStateEnum.getState();
this.stateInfo= shopStateEnum.getStateInfo();
}
/**
* 操作shop成功的使用的构造函数
* @param shopStateEnum
*/
public ShopExecution(ShopStateEnum shopStateEnum,Shop shop ){
this.state = shopStateEnum.getState();
this.stateInfo= shopStateEnum.getStateInfo();
this.shop= shop ;
}
/**
* 操作shop成功的使用的构造函数
* @param shopStateEnum
*/
public ShopExecution(ShopStateEnum shopStateEnum,List<Shop> listShop){
this.state = shopStateEnum.getState();
this.stateInfo= shopStateEnum.getStateInfo();
this.listShop = listShop;
}
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
public String getStateInfo() {
return stateInfo;
}
public void setStateInfo(String stateInfo) {
this.stateInfo = stateInfo;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public Shop getShop() {
return shop;
}
public void setShop(Shop shop) {
this.shop = shop;
}
public List<Shop> getListShop() {
return listShop;
}
public void setListShop(List<Shop> listShop) {
this.listShop = listShop;
}
}
在service层在返回给控制层的时候 我们只需要返回给这个ShopExecution这个类。 根据具体的需要在ShopExecution中添加具体的字段 ,都是根据有参构造函数来调用 。我们通过看我这个代码 会发现有操作成功的shop构造函数 和操作shop失败的构造函数 ,如果没有的话我们 在根据条件在自己添加 opps!
看构造函数 我这里搭配着是枚举类和实体类
下面我也放出来我自己写的枚举类 : 供参考
package com.yumin.o2o.enums;
public enum ShopStateEnum {
CHECK(0, "审核中"), OFFLINE(-1, "非法店铺"), SUCCESS(1, "操作成功"), PASS(2, "通过验证"), INNER_ERROR(-1001,
"内部系统错误"), NUll_SHOPID(-1002, "shopId为空"),NULL_SHOP(-1003,"店铺信息为空");
private int state;
private String stateInfo;
private ShopStateEnum(int state, String stateInfo) {
this.state = state;
this.stateInfo = stateInfo;
}
/**
* 根据传入的state 返回相对应的enum值
* @return
*/
public static ShopStateEnum stateOf(int state){
for(ShopStateEnum shopstateEnum:values()){
if(shopstateEnum.getState()==state){
return shopstateEnum;
}
}
return null;
}
public int getState() {
return state;
}
public String getStateInfo() {
return stateInfo;
}
}