• ResponseUtil


    package org.linlinjava.litemall.core.util;
    
    import com.github.pagehelper.Page;
    
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    /**
     * 响应操作结果
     * <pre>
     *  {
     *      errno: 错误码,
     *      errmsg:错误消息,
     *      data:  响应数据
     *  }
     * </pre>
     *
     * <p>
     * 错误码:
     * <ul>
     * <li> 0,成功;
     * <li> 4xx,前端错误,说明前端开发者需要重新了解后端接口使用规范:
     * <ul>
     * <li> 401,参数错误,即前端没有传递后端需要的参数;
     * <li> 402,参数值错误,即前端传递的参数值不符合后端接收范围。
     * </ul>
     * <li> 5xx,后端错误,除501外,说明后端开发者应该继续优化代码,尽量避免返回后端错误码:
     * <ul>
     * <li> 501,验证失败,即后端要求用户登录;
     * <li> 502,系统内部错误,即没有合适命名的后端内部错误;
     * <li> 503,业务不支持,即后端虽然定义了接口,但是还没有实现功能;
     * <li> 504,更新数据失效,即后端采用了乐观锁更新,而并发更新时存在数据更新失效;
     * <li> 505,更新数据失败,即后端数据库更新失败(正常情况应该更新成功)。
     * </ul>
     * <li> 6xx,小商城后端业务错误码,
     * 具体见litemall-admin-api模块的AdminResponseCode。
     * <li> 7xx,管理后台后端业务错误码,
     * 具体见litemall-wx-api模块的WxResponseCode。
     * </ul>
     */
    public class ResponseUtil {
        public static Object ok() {
            Map<String, Object> obj = new HashMap<String, Object>();
            obj.put("errno", 0);
            obj.put("errmsg", "成功");
            return obj;
        }
    
        public static Object ok(Object data) {
            Map<String, Object> obj = new HashMap<String, Object>();
            obj.put("errno", 0);
            obj.put("errmsg", "成功");
            obj.put("data", data);
            return obj;
        }
    
        public static Object okList(List list) {
            Map<String, Object> data = new HashMap<String, Object>();
            data.put("list", list);
    
            if (list instanceof Page) {
                Page page = (Page) list;
                data.put("total", page.getTotal());
                data.put("page", page.getPageNum());
                data.put("limit", page.getPageSize());
                data.put("pages", page.getPages());
            } else {
                data.put("total", list.size());
                data.put("page", 1);
                data.put("limit", list.size());
                data.put("pages", 1);
            }
    
            return ok(data);
        }
    
        public static Object okList(List list, List pagedList) {
            Map<String, Object> data = new HashMap<String, Object>();
            data.put("list", list);
    
            if (pagedList instanceof Page) {
                Page page = (Page) pagedList;
                data.put("total", page.getTotal());
                data.put("page", page.getPageNum());
                data.put("limit", page.getPageSize());
                data.put("pages", page.getPages());
            } else {
                data.put("total", pagedList.size());
                data.put("page", 1);
                data.put("limit", pagedList.size());
                data.put("pages", 1);
            }
    
            return ok(data);
        }
    
        public static Object fail() {
            Map<String, Object> obj = new HashMap<String, Object>();
            obj.put("errno", -1);
            obj.put("errmsg", "错误");
            return obj;
        }
    
        public static Object fail(int errno, String errmsg) {
            Map<String, Object> obj = new HashMap<String, Object>();
            obj.put("errno", errno);
            obj.put("errmsg", errmsg);
            return obj;
        }
    
        public static Object badArgument() {
            return fail(401, "参数不对");
        }
    
        public static Object badArgumentValue() {
            return fail(402, "参数值不对");
        }
    
        public static Object unlogin() {
            return fail(501, "请登录");
        }
    
        public static Object serious() {
            return fail(502, "系统内部错误");
        }
    
        public static Object unsupport() {
            return fail(503, "业务不支持");
        }
    
        public static Object updatedDateExpired() {
            return fail(504, "更新数据已经失效");
        }
    
        public static Object updatedDataFailed() {
            return fail(505, "更新数据失败");
        }
    
        public static Object unauthz() {
            return fail(506, "无操作权限");
        }
    }
    package org.linlinjava.litemall.admin.util;
    
    public class AdminResponseCode {
        public static final Integer ADMIN_INVALID_NAME = 601;
        public static final Integer ADMIN_INVALID_PASSWORD = 602;
        public static final Integer ADMIN_NAME_EXIST = 602;
        public static final Integer ADMIN_ALTER_NOT_ALLOWED = 603;
        public static final Integer ADMIN_DELETE_NOT_ALLOWED = 604;
        public static final Integer ADMIN_INVALID_ACCOUNT = 605;
        public static final Integer GOODS_UPDATE_NOT_ALLOWED = 610;
        public static final Integer GOODS_NAME_EXIST = 611;
        public static final Integer ORDER_CONFIRM_NOT_ALLOWED = 620;
        public static final Integer ORDER_REFUND_FAILED = 621;
        public static final Integer ORDER_REPLY_EXIST = 622;
        public static final Integer USER_INVALID_NAME = 630;
        public static final Integer USER_INVALID_PASSWORD = 631;
        public static final Integer USER_INVALID_MOBILE = 632;
        public static final Integer USER_NAME_EXIST = 633;
        public static final Integer USER_MOBILE_EXIST = 634;
        public static final Integer ROLE_NAME_EXIST = 640;
        public static final Integer ROLE_SUPER_SUPERMISSION = 641;
        public static final Integer ROLE_USER_EXIST = 642;
    
    }
        private Object validate(LitemallAdmin admin) {
            String name = admin.getUsername();
            if (StringUtils.isEmpty(name)) {
                return ResponseUtil.badArgument();
            }
            if (!RegexUtil.isUsername(name)) {
                return ResponseUtil.fail(ADMIN_INVALID_NAME, "管理员名称不符合规定");
            }
            String password = admin.getPassword();
            if (StringUtils.isEmpty(password) || password.length() < 6) {
                return ResponseUtil.fail(ADMIN_INVALID_PASSWORD, "管理员密码长度不能小于6");
            }
            return null;
        }
  • 相关阅读:
    addEventListener
    mac截屏
    SVG Use(转)
    关于 Content-Type:application/x-www-form-urlencoded 和 Content-Type:multipart/related(转)
    promise
    apt-get update 出现E: Could not get lock /var/lib/apt/lists/lock问题的解决
    js设计模式——6.模板方法模式与职责链模式
    js设计模式——5.状态模式
    js设计模式——4.迭代器模式
    js实现超简单sku组合算法
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/11318591.html
Copyright © 2020-2023  润新知