6 changed files with 470 additions and 0 deletions
			
			
		- 
					88system/src/main/java/com/canvas/web/modules/device/domain/Device.java
- 
					8system/src/main/java/com/canvas/web/modules/device/repository/DeviceRepository.java
- 
					28system/src/main/java/com/canvas/web/modules/device/rest/DeviceController.java
- 
					78system/src/main/java/com/canvas/web/modules/utils/Response.java
- 
					142system/src/main/java/com/canvas/web/modules/utils/ResultUtils.java
- 
					126system/src/main/java/com/canvas/web/modules/utils/enums/ResponseEnum.java
| @ -0,0 +1,88 @@ | |||||
|  | package com.canvas.web.modules.device.domain; | ||||
|  | 
 | ||||
|  | import io.swagger.annotations.ApiModelProperty; | ||||
|  | import lombok.Getter; | ||||
|  | import lombok.Setter; | ||||
|  | import org.hibernate.annotations.CreationTimestamp; | ||||
|  | import org.hibernate.annotations.GenericGenerator; | ||||
|  | import org.hibernate.annotations.UpdateTimestamp; | ||||
|  | 
 | ||||
|  | import javax.persistence.*; | ||||
|  | import java.io.Serializable; | ||||
|  | import java.sql.Timestamp; | ||||
|  | 
 | ||||
