校园商铺-4店铺注册功能模块-4Dto之ShopExecution的实现
1. DTO:添加店铺的返回类型
问题:为什么不直接用实体类Shop呢?
原因:在操作Shop的时候,必然会有一个状态。添加店铺,添加成功,还是添加失败?
如果添加失败,失败是一个什么状态,这些都是要记录的,并且要返回controller层去处理。
### 1.1 店铺操作枚举类ShopStateEnum.java
```#java
package com.csj2018.o2o.enums;
public enum ShopStateEnum {
CHECK(0,"审核中"),
OFFLINE(-1,"非法店铺"),
SUCCESS(1,"操作成功"),
PASS(2,"通过认证"),
INNER_ERROR(-1001,"内部系统错误"),
NULL_SHOPID(-1002,"ShopId为空");
private int state;
private String stateInfo;
private ShopStateEnum(int state,String stateInfo) {
this.state = state;
this.stateInfo = stateInfo;
}
public static ShopStateEnum stateOf(int state) {
for(ShopStateEnum stateEnum:values()) { //values()包含了枚举对象所有的值
if(stateEnum.getState() == state) {
return stateEnum;
}
}
return null;
}
public int getState() {
return state;
}
public String getStateInfo() {
return stateInfo;
}
}
### 1.2 ShopExecution.java
```#java
package com.csj2018.o2o.dto;
import java.util.List;
import com.csj2018.o2o.entity.Shop;
import com.csj2018.o2o.enums.ShopStateEnum;
public class ShopExecution {
//结果状态
private int state;
//状态标识
private String stateInfo;
//店铺数量
private int count;
//操作的shop(增删改查店铺的时候用到)
private Shop shop;
//shop列表(查询店铺列表的时候使用)
private List<Shop> shopList;
public ShopExecution() {}
//店铺操作失败时使用的构造器
public ShopExecution(ShopStateEnum stateEnum){
this.state = stateEnum.getState();
this.stateInfo = stateEnum.getStateInfo();
}
//店铺操作成功时使用的构造器
public ShopExecution(ShopStateEnum stateEnum,Shop shop){
this.state = stateEnum.getState();
this.stateInfo = stateEnum.getStateInfo();
this.shop = shop;
}
//店铺操作成功时使用的构造器
public ShopExecution(ShopStateEnum stateEnum,List<Shop> shopList){
this.state = stateEnum.getState();
this.stateInfo = stateEnum.getStateInfo();
this.shopList = shopList;
}
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> getShopList() {
return shopList;
}
public void setShopList(List<Shop> shopList) {
this.shopList = shopList;
}
}
校园商铺-4店铺注册功能模块-4Dto之ShopExecution的实现的更多相关文章
- 校园商铺-4店铺注册功能模块-10店铺注册之js实现
1. 建立js目录和文件 1.1 建立js目录 在webapp下新建文件夹js,再在js目录下新建shop文件夹. 1.2 js文件 js的功能: 1.从后台获取到店铺分类.区域等是信息,将它填充到前 ...
- 校园商铺-4店铺注册功能模块-6店铺注册之Controller层的实现
1. 从request请求获取获取相关的值 HttpservletRequest request代表的是客户端的请求.当客户端通过http协议访问服务器的时候,http请求头中的所有信息,都封装在这个 ...
- 校园商铺-4店铺注册功能模块-8店铺注册之Controller层的改造
不合理的地方: 1. 并不需要将InputStream转换成File类型,直接将InputStream传进入交给CommonsMultipartfile去处理就可以了 如果做这样的转换,每次都需要生成 ...
- 校园商铺-4店铺注册功能模块-3thumbnailator图片处理和封装Util
1. 初步使用thumbnailator 1.1 下载依赖 <!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator - ...
- 校园商铺-4店铺注册功能模块-5店铺注册之Service层的实现
1. 创建接口 ShopService.java package com.csj2018.o2o.service; import java.io.File; import com.csj2018.o2 ...
- 校园商铺-4店铺注册功能模块-1Dao层之更新店铺
dao层增加更新店铺的方法 package com.csj2018.o2o.dao; import com.csj2018.o2o.entity.Shop; public interface Shop ...
- springboot项目整合-注册功能模块开发
工程简介 准备工作:项目所用到的html界面以及sql文件链接如下:链接: https://pan.baidu.com/s/18loHJiKRC6FI6XkoANMSJg?pwd=nkz2 提取码: ...
- SSM到Spring Boot-从零开发校园商铺平台
第1章 开发准备 本章包含课程介绍,同时讲解开发网站所需要准备的事情,并且带领大家从零开始搭建一个Maven Web. 1-1 课程导学 1-2 开发准备 第2章 项目设计和框架搭建 本章主要先带领大 ...
- SSM到Spring Boot从零开发校园商铺平台
项目目的 特别 由于准备春招,所以希望各位看客方便的话,能去github上面帮我Star一下项目 https://github.com/Draymonders/Campus-Shop emmm, 已经 ...
随机推荐
- 5-vim-工作模式-02-工作模式切换演练
1.末行模式 命令 英文 功能 : 进入末行模式 w write 保存 q quit 退出,如果没有保存,不允许退出 q! quit 强行退出,不保存退出 wq write&quit 保存 ...
- Android的WebView通过JS调用java代码
做项目时候会遇到我们用WebView 打开一个web,希望这个web可以调用自己的一些方法,比如我们在进一个web页面,然后当我们点击web上的某个按钮时,希望能判断当前手机端是否已经登录,如果未登录 ...
- openssl编译方法
受不了了,终于编译成功了openssl,写一下编译方法吧 准备: 0:要编译openssl,必不可少的是代码,去下载 https://www.openssl.org/source/ 1:要有一个VS系 ...
- Java中的数据结构有哪些?HashMap的工作原理是什么?
Java中常用数据结构 常用的数据结构有哈希表,线性表,链表,java.util包中有三个重要的接口:List,Set,Map常用来实现基本的数据结构 HashMap的工作原理 HashMap基于ha ...
- ant design 两个tabs如何同时切换
假设界面上有两个地方用到了同一个tabs,但是切换其中一个tabs,另一个tabs并不会同时切换,因为只是在其中一个tabs上调用了onChange,所以需要用到activeKey动态地设置tabs的 ...
- 文本聚合函数(wm_concat, listagg, group_concat, string_agg)
实现目标 1.聚合文本 2.聚合文本(去重) 3.聚合文本(去重),按照指定字段排序 4.聚合文本(去重),按照指定字段排序,替换默认逗号分隔符 MySQL: group_concat ...
- python基础教程2第20章 项目1:即时标记
simple_markup.py import sys, re from util import * print('<html><head><title>...&l ...
- Centos7.5 安装sonarqube-7.1
下载sonarqube-7.1 wget -t 0 -c https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.1.z ...
- Struts功能详解——ActionForm
ActionForm ActionForm用于封装用户的请求参数,而请求参数是通过JSP页面的表单域传递过来的.因此应保证ActionForm的参数,与表单域的名字相同. ActionForm ...
- centos6|centos7防火墙区别 | 网络配置区别
CentOS 6 Linux防火墙 service iptables status (功能描述:查看防火墙状态) chkconfig iptables –list (功能描述:查看防火墙开机启动状态) ...