|  | @Getter | ||||
|  | @Setter | ||||
|  | @Entity | ||||
|  | @Table(name = "device") | ||||
|  | public class Device implements Serializable { | ||||
|  | 
 | ||||
|  |     @Id | ||||
|  |     @Column(name = "id") | ||||
|  |     @GeneratedValue(generator = "idGenerator") | ||||
|  |     @GenericGenerator(name = "idGenerator", strategy = "uuid") | ||||
|  |     private String id ; | ||||
|  | 
 | ||||
|  |     @Column(name = "account") | ||||
|  |     @ApiModelProperty(value = "设备账号") | ||||
|  |     public String account; | ||||
|  | 
 | ||||
|  |     @Column(name = "device_name") | ||||
|  |     @ApiModelProperty(value = "设备名称") | ||||
|  |     public String deviceName; | ||||
|  | 
 | ||||
|  |     @Column(name = "device_direction") | ||||
|  |     @ApiModelProperty(value = "设备方向 1.竖屏 2.横屏") | ||||
|  |     public Integer deviceDirection; | ||||
|  | 
 | ||||
|  |     @Column(name = "orga_id") | ||||
|  |     @ApiModelProperty(value = "机构id") | ||||
|  |     public String orgaId; | ||||
|  | 
 | ||||
|  |     @Column(name = "open_setting") | ||||
|  |     @ApiModelProperty(value = "开机设置  1.每天  2.每周") | ||||
|  |     public Integer openSetting; | ||||
|  | 
 | ||||
|  |     @Column(name = "open_weekly") | ||||
|  |     @ApiModelProperty(value = "开机每周 如果设置为每天则为空") | ||||
|  |     public String openWeekly; | ||||
|  | 
 | ||||
|  |     @Column(name = "open_time") | ||||
|  |     @ApiModelProperty(value = "开机时间") | ||||
|  |     public Timestamp openTime; | ||||
|  | 
 | ||||
|  |     @Column(name = "close_setting") | ||||
|  |     @ApiModelProperty(value = "关机设置  1.每天  2.每周") | ||||
|  |     public Integer closeSetting; | ||||
|  | 
 | ||||
|  |     @Column(name = "close_weekly") | ||||
|  |     @ApiModelProperty(value = "关机每周 如果设置为每天则为空") | ||||
|  |     public String closeWeekly; | ||||
|  | 
 | ||||
|  |     @Column(name = "close_time") | ||||
|  |     @ApiModelProperty(value = "关机时间") | ||||
|  |     public Timestamp closeTime; | ||||
|  | 
 | ||||
|  |     @Column(name = "startup_screen") | ||||
|  |     @ApiModelProperty(value = "启动画面地址") | ||||
|  |     public String startupScreen; | ||||
|  | 
 | ||||
|  |     @CreationTimestamp | ||||
|  |     @Column(name = "is_createdate", updatable = false) | ||||
|  |     @ApiModelProperty(value = "创建时间", hidden = true) | ||||
|  |     private Timestamp isCreateTime; | ||||
|  | 
 | ||||
|  |     @UpdateTimestamp | ||||
|  |     @Column(name = "is_updatedate") | ||||
|  |     @ApiModelProperty(value = "更新时间", hidden = true) | ||||
|  |     private Timestamp isUpdateTime; | ||||
|  | 
 | ||||
|  |     @Column(name = "is_state") | ||||
|  |     @ApiModelProperty(value = "停用/禁用", hidden = true) | ||||
|  |     public Integer isState; | ||||
|  | 
 | ||||
|  |     @Column(name = "is_del") | ||||
|  |     @ApiModelProperty(value = "停用/禁用", hidden = true) | ||||
|  |     public Boolean isDel; | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,8 @@ | |||||
|  | package com.canvas.web.modules.device.repository; | ||||
|  | 
 | ||||
|  | import com.canvas.web.modules.device.domain.Device; | ||||
|  | import org.springframework.data.jpa.repository.JpaRepository; | ||||
|  | 
 | ||||
|  | public interface DeviceRepository extends JpaRepository<Device, String> { | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,28 @@ | |||||
|  | package com.canvas.web.modules.device.rest; | ||||
|  | 
 | ||||
|  | import com.canvas.web.modules.device.domain.Device; | ||||
|  | import com.canvas.web.modules.utils.Response; | ||||
|  | import com.canvas.web.modules.utils.ResultUtils; | ||||
|  | import io.swagger.annotations.Api; | ||||
|  | import io.swagger.annotations.ApiOperation; | ||||
|  | import lombok.RequiredArgsConstructor; | ||||
|  | import org.springframework.data.domain.Pageable; | ||||
|  | import org.springframework.web.bind.annotation.GetMapping; | ||||
|  | import org.springframework.web.bind.annotation.RequestMapping; | ||||
|  | import org.springframework.web.bind.annotation.RestController; | ||||
|  | 
 | ||||
|  | import java.util.List; | ||||
|  | 
 | ||||
|  | @RestController | ||||
|  | @RequiredArgsConstructor | ||||
|  | @Api(tags = "设备管理") | ||||
|  | @RequestMapping("/api/device") | ||||
|  | public class DeviceController { | ||||
|  |     @ApiOperation("设备列表") | ||||
|  |     @GetMapping("/list") | ||||
|  |     public Response<ResultUtils<List<Device>>> list( | ||||
|  |             Pageable page | ||||
|  |     ){ | ||||
|  |         return null; | ||||
|  |     } | ||||
|  | } | ||||
| @ -0,0 +1,78 @@ | |||||
|  | package com.canvas.web.modules.utils; | ||||
|  | 
 | ||||
|  | import com.canvas.web.modules.utils.enums.ResponseEnum; | ||||
|  | import io.swagger.annotations.ApiModel; | ||||
|  | import io.swagger.annotations.ApiModelProperty; | ||||
|  | 
 | ||||
|  | @ApiModel(description = "结果返回类") | ||||
|  | public class Response<T> { | ||||
|  | 
 | ||||
|  |     @ApiModelProperty(value = "状态码") | ||||
|  |     private Integer code; | ||||
|  | 
 | ||||
|  |     @ApiModelProperty(value = "返回内容") | ||||
|  |     private String msg; | ||||
|  | 
 | ||||
|  |     @ApiModelProperty(value = "数据对象") | ||||
|  |     private T data; | ||||
|  | 
 | ||||
|  |     private long timestamp; | ||||
|  | 
 | ||||
|  | 
 | ||||
|  |     private Response(T data){ | ||||
|  |         this.code= ResponseEnum.SUCCESS.getCode(); | ||||
|  |         this.msg=ResponseEnum.SUCCESS.getMessage(); | ||||
|  |         this.timestamp=System.currentTimeMillis(); | ||||
|  |         this.data=data; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     private Response(ResponseEnum responseEnum){ | ||||
|  |         if (null==responseEnum){ | ||||
|  |             return; | ||||
|  |         } | ||||
|  |         this.code= responseEnum.getCode(); | ||||
|  |         this.msg= responseEnum.getMessage(); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     //成功时调用 | ||||
|  |     public static <T> Response<T> success() { | ||||
|  |         return success(null); | ||||
|  |     } | ||||
|  |     //成功时调用 | ||||
|  |     public static <T> Response<T> success(T data) { | ||||
|  |         return new Response<T>(data); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public static <T> Response error(){ | ||||
|  |         return error(ResponseEnum.ERROR); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public static <T> Response error(ResponseEnum responseEnum){ | ||||
|  |         return new Response<T>(responseEnum); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public Integer getCode() { | ||||
|  |         return code; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public Response<T> setCode(Integer code) { | ||||
|  |         this.code = code; | ||||
|  |         return this; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public String getMsg() { | ||||
|  |         return msg; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public Response<T> setMsg(String msg){ | ||||
|  |         this.msg=msg; | ||||
|  |         return this; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public T getData() {return data;} | ||||
|  | 
 | ||||
|  |     public Response<T> setData(T data){ | ||||
|  |         this.data=data; | ||||
|  |         return this; | ||||
|  |     } | ||||
|  | } | ||||
| @ -0,0 +1,142 @@ | |||||
|  | package com.canvas.web.modules.utils; | ||||
|  | 
 | ||||
|  | import io.swagger.annotations.ApiModelProperty; | ||||
|  | import lombok.AccessLevel; | ||||
|  | import lombok.Getter; | ||||
|  | import lombok.Setter; | ||||
|  | import org.springframework.data.domain.Page; | ||||
|  | 
 | ||||
|  | import java.util.ArrayList; | ||||
|  | import java.util.Collections; | ||||
|  | import java.util.List; | ||||
|  | 
 | ||||
|  | @Getter | ||||
|  | @Setter | ||||
|  | public class ResultUtils<T> { | ||||
|  | 
 | ||||
|  |     @ApiModelProperty(value = "返回数据") | ||||
|  |     private List<T> content; | ||||
|  | 
 | ||||
|  |     @Getter(AccessLevel.NONE) | ||||
|  |     @ApiModelProperty(value = "返回数据") | ||||
|  |     private T contentT; | ||||
|  | 
 | ||||
|  |     @ApiModelProperty(value = "返回状态") | ||||
|  |     private boolean bReturn; | ||||
|  | 
 | ||||
|  |     @ApiModelProperty(value = "返回信息") | ||||
|  |     private String Msg; | ||||
|  | 
 | ||||
|  |     @ApiModelProperty(value = "是否有上一页") | ||||
|  |     private boolean hasPrevious; | ||||
|  | 
 | ||||
|  |     @ApiModelProperty(value = "是否有下一页") | ||||
|  |     private boolean hasNext; | ||||
|  | 
 | ||||
|  |     @ApiModelProperty(value = "总数量") | ||||
|  |     private long totalElements; | ||||
|  | 
 | ||||
|  |     @ApiModelProperty(value = "总页数") | ||||
|  |     private int totalPages; | ||||
|  | 
 | ||||
|  |     @ApiModelProperty(value = "当前页数") | ||||
|  |     private int number; | ||||
|  | 
 | ||||
|  |     @ApiModelProperty(value = "每页显示数量") | ||||
|  |     private int size; | ||||
|  | 
 | ||||
|  |     public ResultUtils() {    } | ||||
|  | 
 | ||||
|  |     public ResultUtils(List<T> content, boolean hasPrevious, boolean hasNext, long totalElements, int totalPages, int number, int size) { | ||||
|  |         this.content = content; | ||||
|  |         this.bReturn = true; | ||||
|  |         this.Msg = "OK"; | ||||
|  |         this.hasPrevious = hasPrevious; | ||||
|  |         this.hasNext = hasNext; | ||||
|  |         this.totalElements = totalElements; | ||||
|  |         this.totalPages = totalPages; | ||||
|  |         this.number = number; | ||||
|  |         this.size = size; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public ResultUtils(T contentT) { | ||||
|  |         List<T> tList = new ArrayList<>(); | ||||
|  |         tList.add(contentT); | ||||
|  |         this.content = tList; | ||||
|  |         this.bReturn = true; | ||||
|  |         this.Msg = "OK"; | ||||
|  |         this.hasPrevious = false; | ||||
|  |         this.hasNext = false; | ||||
|  |         this.totalElements = 1; | ||||
|  |         this.totalPages = 1; | ||||
|  |         this.number = 1; | ||||
|  |         this.size = 1; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public ResultUtils(List<T> content){ | ||||
|  |         this.content = content; | ||||
|  |         this.bReturn = true; | ||||
|  |         this.Msg = "OK"; | ||||
|  |         this.hasPrevious = false; | ||||
|  |         this.hasNext = false; | ||||
|  |         this.totalElements = content.size(); | ||||
|  |         this.totalPages = 1; | ||||
|  |         this.number = 1; | ||||
|  |         this.size = content.size(); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public ResultUtils(boolean bReturn, String Msg){ | ||||
|  |         this.bReturn = bReturn; | ||||
|  |         this.Msg = Msg; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     /*** | ||||
|  |      * 单条数据返回 | ||||
|  |      * @param content 数据 | ||||
|  |      * @param <T> 泛型类 | ||||
|  |      * @return 分页返回 | ||||
|  |      */ | ||||
|  |     public static <T> ResultUtils<T> getResult(T content) { | ||||
|  |         return (ResultUtils<T>) new ResultUtils(Collections.singletonList(content)); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     /*** | ||||
|  |      * 多条数据返回 | ||||
|  |      * @param content 数据 | ||||
|  |      * @param <T> 泛型类 | ||||
|  |      * @return 分页返回 | ||||
|  |      */ | ||||
|  |     public static <T> ResultUtils<List<T>> getResult(List<T> content) { | ||||
|  |         return (ResultUtils<List<T>>) new ResultUtils(content); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     /*** | ||||
|  |      * 多条数据分页返回 | ||||
|  |      * @param content 数据 | ||||
|  |      * @param pages 分页 | ||||
|  |      * @param <T> 泛型类 | ||||
|  |      * @return 分页返回 | ||||
|  |      */ | ||||
|  |     public static <T> ResultUtils<List<T>> getResult(List<T> content, Page pages) { | ||||
|  |         return (ResultUtils<List<T>>) new ResultUtils(content, pages.hasPrevious(), pages.hasNext(), pages.getTotalElements(), pages.getTotalPages(), pages.getNumber() + 1, pages.getSize()); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     /*** | ||||
|  |      * 无返回时(添加、编辑、删除)返回成功 | ||||
|  |      * @return 无返回时(添加、编辑、删除)返回成功 | ||||
|  |      * @param <T> 泛型类 | ||||
|  |      */ | ||||
|  |     public static <T> ResultUtils<T> Succsee(){ | ||||
|  |         return  (ResultUtils<T>) new ResultUtils(true,"OK"); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     /*** | ||||
|  |      * 无返回时(添加、编辑、删除)返回失败 | ||||
|  |      * @param Msg 返回信息 | ||||
|  |      * @param <T> 泛型类 | ||||
|  |      * @return 无返回时(添加、编辑、删除)返回失败 | ||||
|  |      */ | ||||
|  |     public static <T> ResultUtils<T> Error(String Msg){ | ||||
|  |         return  (ResultUtils<T>) new ResultUtils(true,Msg); | ||||
|  |     } | ||||
|  | } | ||||
| @ -0,0 +1,126 @@ | |||||
|  | package com.canvas.web.modules.utils.enums; | ||||
|  | 
 | ||||
|  | import lombok.Getter; | ||||
|  | 
 | ||||
|  | import java.util.HashMap; | ||||
|  | import java.util.Map; | ||||
|  | 
 | ||||
|  | @Getter | ||||
|  | public enum ResponseEnum { | ||||
|  | 
 | ||||
|  |     /***************************************************通用日志信息****************************************************/ | ||||
|  | 
 | ||||
|  |     /**http code**/ | ||||
|  |     /**操作成功**/ | ||||
|  |     SUCCESS(200,"操作成功"), | ||||
|  |     /**操作失败**/ | ||||
|  |     FAIL(000,"操作失败"), | ||||
|  |     /**服务端异常**/ | ||||
|  |     ERROR(500,"系统内部错误"), | ||||
|  |     /**对象创建成功**/ | ||||
|  |     CREATED ( 201,"对象创建成功"), | ||||
|  |     /**请求已经被接受**/ | ||||
|  |     ACCEPTED(202,"请求已经被接受"), | ||||
|  |     /**操作已经执行成功,但是没有返回数据**/ | ||||
|  |     NO_CONTENT(204,"操作已经执行成功,但是没有返回数据"), | ||||
|  |     /**资源已被移除**/ | ||||
|  |     MOVED_PERM(301,"资源已被移除"), | ||||
|  |     /**重定向*/ | ||||
|  |     SEE_OTHER(303,"重定向"), | ||||
|  |     /**资源没有被修改**/ | ||||
|  |     NOT_MODIFIED(304,"资源没有被修改"), | ||||
|  |     /**参数列表错误(缺少,格式不匹配**/ | ||||
|  |     BAD_REQUEST(400,"参数列表错误(缺少,格式不匹配)"), | ||||
|  |     /**未授权**/ | ||||
|  |     UNAUTHORIZED(401,"未授权"), | ||||
|  |     /**访问受限,授权过期**/ | ||||
|  |     FORBIDDEN(403,"访问受限,授权过期"), | ||||
|  |     /**资源,服务未找到**/ | ||||
|  |     NOT_FOUND(404,"资源,服务未找到"), | ||||
|  |     /**不允许的http方法**/ | ||||
|  |     BAD_METHOD(405,"不允许的http方法"), | ||||
|  |     /**资源冲突,或者资源被锁**/ | ||||
|  |     CONFLICT(409,"资源冲突,或者资源被锁"), | ||||
|  |     /**不支持的数据,媒体类型**/ | ||||
|  |     UNSUPPORTED_TYPE(415,"不支持的数据,媒体类型"), | ||||
|  |     /**接口未实现**/ | ||||
|  |     NOT_IMPLEMENTED(501,"接口未实现"), | ||||
|  | 
 | ||||
|  | 
 | ||||
|  |     /*********************10000-登录相关***************************/ | ||||
|  |     /**登录模块**/ | ||||
|  |     LOGIN_SUCCESS(10000,"登录成功"), | ||||
|  |     LOGIN_FAIL(10001,"登录失败"), | ||||
|  |     LOGOUT_SUCCESS(10002,"退出成功"), | ||||
|  |     LOGOUT_FAIL(10003,"退出失败"), | ||||
|  |     TOKEN_ERROR(10004,"token错误/失效"), | ||||
|  | 
 | ||||
|  | 
 | ||||
|  |     /*********************20000-业务相关***************************/ | ||||
|  |     /** | ||||
|  |      * 重复提交 | ||||
|  |      **/ | ||||
|  |     REPEAT_SUBMIT(20000, "不允许重复提交,请稍后再试"), | ||||
|  |     ADD_FAIL(20001, "新增失败"), | ||||
|  |     ADD_SUCCESS(20003, "新增成功"), | ||||
|  |     DELETE_FAIL(20004, "删除失败"), | ||||
|  |     DELETE_SUCCESS(20005, "删除成功"), | ||||
|  |     UPDATE_FAIL(20006, "修改失败"), | ||||
|  |     UPDATE_SUCCESS(20007, "修改成功"), | ||||
|  |     QUERY_FAIL(20008, "查询失败"), | ||||
|  |     QUERY_SUCCESS(20009, "查询成功"), | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 角色模块 | ||||
|  |      **/ | ||||
|  |     ROLE_ADD_ERROR_EXIST_NAME(20010, "新增角色失败,角色名称已存在"), | ||||
|  |     ROLE_ADD_ERROR_EXIST_AUTHORITY(20011, "新增角色失败,角色权限已存在"), | ||||
|  |     ROLE_UPDATE_ERROR_EXIST_NAME(20012, "修改角色失败,角色名称已存在"), | ||||
|  |     ROLE_UPDATE_ERROR_EXIST_AUTHORITY(20013, "修改角色失败,角色权限已存在"), | ||||
|  |     ROLE_UPDATE_ERROR(20014, "修改角色失败"), | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 菜单模块 | ||||
|  |      **/ | ||||
|  |     MENU_ADD_ERROR_EXIST(20015, "新增菜单失败,菜单名称已存在"), | ||||
|  |     MENU_ADD_ERROR_HTTP(20016, "新增菜单失败,地址必须以http(s)://开头"), | ||||
|  |     MENU_ADD_ERROR_SELF(20017, "新增菜单失败,上级菜单不能选择自己"), | ||||
|  |     MENU_DELETE_ERROR_SUB(20018, "删除菜单失败,存在子菜单,不允许删除"), | ||||
|  |     MENU_DELETE_ERROR_ROLE(20019, "删除菜单失败,菜单已分配角色,不允许删除"), | ||||
|  |     MENU_UPDATE_ERROR_EXIST(20020, "修改菜单失败,菜单名称已存在"), | ||||
|  |     MENU_UPDATE_ERROR_HTTP(20021, "修改菜单失败,地址必须以http(s)://开头"), | ||||
|  |     MENU_UPDATE_ERROR_SELF(20022, "修改菜单失败,上级菜单不能选择自己"), | ||||
|  | 
 | ||||
|  |     /***其他****/ | ||||
|  |     ABNORMAL_PICTURE_UPLOAD(21000, "上传图片异常,请联系管理员"); | ||||
|  | 
 | ||||
|  | 
 | ||||
|  |     //成员变量 | ||||
|  |     private Integer code; | ||||
|  |     private String message; | ||||
|  | 
 | ||||
|  | 
 | ||||
|  |     //构造 | ||||
|  |     ResponseEnum(Integer code, String message) { | ||||
|  |         this.code = code; | ||||
|  |         this.message=message; | ||||
|  |     } | ||||
|  | 
 | ||||
|  | 
 | ||||
|  |     private static final Map<Integer,ResponseEnum> ENUM_MAP=new HashMap<Integer,ResponseEnum>(); | ||||
|  | 
 | ||||
|  |     static { | ||||
|  |         for (ResponseEnum item : values()){ | ||||
|  |             ENUM_MAP.put(item.getCode(),item); | ||||
|  |         } | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public static ResponseEnum getModelByKey(Integer code){ | ||||
|  |         if(code !=null){ | ||||
|  |             return ENUM_MAP.get(code); | ||||
|  |         } | ||||
|  |         return null; | ||||
|  |     } | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | } | ||||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue