@org.springframework.stereotype.Controller

Here are the examples of the java api @org.springframework.stereotype.Controller taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

8489 Examples 7

19 View Source File : UserController.java
License : MIT License
Project Creator : zzzzbw

/**
 * @author zbw
 * @create 2018/4/22 10:27
 */
@Controller
public clreplaced UserController {

    @GetMapping("user")
    public String user(Model model) {
        List<User> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            User user = new User();
            user.setId(i);
            user.setName("user" + i);
            user.setCreate(new Date());
            list.add(user);
        }
        model.addAttribute("list", list);
        return "system/user";
    }
}

19 View Source File : ShopController.java
License : MIT License
Project Creator : zzzzbw

/**
 * @author zbw
 * @create 2018/4/22 10:21
 */
@I18n("shop")
@Controller
public clreplaced ShopController {

    @GetMapping("shop")
    public String shop(Model model) {
        List<Shop> list = new ArrayList<>();
        Merchant merchant1 = new Merchant();
        merchant1.setName("merchant1");
        Merchant merchant2 = new Merchant();
        merchant2.setName("merchant2");
        for (int i = 0; i < 10; i++) {
            Shop shop = new Shop();
            shop.setId(i);
            shop.setNumber(500 + i);
            if (i % 2 == 0) {
                shop.setMerchant(merchant1);
            } else {
                shop.setMerchant(merchant2);
            }
            shop.setName("shop" + i);
            shop.setCreate(new Date());
            list.add(shop);
        }
        model.addAttribute("list", list);
        return "system/shop";
    }
}

19 View Source File : HomeController.java
License : MIT License
Project Creator : zzh1991

/**
 * @author zhihao zhang
 * @since 2019-03-18
 */
@Controller
public clreplaced HomeController {

    @GetMapping(value = "/")
    public String index() {
        return "index";
    }
}

/**
 * 自定义错误处理器
 * @author LGH
 */
@Controller
@RestControllerAdvice
public clreplaced DefaultExceptionHandlerConfig {

    @ExceptionHandler(BindException.clreplaced)
    public ResponseEnreplacedy<String> bindExceptionHandler(BindException e) {
        e.printStackTrace();
        return ResponseEnreplacedy.status(HttpStatus.BAD_REQUEST).body(e.getBindingResult().getFieldErrors().get(0).getDefaultMessage());
    }

    @ExceptionHandler(MethodArgumentNotValidException.clreplaced)
    public ResponseEnreplacedy<String> methodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) {
        e.printStackTrace();
        return ResponseEnreplacedy.status(HttpStatus.BAD_REQUEST).body(e.getBindingResult().getFieldErrors().get(0).getDefaultMessage());
    }

    @ExceptionHandler(YamiShopBindException.clreplaced)
    public ResponseEnreplacedy<String> unauthorizedExceptionHandler(YamiShopBindException e) {
        e.printStackTrace();
        return ResponseEnreplacedy.status(e.getHttpStatusCode()).body(e.getMessage());
    }
}

19 View Source File : OrderController.java
License : GNU Affero General Public License v3.0
Project Creator : zycSummer

/**
 * @author lgh on 2018/09/15.
 */
@Controller
@RequestMapping("/order/order")
public clreplaced OrderController {

    @Autowired
    private OrderService orderService;

    @Autowired
    private OrderItemService orderItemService;

    @Autowired
    private UserAddrOrderService userAddrOrderService;

    @Autowired
    private ProductService productService;

    @Autowired
    private SkuService skuService;

    /**
     * 分页获取
     */
    @GetMapping("/page")
    @PreAuthorize("@pms.hasPermission('order:order:page')")
    public ResponseEnreplacedy<IPage<Order>> page(OrderParam orderParam, PageParam<Order> page) {
        Long shopId = SecurityUtils.getSysUser().getShopId();
        orderParam.setShopId(shopId);
        IPage<Order> orderIPage = orderService.pageOrdersDetialByOrderParam(page, orderParam);
        return ResponseEnreplacedy.ok(orderIPage);
    }

    /**
     * 获取信息
     */
    @GetMapping("/orderInfo/{orderNumber}")
    @PreAuthorize("@pms.hasPermission('order:order:info')")
    public ResponseEnreplacedy<Order> info(@PathVariable("orderNumber") String orderNumber) {
        Long shopId = SecurityUtils.getSysUser().getShopId();
        Order order = orderService.getOrderByOrderNumber(orderNumber);
        if (!Objects.equal(shopId, order.getShopId())) {
            throw new YamiShopBindException("您没有权限获取该订单信息");
        }
        List<OrderItem> orderItems = orderItemService.getOrderItemsByOrderNumber(orderNumber);
        order.setOrderItems(orderItems);
        UserAddrOrder userAddrOrder = userAddrOrderService.getById(order.getAddrOrderId());
        order.setUserAddrOrder(userAddrOrder);
        return ResponseEnreplacedy.ok(order);
    }

    /**
     * 发货
     */
    @PutMapping("/delivery")
    @PreAuthorize("@pms.hasPermission('order:order:delivery')")
    public ResponseEnreplacedy<Void> delivery(@RequestBody DeliveryOrderParam deliveryOrderParam) {
        Long shopId = SecurityUtils.getSysUser().getShopId();
        Order order = orderService.getOrderByOrderNumber(deliveryOrderParam.getOrderNumber());
        if (!Objects.equal(shopId, order.getShopId())) {
            throw new YamiShopBindException("您没有权限修改该订单信息");
        }
        Order orderParam = new Order();
        orderParam.setOrderId(order.getOrderId());
        orderParam.setDvyId(deliveryOrderParam.getDvyId());
        orderParam.setDvyFlowId(deliveryOrderParam.getDvyFlowId());
        orderParam.setDvyTime(new Date());
        orderParam.setStatus(OrderStatus.CONSIGNMENT.value());
        orderParam.setUserId(order.getUserId());
        orderService.delivery(orderParam);
        List<OrderItem> orderItems = orderItemService.getOrderItemsByOrderNumber(deliveryOrderParam.getOrderNumber());
        for (OrderItem orderItem : orderItems) {
            productService.removeProductCacheByProdId(orderItem.getProdId());
            skuService.removeSkuCacheBySkuId(orderItem.getSkuId(), orderItem.getProdId());
        }
        return ResponseEnreplacedy.ok().build();
    }

    /**
     * 打印待发货的订单表
     *
     * @param order
     * @param consignmentName   发件人姓名
     * @param consignmentMobile 发货人手机号
     * @param consignmentAddr   发货地址
     */
    @GetMapping("/waitingConsignmentExcel")
    @PreAuthorize("@pms.hasPermission('order:order:waitingConsignmentExcel')")
    public void waitingConsignmentExcel(Order order, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime, String consignmentName, String consignmentMobile, String consignmentAddr, HttpServletResponse response) {
        Long shopId = SecurityUtils.getSysUser().getShopId();
        order.setShopId(shopId);
        order.setStatus(OrderStatus.PADYED.value());
        List<Order> orders = orderService.listOrdersDetialByOrder(order, startTime, endTime);
        // 通过工具类创建writer
        ExcelWriter writer = ExcelUtil.getWriter();
        Sheet sheet = writer.getSheet();
        sheet.setColumnWidth(0, 20 * 256);
        sheet.setColumnWidth(1, 20 * 256);
        sheet.setColumnWidth(2, 20 * 256);
        sheet.setColumnWidth(3, 60 * 256);
        sheet.setColumnWidth(4, 60 * 256);
        sheet.setColumnWidth(7, 60 * 256);
        sheet.setColumnWidth(8, 60 * 256);
        sheet.setColumnWidth(9, 60 * 256);
        // 待发货
        String[] hearder = { "订单编号", "收件人", "手机", "收货地址", "商品名称", "数量", "发件人姓名", "发件人手机号", "发货地址", "备注" };
        writer.merge(hearder.length - 1, "发货信息整理");
        writer.writeRow(Arrays.asList(hearder));
        int row = 1;
        for (Order dbOrder : orders) {
            UserAddrOrder addr = dbOrder.getUserAddrOrder();
            String addrInfo = addr.getProvince() + addr.getCity() + addr.getArea() + addr.getAddr();
            List<OrderItem> orderItems = dbOrder.getOrderItems();
            row++;
            for (OrderItem orderItem : orderItems) {
                // 第0列开始
                int col = 0;
                writer.writeCellValue(col++, row, dbOrder.getOrderNumber());
                writer.writeCellValue(col++, row, addr.getReceiver());
                writer.writeCellValue(col++, row, addr.getMobile());
                writer.writeCellValue(col++, row, addrInfo);
                writer.writeCellValue(col++, row, orderItem.getProdName());
                writer.writeCellValue(col++, row, orderItem.getProdCount());
                writer.writeCellValue(col++, row, consignmentName);
                writer.writeCellValue(col++, row, consignmentMobile);
                writer.writeCellValue(col++, row, consignmentAddr);
                writer.writeCellValue(col++, row, dbOrder.getRemarks());
            }
        }
        writeExcel(response, writer);
    }

    /**
     * 已销售订单
     *
     * @param order
     */
    @GetMapping("/soldExcel")
    @PreAuthorize("@pms.hasPermission('order:order:soldExcel')")
    public void soldExcel(Order order, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime, HttpServletResponse response) {
        Long shopId = SecurityUtils.getSysUser().getShopId();
        order.setShopId(shopId);
        order.setIsPayed(1);
        List<Order> orders = orderService.listOrdersDetialByOrder(order, startTime, endTime);
        // 通过工具类创建writer
        ExcelWriter writer = ExcelUtil.getWriter();
        // 待发货
        String[] hearder = { "订单编号", "下单时间", "收件人", "手机", "收货地址", "商品名称", "数量", "订单应付", "订单运费", "订单实付" };
        Sheet sheet = writer.getSheet();
        sheet.setColumnWidth(0, 20 * 256);
        sheet.setColumnWidth(1, 20 * 256);
        sheet.setColumnWidth(3, 20 * 256);
        sheet.setColumnWidth(4, 60 * 256);
        sheet.setColumnWidth(5, 60 * 256);
        writer.merge(hearder.length - 1, "销售信息整理");
        writer.writeRow(Arrays.asList(hearder));
        int row = 1;
        for (Order dbOrder : orders) {
            UserAddrOrder addr = dbOrder.getUserAddrOrder();
            String addrInfo = addr.getProvince() + addr.getCity() + addr.getArea() + addr.getAddr();
            List<OrderItem> orderItems = dbOrder.getOrderItems();
            int firstRow = row + 1;
            int lastRow = row + orderItems.size();
            int col = -1;
            // 订单编号
            mergeIfNeed(writer, firstRow, lastRow, ++col, col, dbOrder.getOrderNumber());
            // 下单时间
            mergeIfNeed(writer, firstRow, lastRow, ++col, col, dbOrder.getCreateTime());
            // 收件人
            mergeIfNeed(writer, firstRow, lastRow, ++col, col, addr.getReceiver());
            // "手机"
            mergeIfNeed(writer, firstRow, lastRow, ++col, col, addr.getMobile());
            // "收货地址"
            mergeIfNeed(writer, firstRow, lastRow, ++col, col, addrInfo);
            int prodNameCol = ++col;
            int prodCountCol = ++col;
            for (OrderItem orderItem : orderItems) {
                row++;
                // 商品名称
                writer.writeCellValue(prodNameCol, row, orderItem.getProdName());
                // 数量
                writer.writeCellValue(prodCountCol, row, orderItem.getProdCount());
            }
            // 订单应付
            mergeIfNeed(writer, firstRow, lastRow, ++col, col, dbOrder.getTotal());
            // 订单运费
            mergeIfNeed(writer, firstRow, lastRow, ++col, col, dbOrder.getFreightAmount());
            // 订单实付
            mergeIfNeed(writer, firstRow, lastRow, ++col, col, dbOrder.getActualTotal());
        }
        writeExcel(response, writer);
    }

    /**
     * 如果需要合并的话,就合并
     */
    private void mergeIfNeed(ExcelWriter writer, int firstRow, int lastRow, int firstColumn, int lastColumn, Object content) {
        if (lastRow - firstRow > 0 || lastColumn - firstColumn > 0) {
            writer.merge(firstRow, lastRow, firstColumn, lastColumn, content, false);
        } else {
            writer.writeCellValue(firstColumn, firstRow, content);
        }
    }

    private void writeExcel(HttpServletResponse response, ExcelWriter writer) {
        // response为HttpServletResponse对象
        response.setContentType("application/vnd.ms-excel;charset=utf-8");
        // test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
        response.setHeader("Content-Disposition", "attachment;filename=1.xls");
        ServletOutputStream servletOutputStream = null;
        try {
            servletOutputStream = response.getOutputStream();
            writer.flush(servletOutputStream);
            servletOutputStream.flush();
        } catch (IORuntimeException | IOException e) {
            e.printStackTrace();
        } finally {
            writer.close();
            try {
                if (servletOutputStream != null) {
                    servletOutputStream.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

19 View Source File : GeneratorController.java
License : Apache License 2.0
Project Creator : zuihou

/**
 * 常用Controller
 *
 * @author zuihou
 * @date 2019-06-21 18:22
 */
@Controller
public clreplaced GeneratorController {

    /**
     * 解决swagger-bootstrap-ui的一个bug:
     * <p>
     * 将swagger发起的请求:
     * http://127.0.0.1:8760/api/gate/api/authority/v2/api-docs?group=%E5%85%AC%E5%85%B1%E6%A8%A1%E5%9D%97
     * 从定向到:
     * http://127.0.0.1:8760/api/authority/v2/api-docs?group=%E5%85%AC%E5%85%B1%E6%A8%A1%E5%9D%97
     *
     * <p>
     * 有个前提: nginx的端口要和访问端口一致,否则重定向出错
     *
     * @param service 服务
     * @param group   组
     * @param ext     uri 后缀
     */
    @ApiOperation(value = "获取指定服务的swagger", notes = "获取当前系统所有数据字典和枚举")
    @GetMapping("${server.servlet.context-path}/{service}/v2/{ext}")
    public String apiDocs(@PathVariable String service, @PathVariable String ext, String group) throws Exception {
        if (group == null) {
            group = "default";
        }
        String newGroup = group;
        if (group.contains(StrPool.DASH)) {
            newGroup = StrUtil.subSuf(group, group.indexOf(StrPool.DASH) + 1);
        }
        return "redirect:/" + service + "/v2/" + ext + "?group=" + URLEncoder.encode(newGroup, "UTF-8");
    }
}

19 View Source File : GeneratorController.java
License : Apache License 2.0
Project Creator : zuihou

/**
 * 常用Controller
 *
 * @author zuihou
 * @date 2019-06-21 18:22
 */
@Controller
public clreplaced GeneratorController {

    @Value("${server.servlet.context-path:}")
    private String contextPath;

    /**
     * 兼容zuul 文档
     */
    @GetMapping("/gate/doc.html")
    public Rendering doc() {
        String uri = String.format("%s/doc.html", contextPath);
        return Rendering.redirectTo(uri).build();
    }
}

19 View Source File : SysPermissionCol.java
License : Apache License 2.0
Project Creator : ztgreat

/**
 * 权限资源文件管理
 */
@Controller
@RequestMapping(value = "/api/permission")
public clreplaced SysPermissionCol {

    @Autowired
    private SysPermissionService sysPermissionService;

    /**
     * 指定资源权限树
     * @param parentId
     * @return
     */
    @RequestMapping(value = "/page")
    @ResponseBody
    public ResponsePage<PermissionTreeIns> getPermissionTree(@RequestParam(value = "current", defaultValue = "1") int current, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, @RequestParam(value = "parentId", defaultValue = "0") Integer parentId) {
        ResponsePage<PermissionTreeIns> res = new ResponsePage<PermissionTreeIns>();
        try {
            IPage<PermissionTreeIns> page = sysPermissionService.getPermissionTree(current, pageSize, parentId);
            List<PermissionTreeIns> permissionTree = page.getRecords();
            setTree(permissionTree);
            res.setPage(page);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "获取权限树失败:" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    // 保存或者更新
    @RequestMapping(value = "/saveOrUpdate", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEnreplacedy<String> saveOrUpdate(@RequestBody SysPermission permission) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<String>();
        try {
            String s = sysPermissionService.savePermission(permission);
            res.success(s);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "权限资源保存失败:" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    // 删除
    @RequestMapping(value = "/deleteBatch")
    @ResponseBody
    public ResponseEnreplacedy<String> deleteBatch(@RequestBody Map<String, Object> param) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<>();
        List<String> ids = (List<String>) param.get("ids");
        try {
            String msg = sysPermissionService.deleteBatch(ids);
            res.success(msg);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "删除权限资源:" + e.getMessage());
            res.failure("该权限可能存在数据关联,暂时无法删除");
        }
        return res;
    }

    /**
     * 指定资源权限树
     * @param parentId
     * @return
     */
    @RequestMapping(value = "/getPermissionByParentId")
    @ResponseBody
    public ResponseList<PermissionTreeIns> getPermissionTree(@RequestParam(value = "parentId", defaultValue = "0") Integer parentId) {
        ResponseList<PermissionTreeIns> res = new ResponseList<PermissionTreeIns>();
        try {
            List<PermissionTreeIns> permissionTree = sysPermissionService.getPermissionTree(parentId);
            res.setData(permissionTree);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "获取权限树失败:" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    /**
     * 设置权限树 状态(设置 是否选中)
     * @param trees 菜单树
     * @param trees 具有权限的菜单
     */
    private boolean setTree(List<PermissionTreeIns> trees) {
        if (trees == null || trees.isEmpty())
            return false;
        boolean flag = false;
        for (PermissionTreeIns tree : trees) {
            if (tree.getChildren() != null && !tree.getChildren().isEmpty()) {
                tree.setIsParent(true);
                if (setTree(tree.getChildren())) {
                    tree.setChecked(true);
                }
            }
        }
        return flag;
    }
}

19 View Source File : LoginCol.java
License : Apache License 2.0
Project Creator : ztgreat

/**
 * 登录
 */
@Controller
public clreplaced LoginCol {

    @Autowired
    private SysUserService sysUserService;

    // 登录
    @RequestMapping(value = "/api/login", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEnreplacedy<SysUserInfo> doLogin(@RequestBody SysUser user, Boolean rememberMe, String captcha, HttpServletRequest request, RedirectAttributes redirect) {
        ResponseEnreplacedy<SysUserInfo> res = new ResponseEnreplacedy<SysUserInfo>();
        try {
            TokenManager.login(user, rememberMe);
            UserToken token = TokenManager.getToken();
            SysUserInfo su = new SysUserInfo(token);
            try {
                sysUserService.updateLoginTime(token.getId());
            } catch (Exception e) {
                LoggerUtils.error(getClreplaced(), "更新 系统用户登录时间失败:" + e.getMessage());
            }
            res.setData(su).success("登录成功");
        } catch (DisabledAccountException e) {
            res.failure("账号被禁用");
        } catch (Exception e) {
            e.printStackTrace();
            res.failure("用户名或密码错误");
        }
        return res;
    }

    @RequestMapping(value = "/api/logout", method = RequestMethod.GET)
    @ResponseBody
    public ResponseEnreplacedy<String> logout() {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<String>();
        try {
            TokenManager.logout();
        } catch (Exception ignore) {
        }
        res.success("登出成功");
        return res;
    }
}

19 View Source File : TestController.java
License : Apache License 2.0
Project Creator : ztgreat

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author zt
 * @since 2018-09-30
 */
@Controller
@RequestMapping("/api/test")
public clreplaced TestController {

    @Autowired
    private TestService testService;

    @RequestMapping(value = "/get")
    @ResponseBody
    public ResponseEnreplacedy<Test> get() {
        ResponseEnreplacedy<Test> res = new ResponseEnreplacedy<>();
        Test test = testService.getById(1);
        res.setData(test);
        return res;
    }

    @RequestMapping(value = "/getAll")
    @ResponseBody
    public ResponseList<Test> getAll() {
        ResponseList<Test> res = new ResponseList<>();
        List<Test> tests = testService.getAll();
        res.setData(tests);
        return res;
    }

    @RequestMapping(value = "/save")
    @ResponseBody
    public ResponseEnreplacedy<Test> save() {
        ResponseEnreplacedy<Test> res = new ResponseEnreplacedy<>();
        Test test = new Test();
        test.setName("asdf");
        testService.save(test);
        res.setMsg("ok");
        return res;
    }
}

19 View Source File : TestCol.java
License : Apache License 2.0
Project Creator : ztgreat

/**
 * 不拦截url 测试
 */
@Controller
public clreplaced TestCol {

    @RequestMapping(value = "/api/test", method = RequestMethod.GET)
    @ResponseBody
    public ResponseEnreplacedy<String> logout(HttpServletRequest request, HttpServletResponse response) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<String>();
        res.success("拦截url 测试");
        return res;
    }
}

19 View Source File : SysRoleCol.java
License : Apache License 2.0
Project Creator : ztgreat

/**
 * 角色管理
 */
@Controller
@RequestMapping(value = "/api/role")
public clreplaced SysRoleCol {

    @Autowired
    private SysMenuService sysMenuService;

    @Autowired
    private SysRoleService sysRoleService;

    @Autowired
    private SysPermissionService sysPermissionService;

    // 查询
    @RequestMapping(value = "/page", method = RequestMethod.GET)
    @ResponseBody
    public ResponsePage<SysRole> page(@RequestParam(value = "current", defaultValue = "1") int current, @RequestParam(value = "pageSize", defaultValue = "20") int pageSize, @RequestParam(value = "search", defaultValue = "") String search) {
        IPage<SysRole> page = sysRoleService.page(current, pageSize, search);
        ResponsePage<SysRole> res = new ResponsePage<SysRole>(page);
        return res;
    }

    // 保存
    @RequestMapping(value = "/saveOrUpdate", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEnreplacedy<String> saveOrUpdate(@RequestBody SysRole role) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<String>();
        try {
            String s = sysRoleService.saveRole(role);
            res.success(s);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "[角色更新或者删除]" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    // 删除
    @RequestMapping(value = "delete", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEnreplacedy<String> delete(@RequestBody Map<String, Object> param) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<>();
        try {
            List<Integer> ids = (List<Integer>) param.get("ids");
            for (Integer id : ids) {
                // 删除角色前需确定该角色是否已被分配权限,如已分配需先解除角色权限关系
                int permissionCount = sysRoleService.queryPerAllocationNumOfRole(id.intValue());
                if (permissionCount > 0) {
                    res.failure(CommonConstant.Message.ROLE_EXIST_PERMISSION);
                } else {
                    sysRoleService.removeById(id);
                    res.success(CommonConstant.Message.OPTION_SUCCESS);
                }
            }
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "[role delete]" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    @RequestMapping(value = "/query/{id}")
    @ResponseBody
    public ResponseEnreplacedy<SysRole> query(HttpServletRequest request, @PathVariable("id") Integer id) {
        ResponseEnreplacedy<SysRole> res = new ResponseEnreplacedy<>();
        try {
            SysRole role = sysRoleService.getById(id);
            res.success(CommonConstant.Message.OPTION_SUCCESS);
            res.setData(role);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "[role get]" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    /**
     * 分页查询所有用户已分配角色
     * @param current
     * @param pageSize
     * @param search 支持用户名模糊查询,可传null
     * @param order 支持排序
     * @return
     */
    @RequestMapping(value = "/pageUserRoles", method = RequestMethod.GET)
    @ResponseBody
    public ResponsePage<UserRoleAllocationBoIns> pageUserRoles(@RequestParam(value = "current", defaultValue = "1") int current, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, @RequestParam(value = "search", defaultValue = "") String search, @RequestParam(value = "order", defaultValue = "") String order) {
        ResponsePage<UserRoleAllocationBoIns> res = new ResponsePage<UserRoleAllocationBoIns>();
        try {
            IPage<UserRoleAllocationBoIns> page = sysRoleService.queryUserRoleByPage(search, current, pageSize, order);
            for (UserRoleAllocationBoIns userRoleAllocationBo : page.getRecords()) {
                // 查询结果行专列
                userRoleAllocationBo.roleVerToHor();
            }
            return res.setPage(page);
        } catch (RuntimeException e) {
            LoggerUtils.error(getClreplaced(), "[sysrole pageUserRoles]" + e.getMessage());
        }
        res.failure("获取列表失败");
        return res;
    }

    /**
     * 更新用户角色关系
     * @return
     */
    @RequestMapping(value = "/updateUserRoles", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEnreplacedy<String> updateUserRoles(@RequestBody Map<String, Object> param) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<String>();
        Integer userId = (Integer) param.get("userId");
        List<Integer> roleIds = (List<Integer>) param.get("roleIds");
        try {
            sysRoleService.updateUserRoles(userId, roleIds);
            res.setMsg(CommonConstant.Message.OPTION_SUCCESS);
        } catch (RuntimeException e) {
            res.setMsg(e.getMessage());
            LoggerUtils.error(getClreplaced(), "[sys updateUserRoles]" + e.getMessage());
        }
        return res;
    }

    /**
     * 查询单个用户角色分配情况
     * @param userId
     * @return
     */
    @RequestMapping(value = "/querySingleUserRole/{userId}", method = RequestMethod.GET)
    @ResponseBody
    public ResponseList<SingleUserRolesBoIns> querySingleUserRole(@PathVariable("userId") String userId) {
        ResponseList<SingleUserRolesBoIns> res = new ResponseList<SingleUserRolesBoIns>();
        try {
            List<SingleUserRolesBoIns> singleUserRoleAllocationBos = sysRoleService.queryRoleAllocationByUserId(userId);
            res.setData(singleUserRoleAllocationBos);
        } catch (RuntimeException e) {
            res.failure(CommonConstant.Message.OPTION_FAILURE);
            LoggerUtils.error(getClreplaced(), "[querySingleUserRole]" + e.getMessage());
        }
        return res;
    }

    /**
     * 清空单个用户角色
     * @param userId
     * @return
     */
    @RequestMapping(value = "/deleteRoleByUserId/{userId}", method = RequestMethod.GET)
    @ResponseBody
    public ResponseEnreplacedy<String> deleteRoleByUserId(@PathVariable("userId") Integer userId) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<>();
        try {
            sysRoleService.deleteAllRoleByUserId(userId);
            res.success(CommonConstant.Message.OPTION_SUCCESS);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "[role get]" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    /**
     * 得到某个角色的权限树
     * @param roleId
     * @return
     */
    @RequestMapping(value = "/getPermissionTreeByRoleId")
    @ResponseBody
    public ResponseList<PermissionTreeIns> getPermissionTreeByRoleId(Integer roleId) {
        ResponseList<PermissionTreeIns> res = new ResponseList<PermissionTreeIns>();
        try {
            List<SysPermission> permissions = sysPermissionService.getPermissionByRoleId(roleId);
            Map<Integer, SysPermission> mapPermissions = new HashMap<Integer, SysPermission>();
            for (SysPermission permission : permissions) {
                mapPermissions.put(permission.getId(), permission);
            }
            List<PermissionTreeIns> permissionTrees = sysPermissionService.getPermissionTree(0);
            setPermissionTree(permissionTrees, mapPermissions);
            res.setData(permissionTrees);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "[role gePermissionTree]" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    /**
     * 设置权限树 状态(设置 是否选中)
     * @param trees
     * @param mapPermissions
     */
    private void setPermissionTree(List<PermissionTreeIns> trees, Map<Integer, SysPermission> mapPermissions) {
        if (trees == null || trees.isEmpty())
            return;
        for (PermissionTreeIns tree : trees) {
            if (mapPermissions.containsKey(tree.getId())) {
                tree.setChecked(true);
            }
            if (tree.getChildren() != null && !tree.getChildren().isEmpty()) {
                tree.setIsParent(true);
                setPermissionTree(tree.getChildren(), mapPermissions);
            }
        }
        return;
    }

    /**
     * 用户菜单授权 tree
     * 某个角色的菜单树
     */
    @RequestMapping(value = "/getMenuTreeByRoleId", method = RequestMethod.GET)
    @ResponseBody
    public ResponseList<AuthMenuTreeIns> getMenuTree(Integer roleId) {
        ResponseList<AuthMenuTreeIns> res = new ResponseList<AuthMenuTreeIns>();
        try {
            List<SysMenu> sysMenus = sysMenuService.getMenuByRoleId(roleId);
            Map<Integer, SysMenu> mapMenus = new HashMap<Integer, SysMenu>();
            for (SysMenu menu : sysMenus) {
                mapMenus.put(menu.getId(), menu);
            }
            List<AuthMenuTreeIns> menus = sysMenuService.getMenuTree(0);
            setMenuTree(menus, mapMenus);
            res.setData(menus);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "通过角色id 获取菜单树失败 :" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    /**
     * 设置权限树 状态(设置 是否选中)
     * @param trees 菜单树
     * @param mapHasMenusMenus 具有权限的菜单
     */
    private void setMenuTree(List<AuthMenuTreeIns> trees, Map<Integer, SysMenu> mapHasMenusMenus) {
        if (trees == null || trees.isEmpty())
            return;
        for (AuthMenuTreeIns tree : trees) {
            if (mapHasMenusMenus != null && mapHasMenusMenus.containsKey(tree.getId())) {
                tree.setChecked(true);
            }
            if (tree.getChildren() != null && !tree.getChildren().isEmpty()) {
                tree.setIsParent(true);
                setMenuTree(tree.getChildren(), mapHasMenusMenus);
            }
        }
        return;
    }

    /**
     * 更新菜单权限
     * @return
     */
    @RequestMapping(value = "/updateMenus", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEnreplacedy<String> updateMenus(@RequestBody Map<String, Object> param) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<>();
        Integer roleId = (Integer) param.get("roleId");
        List<Integer> menusIds = (List<Integer>) param.get("menusIds");
        try {
            sysMenuService.updatePermission(roleId, menusIds);
            res.success(CommonConstant.Message.OPTION_SUCCESS);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "更新菜单权限失败 :" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    /**
     * 更新角色权限
     * @return
     */
    @RequestMapping(value = "/updatePermission", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEnreplacedy<String> updatePermission(@RequestBody Map<String, Object> param) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<>();
        Integer roleId = (Integer) param.get("roleId");
        List<Integer> permissionIds = (List<Integer>) param.get("permissionIds");
        try {
            sysPermissionService.updatePermission(roleId, permissionIds);
            res.success(CommonConstant.Message.OPTION_SUCCESS);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "[role updatePermission]" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }
}

19 View Source File : SysMenuCol.java
License : Apache License 2.0
Project Creator : ztgreat

/**
 * 菜单操作
 */
@Controller
@RequestMapping(value = "/api/menu")
public clreplaced SysMenuCol {

    @Autowired
    private SysMenuService sysMenuService;

    /**
     * 获取所有菜单tree
     *
     * @return
     */
    @RequestMapping(value = "/getMenuTree", method = RequestMethod.GET)
    @ResponseBody
    public ResponseList<AuthMenuTreeIns> getMenuTree() {
        ResponseList<AuthMenuTreeIns> res = new ResponseList<AuthMenuTreeIns>();
        List<AuthMenuTreeIns> menus = null;
        try {
            menus = sysMenuService.getMenuTree(0);
            setMenuTree(menus, null);
            res.setData(menus);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "获取菜单树 失败:" + e.getMessage());
            res.failure(e.getMessage());
        }
        return res;
    }

    // 保存
    @RequestMapping(value = "/saveOrUpdate", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEnreplacedy<String> saveOrUpdate(@RequestBody SysMenu menu) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<String>();
        try {
            String s = sysMenuService.saveMenu(menu);
            res.success(s);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "菜单保存失败:" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    // 删除
    @RequestMapping(value = "/delete", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEnreplacedy<String> delete(Integer id) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<String>();
        try {
            boolean flag = sysMenuService.removeById(id);
            res.success("删除成功");
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "菜单删除失败:" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    /**
     * 通过用户id获取菜单tree
     *
     * @return
     */
    @RequestMapping(value = "/getUserMenuTree")
    @ResponseBody
    public ResponseList<AuthMenuTreeIns> userTree() {
        ResponseList<AuthMenuTreeIns> res = new ResponseList<AuthMenuTreeIns>();
        List<AuthMenuTreeIns> menus = null;
        try {
            UserToken token = TokenManager.getToken();
            menus = sysMenuService.getMenuTreeByUserId(token.getId());
            res.setData(menus);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "通过用户id 获取用户菜单树 失败:" + e.getMessage());
            res.failure("获取用户菜单树 失败");
        }
        return res;
    }

    /**
     * 批量删除
     *
     * @return
     */
    @RequestMapping(value = "/deleteBatch", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEnreplacedy<String> deleteBatch(@RequestBody Map<String, Object> param) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<String>();
        List<String> ids = (List<String>) param.get("ids");
        try {
            sysMenuService.deleteBatch(ids);
            res.success(CommonConstant.Message.OPTION_SUCCESS);
        } catch (Exception e) {
            LoggerUtils.error(getClreplaced(), "批量删除菜单失败:" + e.getMessage());
            res.failure(CommonConstant.Message.OPTION_FAILURE);
        }
        return res;
    }

    /**
     * 设置权限树 状态(设置 是否选中)
     *
     * @param trees
     *            菜单树
     * @param mapHasMenusMenus
     *            具有权限的菜单
     */
    private boolean setMenuTree(List<AuthMenuTreeIns> trees, Map<Integer, SysMenu> mapHasMenusMenus) {
        if (trees == null || trees.isEmpty())
            return false;
        boolean flag = false;
        for (AuthMenuTreeIns tree : trees) {
            if (mapHasMenusMenus != null && mapHasMenusMenus.containsKey(tree.getId())) {
                tree.setChecked(true);
                flag = true;
            }
            if (tree.getChildren() != null && !tree.getChildren().isEmpty()) {
                tree.setIsParent(true);
                if (setMenuTree(tree.getChildren(), mapHasMenusMenus)) {
                    tree.setChecked(true);
                }
            }
        }
        return flag;
    }
}

19 View Source File : LoginCol.java
License : Apache License 2.0
Project Creator : ztgreat

/**
 * 登录
 */
@Controller
public clreplaced LoginCol {

    @RequestMapping(value = "/api/logout", method = RequestMethod.GET)
    @ResponseBody
    public ResponseEnreplacedy<String> logout(HttpServletRequest request, HttpServletResponse response) {
        ResponseEnreplacedy<String> res = new ResponseEnreplacedy<String>();
        try {
            TokenManager.logout(request, response);
        } catch (Exception ignore) {
            return res;
        }
        res.success("登出成功");
        return res;
    }
}

19 View Source File : TestController.java
License : Apache License 2.0
Project Creator : ztgreat

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author zt
 * @since 2018-09-30
 */
@Controller
@RequestMapping("/api/test")
public clreplaced TestController {

    @Autowired
    private TestService testService;

    @RequestMapping(value = "/get")
    @ResponseBody
    public ResponseEnreplacedy<Test> get() {
        ResponseEnreplacedy<Test> res = new ResponseEnreplacedy<>();
        Test test = testService.getById(1);
        res.setData(test);
        return res;
    }

    @RequestMapping(value = "/getAll")
    @ResponseBody
    public ResponseList<Test> getAll() {
        ResponseList<Test> res = new ResponseList<>();
        List<Test> tests = testService.getAll();
        res.setData(tests);
        return res;
    }

    @RequestMapping(value = "/save")
    @ResponseBody
    public ResponseEnreplacedy<Test> save() {
        ResponseEnreplacedy<Test> res = new ResponseEnreplacedy<>();
        Test test = new Test();
        test.setName("hello");
        testService.save(test);
        res.setMsg("ok");
        return res;
    }
}

19 View Source File : RedisController.java
License : Apache License 2.0
Project Creator : zq2599

@Controller
public clreplaced RedisController {

    private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    @Autowired
    private RedisService redisService;

    /**
     * 加入一些公共信息,这样在tomcat集群的时候可以确定响应来自哪台机器
     * @param model
     */
    private void addCommon(Model model) {
        if (null == model) {
            return;
        }
        model.addAttribute("time", sdf.format(new Date()));
        Map<String, String> map = System.getenv();
        model.addAttribute("serviceSource", map.get("TOMCAT_SERVER_ID"));
    }

    @RequestMapping("/strSet")
    public String set(HttpServletRequest request, Model model) {
        String key = request.getParameter("key");
        String value = request.getParameter("value");
        redisService.strSet(key, value);
        model.addAttribute("key", key);
        model.addAttribute("value", value);
        addCommon(model);
        return "strSet";
    }

    @RequestMapping("/setGet")
    public String get(HttpServletRequest request, Model model) {
        String key = request.getParameter("key");
        String value = redisService.setGet(key);
        model.addAttribute("key", key);
        model.addAttribute("value", value);
        addCommon(model);
        return "setGet";
    }

    @RequestMapping("/check")
    public String check(HttpServletRequest request, Model model) {
        String key = request.getParameter("key");
        model.addAttribute("key", key);
        model.addAttribute("exists", redisService.exists(key) ? "存在" : "不存在");
        addCommon(model);
        return "check";
    }

    @RequestMapping("/listappend")
    public String listappend(HttpServletRequest request, Model model) {
        String key = request.getParameter("key");
        String value = request.getParameter("value");
        redisService.listAppend(key, value);
        model.addAttribute("key", key);
        model.addAttribute("value", value);
        addCommon(model);
        return "listappend";
    }

    @RequestMapping("/listgetall")
    public String listgetall(HttpServletRequest request, Model model) {
        String key = request.getParameter("key");
        List<String> list = redisService.listGetAll(key);
        model.addAttribute("key", key);
        if (!list.isEmpty()) {
            model.addAttribute("value", list.get(0));
        }
        model.addAttribute("list", list);
        addCommon(model);
        return "listgetall";
    }
}

19 View Source File : TagController.java
License : Apache License 2.0
Project Creator : zouzhirong

/**
 * 管理标签Tag Controller
 *
 * @author <a href="mailto:[email protected]">zhirong.zou</a>
 * @version 1.0
 * @since 1.0
 */
@Controller
@RequestMapping("/")
public clreplaced TagController {

    @Autowired
    private AppService appService;

    @Autowired
    private TagService tagService;

    @Autowired
    private PrivilegeService privilegeService;

    /**
     * 列出指定环境下的Tag列表
     *
     * @param appId 应用ID
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/tags", method = RequestMethod.GET)
    public ModelAndView getTagList(@PathVariable("appId") int appId) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        App app = appService.getApp(appId);
        List<Tag> tagList = tagService.getTagList(appId);
        return new ModelAndView("app/tag").addObject("appId", appId).addObject("app", app).addObject("tagList", tagList);
    }

    /**
     * 获取Profile
     *
     * @param appId
     * @param tagId
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/tags/{tagId}", method = RequestMethod.GET)
    @ResponseBody
    public Object getTag(@PathVariable("appId") int appId, @PathVariable("tagId") int tagId) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        return tagService.getTag(appId, tagId);
    }

    /**
     * 创建Tag
     *
     * @param appId       应用ID
     * @param name        tag名称
     * @param description tag描述
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/tags", method = RequestMethod.POST)
    @ResponseBody
    public Object createTag(@PathVariable("appId") int appId, @RequestParam("name") String name, @RequestParam("description") String description) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        tagService.createTag(appId, name, description);
        return true;
    }

    /**
     * 更改Tag
     *
     * @param appId       应用ID
     * @param tagId       tag id
     * @param name        tag名称
     * @param description tag描述
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/tags/{tagId}", method = RequestMethod.PUT)
    @ResponseBody
    public Object modifyTag(@PathVariable("appId") int appId, @PathVariable("tagId") int tagId, @RequestParam("name") String name, @RequestParam("description") String description) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        tagService.modifyTag(tagId, name, description);
        return true;
    }

    /**
     * 删除Tag
     *
     * @param appId 应用ID
     * @param tagId tag id
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/tags/{tagId}", method = RequestMethod.DELETE)
    @ResponseBody
    public Object deleteTag(@PathVariable("appId") int appId, @PathVariable("tagId") int tagId) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        tagService.delete(appId, tagId);
        return true;
    }
}

19 View Source File : ProfileController.java
License : Apache License 2.0
Project Creator : zouzhirong

/**
 * 管理项目的环境的Profile Controller
 *
 * @author <a href="mailto:[email protected]">zhirong.zou</a>
 * @version 1.0
 * @since 1.0
 */
@Controller
@RequestMapping("/")
public clreplaced ProfileController {

    @Autowired
    private AppService appService;

    @Autowired
    private ProfileService profileService;

    @Autowired
    private PrivilegeService privilegeService;

    /**
     * 列出指定环境下的Profile列表
     *
     * @param appId 应用ID
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/profiles", method = RequestMethod.GET)
    public ModelAndView getProfileList(@PathVariable("appId") int appId) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        App app = appService.getApp(appId);
        List<Profile> profileList = profileService.getProfileList(appId);
        return new ModelAndView("app/profile").addObject("appId", appId).addObject("app", app).addObject("profileList", profileList);
    }

    /**
     * 获取Profile
     *
     * @param appId
     * @param profileId
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/profiles/{profileId}", method = RequestMethod.GET)
    @ResponseBody
    public Object getProfile(@PathVariable("appId") int appId, @PathVariable("profileId") int profileId) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        return profileService.getProfile(appId, profileId);
    }

    /**
     * 创建Profile
     *
     * @param appId       应用ID
     * @param name        profile名称
     * @param description profile描述
     * @param order       顺序
     * @param color       颜色
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/profiles", method = RequestMethod.POST)
    @ResponseBody
    public Object createProfile(@PathVariable("appId") int appId, @RequestParam("name") String name, @RequestParam("description") String description, @RequestParam(value = "order", required = false, defaultValue = "0") int order, @RequestParam(value = "color", required = false, defaultValue = "") String color) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        profileService.createProfile(appId, name, description, order, color);
        return true;
    }

    /**
     * 更改Profile
     *
     * @param appId       应用ID
     * @param profileId   profile id
     * @param name        profile名称
     * @param description profile描述
     * @param order       顺序
     * @param color       颜色
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/profiles/{profileId}", method = RequestMethod.PUT)
    @ResponseBody
    public Object modifyProfile(@PathVariable("appId") int appId, @PathVariable("profileId") int profileId, @RequestParam("name") String name, @RequestParam("description") String description, @RequestParam(value = "order", required = false, defaultValue = "0") int order, @RequestParam(value = "color", required = false, defaultValue = "") String color) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        profileService.modifyProfile(appId, profileId, name, description, order, color);
        return true;
    }

    /**
     * 删除Profile
     *
     * @param appId     应用ID
     * @param profileId profile id
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/profiles/{profileId}", method = RequestMethod.DELETE)
    @ResponseBody
    public Object deleteProfile(@PathVariable("appId") int appId, @PathVariable("profileId") int profileId) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        profileService.delete(appId, profileId);
        return true;
    }
}

19 View Source File : IndexController.java
License : Apache License 2.0
Project Creator : zouzhirong

/**
 * Index Controller
 */
@Controller
public clreplaced IndexController {

    @Autowired
    private AppService appService;

    @RequestMapping("/")
    public String index() {
        App app = appService.getDefaultApp(UserContext.email());
        if (app == null) {
            return "redirect:/apps";
        } else {
            return "redirect:/apps/" + app.getId() + "/config";
        }
    }
}

19 View Source File : EnvController.java
License : Apache License 2.0
Project Creator : zouzhirong

/**
 * 管理项目的环境(Env) Controller
 *
 * @author Zhirong Zou
 */
@Controller
@RequestMapping("/")
public clreplaced EnvController {

    @Autowired
    private AppService appService;

    @Autowired
    private EnvService envService;

    @Autowired
    private PrivilegeService privilegeService;

    /**
     * 列出项目的环境列表
     *
     * @param appId 应用ID
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/envs", method = RequestMethod.GET)
    public ModelAndView getEnvList(@PathVariable("appId") int appId) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        App app = appService.getApp(appId);
        List<Env> envList = envService.getEnvList(appId);
        return new ModelAndView("app/env").addObject("appId", appId).addObject("app", app).addObject("envList", envList);
    }

    /**
     * 环境列表为空的提示
     *
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/envs/empty", method = RequestMethod.GET)
    public ModelAndView emptyList(@PathVariable("appId") int appId) {
        App app = appService.getApp(appId);
        return new ModelAndView("app/env_empty").addObject("app", app);
    }

    /**
     * 获取环境
     *
     * @param appId
     * @param envId
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/envs/{envId}", method = RequestMethod.GET)
    @ResponseBody
    public Object getEnv(@PathVariable("appId") int appId, @PathVariable("envId") int envId) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        return envService.getEnv(appId, envId);
    }

    /**
     * 创建环境
     *
     * @param appId       应用ID
     * @param name        环境名称
     * @param alias       环境别名
     * @param description 环境描述
     *                    * @param order       顺序
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/envs", method = RequestMethod.POST)
    @ResponseBody
    public Object createEnv(@PathVariable("appId") int appId, @RequestParam("name") String name, @RequestParam("alias") String alias, @RequestParam("description") String description, @RequestParam(value = "order", required = false, defaultValue = "0") int order) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        envService.createEnv(appId, name, alias, description, order);
        return true;
    }

    /**
     * 更改环境
     *
     * @param appId       应用ID
     * @param envId       环境ID
     * @param name        环境名称
     * @param alias       环境别名
     * @param autoRelease 自动发布
     * @param description 环境描述
     * @param order       顺序
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/envs/{envId}", method = RequestMethod.PUT)
    @ResponseBody
    public Object modifyEnv(@PathVariable("appId") int appId, @PathVariable("envId") int envId, @RequestParam("name") String name, @RequestParam("alias") String alias, @RequestParam(name = "autoRelease", required = false, defaultValue = "false") boolean autoRelease, @RequestParam("description") String description, @RequestParam(value = "order", required = false, defaultValue = "0") int order) {
        // 权限认证
        privilegeService.replacedertAppAdmin(appId, UserContext.email());
        envService.modifyEnv(envId, name, alias, autoRelease, description, order);
        return true;
    }

    /**
     * 删除环境
     *
     * @param appId 应用ID
     * @param envId 环境ID
     * @return
     */
    @RequestMapping(value = "/apps/{appId}/envs/{envId}", method = RequestMethod.DELETE)
    @ResponseBody
    public Object deleteEnv(@PathVariable("appId") int appId, @PathVariable("envId") int envId) {
        // 权限认证
        privilegeService.replacedertAppAdmin(appId, UserContext.email());
        envService.delete(appId, envId);
        return true;
    }
}

19 View Source File : AppController.java
License : Apache License 2.0
Project Creator : zouzhirong

/**
 * 应用管理Controller
 *
 * @author Zhirong Zou
 */
@Controller
@RequestMapping("/")
public clreplaced AppController {

    @Autowired
    private AppService appService;

    @Autowired
    private PrivilegeService privilegeService;

    /**
     * 列出项目列表
     *
     * @param page
     * @param size
     * @return
     */
    @RequestMapping(value = "/apps", method = RequestMethod.GET)
    public ModelAndView getAppList(@RequestParam(name = "page", required = false, defaultValue = "1") int page, @RequestParam(name = "size", required = false, defaultValue = "10") int size) {
        List<App> appList = appService.getUserAppList(UserContext.email());
        PageRequest pageRequest = new PageRequest(page, size);
        Page<Void, App> pageResponse = new Page<>(appList, pageRequest);
        return new ModelAndView("app/app").addObject("page", pageResponse);
    }

    /**
     * 项目列表为空的提示
     *
     * @return
     */
    @RequestMapping(value = "/apps/empty", method = RequestMethod.GET)
    public ModelAndView emptyList() {
        return new ModelAndView("app/app_empty");
    }

    /**
     * 获取项目
     *
     * @param appId
     * @return
     */
    @RequestMapping(value = "/apps/{appId}", method = RequestMethod.GET)
    @ResponseBody
    public Object getApp(@PathVariable("appId") int appId) {
        // 权限认证
        privilegeService.replacedertAppDeveloper(appId, UserContext.email());
        return appService.getApp(appId);
    }

    /**
     * 创建项目
     *
     * @param name        应用名称
     * @param description 应用描述
     * @param admins      管理员邮箱
     * @param developers  开发者邮箱
     * @return
     */
    @RequestMapping(value = "/apps", method = RequestMethod.POST)
    @ResponseBody
    public Object createApp(@RequestParam("name") String name, @RequestParam(value = "description", required = false, defaultValue = "") String description, @RequestParam(value = "admins", required = false, defaultValue = "") String admins, @RequestParam(value = "developers", required = false, defaultValue = "") String developers) {
        appService.createApp(name, description, admins, developers);
        return true;
    }

    /**
     * 更改项目
     *
     * @param appId       应用ID
     * @param name        应用名称
     * @param description 应用描述
     * @param admins      管理员邮箱
     * @param developers  开发者邮箱
     * @return
     */
    @RequestMapping(value = "/apps/{appId}", method = RequestMethod.PUT)
    @ResponseBody
    public Object modifyApp(@PathVariable("appId") int appId, @RequestParam("name") String name, @RequestParam(value = "description", required = false, defaultValue = "") String description, @RequestParam(value = "admins", required = false, defaultValue = "") String admins, @RequestParam(value = "developers", required = false, defaultValue = "") String developers) {
        // 权限认证
        privilegeService.replacedertAppAdmin(appId, UserContext.email());
        appService.modifyApp(appId, name, description, admins, developers);
        return true;
    }

    /**
     * 删除项目
     *
     * @param appId 应用ID
     * @return
     */
    @RequestMapping(value = "/apps/{appId}", method = RequestMethod.DELETE)
    @ResponseBody
    public Object deleteApp(@PathVariable("appId") int appId) {
        // 权限认证
        privilegeService.replacedertAppAdmin(appId, UserContext.email());
        appService.delete(appId);
        return true;
    }
}

19 View Source File : IndexController.java
License : GNU General Public License v2.0
Project Creator : ZoeShaw101

/**
 * 通用访问拦截匹配
 * 创建者 科帮网
 * 创建时间	2018年4月3日
 */
@Controller
public clreplaced IndexController {

    /**
     * 页面跳转
     * @param module
     * @param url
     * @return
     */
    @RequestMapping("{url}.shtml")
    public String page(@PathVariable("url") String url) {
        return url;
    }

    /**
     * 页面跳转(二级目录)
     * @param module
     * @param function
     * @param url
     * @return
     */
    @RequestMapping("{module}/{url}.shtml")
    public String page(@PathVariable("module") String module, @PathVariable("url") String url) {
        return module + "/" + url;
    }
}

19 View Source File : CorpAdminController.java
License : MIT License
Project Creator : Zo3i

/**
 * 系统管理员Controller
 * @author ThinkGem
 * @version 2017-03-26
 */
@Controller
@RequestMapping(value = "${adminPath}/sys/corpAdmin")
public clreplaced CorpAdminController extends BaseController {

    @Autowired
    private UserService userService;

    @ModelAttribute
    public User get(String userCode, boolean isNewRecord) {
        return userService.get(userCode, isNewRecord);
    }

    @RequiresPermissions("sys:corpAdmin:view")
    @RequestMapping(value = "list")
    public String list(User user, Model model) {
        user.setCorpCode(null);
        user.setCorpName(null);
        return "modules/sys/user/corpAdminList";
    }

    @RequiresPermissions("sys:corpAdmin:view")
    @RequestMapping(value = "listData")
    @ResponseBody
    public Page<User> listData(User user, HttpServletRequest request, HttpServletResponse response) {
        // 租户管理员
        user.setMgrType(User.MGR_TYPE_CORP_ADMIN);
        // 禁用自动添加租户代码条件,添加自定义租户查询条件
        user.getSqlMap().getWhere().disableAutoAddCorpCodeWhere().and("corp_code", QueryType.EQ, user.getCorpCode_()).and("corp_name", QueryType.LIKE, user.getCorpName_());
        Page<User> page = userService.findPage(new Page<User>(request, response), user);
        return page;
    }

    @RequiresPermissions("sys:corpAdmin:view")
    @RequestMapping(value = "form")
    public String form(User user, String op, Model model) {
        if (user.getIsNewRecord()) {
            // 新增租户管理员,如果已存在,则不能保存
            if ("addCorp".equals(op)) {
                // 租户代码
                user.setCorpCode_(StringUtils.EMPTY);
                // 租户名称
                user.setCorpName_(StringUtils.EMPTY);
            }
        }
        // 操作类型:addCorp: 添加租户; addAdmin: 添加管理员; edit: 编辑
        model.addAttribute("op", op);
        model.addAttribute("user", user);
        return "modules/sys/user/corpAdminForm";
    }

    @RequiresPermissions("sys:corpAdmin:edit")
    @PostMapping(value = "save")
    @ResponseBody
    public String save(@Validated User user, String oldLoginCode, String op) {
        if (!user.getCurrentUser().isSuperAdmin()) {
            return renderResult(Global.FALSE, "越权操作,只有超级管理员才能修改此数据!");
        }
        if (User.isSuperAdmin(user.getUserCode())) {
            return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
        }
        if (!EmpUser.USER_TYPE_EMPLOYEE.equals(user.getUserType())) {
            return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
        }
        if (StringUtils.isBlank(user.getCorpCode_())) {
            return renderResult(Global.FALSE, "租户代码不能为空!");
        }
        if (!Global.TRUE.equals(userService.checkLoginCode(oldLoginCode, user.getLoginCode()))) {
            return renderResult(Global.FALSE, "保存用户'" + user.getLoginCode() + "'失败,登录账号已存在");
        }
        if (user.getIsNewRecord()) {
            // 仅登录用户
            user.setUserType(User.USER_TYPE_NONE);
        }
        // 租户管理员
        user.setMgrType(User.MGR_TYPE_CORP_ADMIN);
        // 如果新增,则验证租户代码合法性
        if (user.getIsNewRecord()) {
            User where = new User();
            where.setCorpCode_(user.getCorpCode_());
            List<User> list = userService.findCorpList(where);
            if (list.size() > 0) {
                // 新增租户,如果已存在,则不能保存
                if ("addCorp".equals(op)) {
                    return renderResult(Global.FALSE, "保存用户失败,租户代码已存在");
                } else // 新增管理员,则使用已有的租户代码和名称
                if ("addAdmin".equals(op)) {
                    user.setCorpCode_(list.get(0).getCorpCode_());
                    user.setCorpName_(list.get(0).getCorpName_());
                } else // 非法操作
                {
                    return renderResult(Global.FALSE, "非法操作,参数错误。");
                }
            }
        }
        userService.save(user);
        // 如果修改的是当前用户,则清除当前用户缓存
        if (user.getUserCode().equals(UserUtils.getUser().getUserCode())) {
            UserUtils.clearCache();
        }
        return renderResult(Global.TRUE, "保存管理员'" + user.getUserCode() + "'成功");
    }

    /**
     * 停用用户
     * @param user
     * @return
     */
    @RequiresPermissions("sys:corpAdmin:edit")
    @ResponseBody
    @RequestMapping(value = "disable")
    public String disable(User user) {
        if (User.isSuperAdmin(user.getUserCode())) {
            return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
        }
        if (user.getCurrentUser().getUserCode().equals(user.getUserCode())) {
            return renderResult(Global.FALSE, "停用用户失败, 不允许停用当前用户");
        }
        user.setStatus(User.STATUS_DISABLE);
        userService.updateStatus(user);
        return renderResult(Global.TRUE, "停用用户成功");
    }

    /**
     * 启用用户
     * @param user
     * @return
     */
    @RequiresPermissions("sys:corpAdmin:edit")
    @ResponseBody
    @RequestMapping(value = "enable")
    public String enable(User user) {
        if (User.isSuperAdmin(user.getUserCode())) {
            return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
        }
        user.setStatus(User.STATUS_NORMAL);
        userService.updateStatus(user);
        return renderResult(Global.TRUE, "启用用户成功");
    }

    /**
     * 密码重置
     * @param user
     * @return
     */
    @RequiresPermissions("sys:corpAdmin:edit")
    @RequestMapping(value = "resetpwd")
    @ResponseBody
    public String resetpwd(User user) {
        if (User.isSuperAdmin(user.getUserCode())) {
            return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
        }
        userService.updatePreplacedword(user.getUserCode(), null);
        return renderResult(Global.TRUE, "重置用户密码成功");
    }

    /**
     * 删除用户
     * @param user
     * @return
     */
    @RequiresPermissions("sys:corpAdmin:edit")
    @RequestMapping(value = "delete")
    @ResponseBody
    public String delete(User user) {
        if (User.isSuperAdmin(user.getUserCode())) {
            return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
        }
        if (user.getCurrentUser().getUserCode().equals(user.getUserCode())) {
            return renderResult(Global.FALSE, "删除用户失败,不允许删除当前用户");
        }
        if (User.USER_TYPE_NONE.equals(user.getUserType())) {
            // 删除系统管理员
            userService.delete(user);
            return renderResult(Global.TRUE, "删除用户'" + user.getUserName() + "'成功!");
        } else {
            // 取消系统管理员身份
            user.setMgrType(User.MGR_TYPE_NOT_ADMIN);
            userService.updateMgrType(user);
            return renderResult(Global.TRUE, "取消用户'" + user.getUserName() + "'管理员身份成功!");
        }
    }
}

19 View Source File : AccountController.java
License : MIT License
Project Creator : Zo3i

/**
 * 账号自助服务Controller
 * @author ThinkGem
 * @version 2017-12-7
 */
@Controller
@RequestMapping(value = "/account")
public clreplaced AccountController extends BaseController {

    @Autowired
    private UserService userService;

    /**
     * 忘记密码页面
     */
    @RequestMapping(value = "forgetPwd")
    public String forgetPwd(Model model) {
        model.addAttribute("message", "正在研发中,敬请期待!");
        return "modules/sys/account/forgetPwd";
    }

    /**
     * 获取找回密码短信、邮件验证码
     * @param validCode 图片验证码,防止重复机器人。
     * @param validType 验证方式:mobile、email
     */
    @PostMapping(value = "getFpValidCode")
    @ResponseBody
    public String getFpValidCode(User user, String validCode, String validType, HttpServletRequest request) {
        // 校验图片验证码,防止重复机器人。
        if (!ValidCodeUtils.validate(request, validCode)) {
            return renderResult(Global.FALSE, "图片验证码不正确或已失效,请点击图片刷新!");
        }
        if (!"mobile".equals(validType) && !"email".equals(validType)) {
            return renderResult(Global.FALSE, "非法操作。");
        }
        User u = UserUtils.getByLoginCode(user.getLoginCode());
        if (u == null) {
            return renderResult(Global.FALSE, "登录账号不正确!");
        }
        if ("mobile".equals(validType) && StringUtils.isBlank(u.getMobile())) {
            return renderResult(Global.FALSE, "该账号未设置手机号码!");
        } else if ("email".equals(validType) && StringUtils.isBlank(u.getEmail())) {
            return renderResult(Global.FALSE, "该账号未设置邮件地址!");
        }
        // 操作是否频繁验证, 如果离上次获取验证码小于20秒,则提示操作频繁。
        Date date = (Date) UserUtils.getCache("fpLastDate");
        if (date != null && (System.currentTimeMillis() - date.getTime()) / (1000L) < 20L) {
            return renderResult(Global.FALSE, "您当前操作太频繁,请稍等一会再操作!");
        } else {
            UserUtils.putCache("fpLastDate", new Date());
        }
        // 生成验证码,并缓存。
        String fpValidCode = StringUtils.getRandomNum(6);
        UserUtils.putCache("fpUserCode", u.getUserCode());
        UserUtils.putCache("fpLoginCode", u.getLoginCode());
        UserUtils.putCache("fpValidCode", fpValidCode);
        // 发送短信消息。
        if ("mobile".equals(validType)) {
            return sendSmsValidCode(u, fpValidCode, "找回密码");
        } else // 发送邮件消息。
        if ("email".equals(validType)) {
            return sendEmailValidCode(u, fpValidCode, "找回密码");
        }
        return null;
    }

    /**
     * 根据短信或邮件验证码保存密码
     */
    @PostMapping(value = "savePwdByValidCode")
    @ResponseBody
    public String savePwdByValidCode(User user, String fpValidCode, HttpServletRequest request) {
        String userCode = (String) UserUtils.getCache("fpUserCode");
        String loginCode = (String) UserUtils.getCache("fpLoginCode");
        String validCode = (String) UserUtils.getCache("fpValidCode");
        Date date = (Date) UserUtils.getCache("fpLastDate");
        // 一同验证保存的用户名和验证码是否正确(如果只校验验证码,不验证用户名,则会有获取验证码后修改用户名的漏洞)
        if (!(userCode != null && loginCode != null && loginCode.equals(user.getLoginCode()))) {
            return renderResult(Global.FALSE, "请重新获取验证码!");
        }
        // 清理验证码,验证码只允许使用一次。
        UserUtils.removeCache("fpUserCode");
        UserUtils.removeCache("fpLoginCode");
        UserUtils.removeCache("fpValidCode");
        UserUtils.removeCache("fpLastDate");
        // 验证码是否超时
        boolean isTimeout = true;
        // 验证码有效时间(单位分钟,0表示不限制,默认值10)
        String validTime = Global.getConfig("sys.account.validCodeTimeout", "10");
        if ("0".equals(validTime) || (date != null && (System.currentTimeMillis() - date.getTime()) / (1000L) < 60 * Long.parseLong(validTime))) {
            isTimeout = false;
        }
        if (!(validCode != null && validCode.equals(fpValidCode) && !isTimeout)) {
            return renderResult(Global.FALSE, "验证码不正确或已失效,请重新获取验证码!");
        }
        // 更新为新密码。
        try {
            userService.updatePreplacedword(userCode, user.getPreplacedword());
        } catch (ServiceException se) {
            return renderResult(Global.FALSE, se.getMessage());
        }
        return renderResult(Global.TRUE, "恭喜你,您的账号 " + loginCode + " 密码修改成功!");
    }

    /**
     * 获取保密问题
     * @param validCode 图片验证码,防止重复机器人。
     */
    @PostMapping(value = "getPwdQuestion")
    @ResponseBody
    public String getPwdQuestion(User user, String validCode, HttpServletRequest request) {
        // 校验图片验证码,防止重复机器人。
        if (!ValidCodeUtils.validate(request, validCode)) {
            return renderResult(Global.FALSE, "图片验证码不正确或已失效,请点击图片刷新!");
        }
        // 账号是否存在验证
        User u = UserUtils.getByLoginCode(user.getLoginCode());
        if (u == null) {
            return renderResult(Global.FALSE, "登录账号不正确!");
        }
        // 操作是否频繁验证, 如果离上次获取验证码小于20秒,则提示操作频繁。
        Date date = (Date) UserUtils.getCache("fpLastDate");
        if (date != null && (System.currentTimeMillis() - date.getTime()) / (1000L) < 20L) {
            return renderResult(Global.FALSE, "您当前操作太频繁,请稍等一会再操作!");
        } else {
            UserUtils.putCache("fpLastDate", new Date());
        }
        // 未设置密保
        if (StringUtils.isAnyBlank(u.getPwdQuestion(), u.getPwdQuestion2(), u.getPwdQuestion3())) {
            return renderResult(Global.FALSE, "该账号未设置密保问题!");
        }
        // 获取保密问题,并缓存
        Map<String, String> data = MapUtils.newHashMap();
        data.put("pwdQuestion", u.getPwdQuestion());
        data.put("pwdQuestion2", u.getPwdQuestion2());
        data.put("pwdQuestion3", u.getPwdQuestion3());
        UserUtils.putCache("fpUserCode", u.getUserCode());
        UserUtils.putCache("fpLoginCode", u.getLoginCode());
        return renderResult(Global.TRUE, "获取密保问题成功!", data);
    }

    /**
     * 校验密保问题答案
     * @param user
     * @param request
     * @return
     */
    @PostMapping(value = "savePwdByPwdQuestion")
    @ResponseBody
    public String savePwdByPwdQuestion(User user, HttpServletRequest request) {
        String userCode = (String) UserUtils.getCache("fpUserCode");
        String loginCode = (String) UserUtils.getCache("fpLoginCode");
        // 一同验证保存的用户名和验证码是否正确(如果只校验验证码,不验证用户名,则会有获取验证码后修改用户名的漏洞)
        if (!(userCode != null && loginCode != null && loginCode.equals(user.getLoginCode()))) {
            return renderResult(Global.FALSE, "请重新获取保密问题!");
        }
        // 清理保密问题,每次获取只允许使用一次。
        UserUtils.removeCache("fpUserCode");
        UserUtils.removeCache("fpLoginCode");
        // 验证三个密保问题是否正确。
        User u = UserUtils.getByLoginCode(user.getLoginCode());
        if (!(u != null && loginCode.equals(user.getLoginCode()) && UserService.validatePreplacedword(user.getPwdQuestionAnswer(), u.getPwdQuestionAnswer()) && UserService.validatePreplacedword(user.getPwdQuestionAnswer2(), u.getPwdQuestionAnswer2()) && UserService.validatePreplacedword(user.getPwdQuestionAnswer3(), u.getPwdQuestionAnswer3()))) {
            return renderResult(Global.FALSE, "您填写的密保问题答案不正确!");
        }
        // 更新为新密码。
        try {
            userService.updatePreplacedword(userCode, user.getPreplacedword());
        } catch (ServiceException se) {
            return renderResult(Global.FALSE, se.getMessage());
        }
        return renderResult(Global.TRUE, "验证通过");
    }

    /**
     * 用户注册页面
     * @param user 用户信息参数
     */
    @RequestMapping(value = "registerUser")
    public String registerUser(User user, HttpServletRequest request) {
        return "modules/sys/account/registerUser";
    }

    /**
     * 根据短信或邮件验证码注册用户(通过邮箱、手机号)
     * @param user 用户信息参数
     * @param validType 验证方式:mobile、email
     */
    @PostMapping(value = "getRegValidCode")
    @ResponseBody
    public String getRegValidCode(User user, String validCode, String validType, HttpServletRequest request) {
        // 校验图片验证码,防止重复机器人。
        if (!ValidCodeUtils.validate(request, validCode)) {
            return renderResult(Global.FALSE, "图片验证码不正确或已失效,请点击图片刷新!");
        }
        if (!"mobile".equals(validType) && !"email".equals(validType)) {
            return renderResult(Global.FALSE, "非法操作。");
        }
        // 非空数据校验。
        if (!(StringUtils.isNotBlank(user.getLoginCode()) && StringUtils.isNotBlank(user.getUserName()))) {
            return renderResult(Global.FALSE, "登录账号和用户姓名不能为空!");
        }
        // 邮箱、手机号码是否填写验证
        if ("email".equals(validType) && !StringUtils.isNotBlank(user.getEmail())) {
            return renderResult(Global.FALSE, "电子邮箱不能为空!");
        } else if ("mobile".equals(validType) && !StringUtils.isNotBlank(user.getMobile())) {
            return renderResult(Global.FALSE, "手机号码不能为空!");
        }
        // 操作是否频繁验证,如果离上次获取验证码小于20秒,则提示操作频繁。
        Date date = (Date) UserUtils.getCache("regLastDate");
        if (date != null && (System.currentTimeMillis() - date.getTime()) / (1000L) < 20L) {
            return renderResult(Global.FALSE, "您当前操作太频繁,请稍等一会再操作!");
        } else {
            UserUtils.putCache("regLastDate", new Date());
        }
        // 验证用户编码是否存在。
        if (UserUtils.getByLoginCode(user.getLoginCode()) != null) {
            return renderResult(Global.FALSE, "登录账号已存在!");
        }
        // 生成验证码,并缓存。
        String code = StringUtils.getRandomNum(6);
        UserUtils.putCache("regCorpCode", user.getCorpCode());
        UserUtils.putCache("regCorpName", user.getCorpName());
        UserUtils.putCache("regLoginCode", user.getLoginCode());
        // 账号注册类型
        String[] userTypes = StringUtils.split(Global.getConfig("sys.account.registerUser.userTypes.userTypes", "-1"), ",");
        if (StringUtils.inString(user.getUserType(), userTypes)) {
            UserUtils.putCache("regUserType", user.getUserType());
        } else {
            return renderResult(Global.FALSE, "非法的用户类型!");
        }
        UserUtils.putCache("regEmail", user.getEmail());
        UserUtils.putCache("regMobile", user.getMobile());
        UserUtils.putCache("regValidCode", code);
        // 发送邮箱或短信验证码
        if ("send_email".equals(validType)) {
            return sendEmailValidCode(user, code, "注册账号");
        } else if ("send_mobile".equals(validType)) {
            return sendSmsValidCode(user, code, "注册账号");
        }
        return null;
    }

    /**
     * 根据短信或邮件验证码注册用户(通过邮箱、手机号)
     * @param user 用户信息参数
     * @param validType 验证方式:mobile、email
     */
    @PostMapping(value = "saveRegByValidCode")
    @ResponseBody
    public String saveRegByValidCode(User user, String regValidCode, HttpServletRequest request) {
        if (!"true".equals(Global.getConfig("sys.account.registerUser"))) {
            return renderResult(Global.FALSE, "当前系统没有开启注册功能!");
        }
        String corpCode = (String) UserUtils.getCache("regCorpCode");
        String corpName = (String) UserUtils.getCache("regCorpName");
        String userType = (String) UserUtils.getCache("regUserType");
        String loginCode = (String) UserUtils.getCache("regLoginCode");
        String email = (String) UserUtils.getCache("regEmail");
        String mobile = (String) UserUtils.getCache("regMobile");
        String validCode = (String) UserUtils.getCache("regValidCode");
        Date date = (Date) UserUtils.getCache("regLastDate");
        // 一同验证保存的用户名和验证码是否正确(如果只校验验证码,不验证用户名,则会有获取验证码后修改用户名的漏洞)
        if (!(loginCode != null && loginCode.equals(user.getLoginCode()))) {
            return renderResult(Global.FALSE, "非法操作。");
        }
        // 验证码是否超时
        boolean isTimeout = true;
        // 验证码有效时间(单位分钟,0表示不限制,默认值10)
        String validTime = Global.getConfig("sys.account.validCodeTimeout", "10");
        if ("0".equals(validTime) || (date != null && (System.currentTimeMillis() - date.getTime()) / (1000L) < 60 * Long.parseLong(validTime))) {
            isTimeout = false;
        }
        if (!(validCode != null && validCode.equals(regValidCode) && !isTimeout)) {
            return renderResult(Global.FALSE, "验证码不正确或已失效,请重新获取验证码!");
        }
        // 非空数据校验。
        if (!(StringUtils.isNotBlank(user.getLoginCode()) && StringUtils.isNotBlank(user.getUserName()))) {
            return renderResult(Global.FALSE, "登录账号和用户姓名不能为空!");
        }
        // 新增并保存用户。
        User u = new User();
        u.setIsNewRecord(true);
        if (StringUtils.isNotBlank(corpCode)) {
            u.setCorpCode(corpCode);
            u.setCorpName(corpName);
        }
        u.setLoginCode(loginCode);
        u.setUserName(user.getUserName());
        u.setPreplacedword(user.getPreplacedword());
        u.setEmail(email);
        u.setMobile(mobile);
        u.setUserType(userType);
        u.setMgrType(User.MGR_TYPE_NOT_ADMIN);
        userService.save(u);
        // 验证成功后清理验证码,验证码只允许使用一次。
        UserUtils.removeCache("regUserType");
        UserUtils.removeCache("regLoginCode");
        UserUtils.removeCache("regValidCode");
        UserUtils.removeCache("regLastDate");
        return renderResult(Global.TRUE, "恭喜你,您的账号 " + u.getLoginCode() + " 注册成功!");
    }

    /**
     * 发送邮件验证码
     */
    private String sendEmailValidCode(User user, String code, String replacedle) {
        String account = user.getEmail();
        try {
            replacedle = user.getUserName() + "(" + user.getLoginCode() + ")" + replacedle + "验证码";
            String content = "尊敬的用户,您好!\n\n您的验证码是:" + code + "(请勿透露给其他人)\n\n" + "请复制后,填写在你的验证码窗口完成验证。\n\n本邮件由系统自动发出,请勿回复。\n\n感谢您的使用!";
            // String receiveUserCode = "[CODE]"+account;
            // MsgPushUtils.push(MsgPush.TYPE_EMAIL, replacedle, content, null, null, receiveUserCode);
            EmailUtils.send(account, replacedle, content);
        } catch (Exception e) {
            logger.error(replacedle + "发送邮件错误。", e);
            return renderResult(Global.FALSE, "系统出现了点问题,错误信息:" + e.getMessage());
        }
        account = account.replaceAll("([\\w\\W]?)([\\w\\W]+)([\\w\\W])(@[\\w\\W]+)", "$1****$3$4");
        return renderResult(Global.TRUE, "验证码已发送到“" + account + "”邮箱账号,请尽快查收!");
    }

    /**
     * 发送短信验证码
     */
    private String sendSmsValidCode(User user, String code, String replacedle) {
        String account = user.getMobile();
        try {
            replacedle = user.getUserName() + "(" + user.getLoginCode() + ")" + replacedle + "验证码";
            String content = "您好,您的验证码是:" + code + "(请勿透露给其他人)感谢您的使用。";
            // String receiveUserCode = "[CODE]"+account;
            // MsgPushUtils.push(MsgPush.TYPE_SMS, replacedle, content, null, null, receiveUserCode);
            SmsUtils.send(content, account);
        } catch (Exception e) {
            logger.error(replacedle + "发送短信错误。", e);
            return renderResult(Global.FALSE, "系统出现了点问题,错误信息:" + e.getMessage());
        }
        account = account.replaceAll("(\\d{3})(\\d+)(\\d{3})", "$1****$3");
        return renderResult(Global.TRUE, "验证码已发送到“" + account + "”的手机号码,请尽快查收!");
    }
}

19 View Source File : OnlineController.java
License : MIT License
Project Creator : Zo3i

/**
 * 在线用户Controller
 * @author ThinkGem
 * @version 2016-8-31
 */
@Controller
@RequestMapping(value = "${adminPath}/sys/online")
public clreplaced OnlineController extends BaseController {

    @Autowired
    private SessionDAO sessionDAO;

    /**
     * 在线用户数
     * @param request
     * @param response
     * @author ThinkGem
     */
    @RequestMapping(value = "count")
    @ResponseBody
    public Integer count(HttpServletRequest request, HttpServletResponse response) {
        return sessionDAO.getActiveSessions(true, true).size();
    }

    /**
     * 在线用户列表
     * @param request
     * @param response
     * @param model
     */
    @RequiresPermissions("sys:online:view")
    @RequestMapping(value = "list")
    public String list(Model model) {
        return "modules/sys/onlineList";
    }

    /**
     * 在线用户列表数据
     * @param request
     * @param response
     * @author ThinkGem
     */
    @RequiresPermissions("sys:online:view")
    @RequestMapping(value = "listData")
    @ResponseBody
    public List<Map<String, Object>> listData(String isAllOnline, String isVisitor, String sessionId, String userCode, String userName, String userType, String orderBy) {
        List<Map<String, Object>> list = Lists.newArrayList();
        boolean excludeLeave = isAllOnline == null || !Global.YES.equals(isAllOnline);
        boolean excludeVisitor = isVisitor == null || !Global.YES.equals(isVisitor);
        Collection<Session> sessions = sessionDAO.getActiveSessions(excludeLeave, excludeVisitor, null, sessionId, userCode);
        long currentTime = System.currentTimeMillis();
        for (Session session : sessions) {
            if (StringUtils.isNotBlank(userName) && ((String) session.getAttribute("userName")).contains(userName)) {
                continue;
            }
            if (StringUtils.isNotBlank(userType) && ((String) session.getAttribute("userType")).equals(userType)) {
                continue;
            }
            Map<String, Object> map = Maps.newLinkedHashMap();
            // 为了安全性,需要有权限的人才能看
            if (UserUtils.getSubject().isPermitted("sys:online:edit")) {
                map.put("id", session.getId().toString());
            }
            map.put("startTimestamp", DateUtils.formatDateTime(session.getStartTimestamp()));
            map.put("lastAccessTime", DateUtils.formatDateTime(session.getLastAccessTime()));
            map.put("timeout", TimeUtils.formatDateAgo(session.getTimeout() - (currentTime - session.getLastAccessTime().getTime())));
            PrincipalCollection pc = (PrincipalCollection) session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY);
            LoginInfo principal = (pc != null ? (LoginInfo) pc.getPrimaryPrincipal() : null);
            if (principal != null) {
                // principal.getId());
                map.put("userCode", session.getAttribute("userCode"));
                // principal.getName());
                map.put("userName", session.getAttribute("userName"));
                // ObjectUtils.toString(principal.getParam("userType")));
                map.put("userType", session.getAttribute("userType"));
                map.put("deviceType", ObjectUtils.toString(principal.getParam("deviceType")));
            }
            map.put("host", session.getHost());
            list.add(map);
        }
        // 本地排序
        if (StringUtils.isNotBlank(orderBy)) {
            final String[] ss = orderBy.trim().split(" ");
            if (ss != null && ss.length == 2) {
                Collections.sort(list, new Comparator<Map<String, Object>>() {

                    @Override
                    public int compare(Map<String, Object> o1, Map<String, Object> o2) {
                        String s1 = (String) o1.get(ss[0]);
                        String s2 = (String) o2.get(ss[0]);
                        if ("asc".equals(ss[1])) {
                            return s1.compareTo(s2);
                        } else {
                            return s2.compareTo(s1);
                        }
                    }
                });
            }
        }
        return list;
    }

    /**
     * 提出在线用户
     * @author ThinkGem
     */
    @RequiresPermissions("sys:online:edit")
    @RequestMapping(value = "tickOut")
    @ResponseBody
    public String tickOut(String sessionId) {
        Session session = sessionDAO.readSession(sessionId);
        if (session != null) {
            sessionDAO.delete(session);
            return renderResult(Global.TRUE, "踢出已成功!");
        }
        return renderResult(Global.FALSE, "踢出失败,没有找到该在线用户!");
    }
}

19 View Source File : CacheController.java
License : MIT License
Project Creator : Zo3i

/**
 * 缓存管理
 * @author ThinkGem
 * @version 20167-8-27
 */
@Controller
@RequestMapping(value = "${adminPath}/sys/cache")
public clreplaced CacheController extends BaseController {

    /**
     * 清理全部缓存,可清理属性文件里的缓存
     * @return
     */
    @RequiresPermissions("sys:config:edit")
    @RequestMapping(value = "clearAll")
    @ResponseBody
    public String clearAll() {
        CacheUtils.clearCache();
        UserUtils.clearCache();
        Global.clearCache();
        return renderResult(Global.TRUE, "清理缓存成功!");
    }
}

19 View Source File : ValidateCodeController.java
License : Apache License 2.0
Project Creator : zlt2000

/**
 * 验证码提供
 * @author zlt
 * @date 2018/12/18
 */
@Controller
public clreplaced ValidateCodeController {

    @Autowired
    private IValidateCodeService validateCodeService;

    /**
     * 创建验证码
     *
     * @throws Exception
     */
    @GetMapping(SecurityConstants.DEFAULT_VALIDATE_CODE_URL_PREFIX + "/{deviceId}")
    public void createCode(@PathVariable String deviceId, HttpServletResponse response) throws Exception {
        replacedert.notNull(deviceId, "机器码不能为空");
        // 设置请求头为输出图片类型
        CaptchaUtil.setHeader(response);
        // 三个参数分别为宽、高、位数
        GifCaptcha gifCaptcha = new GifCaptcha(100, 35, 4);
        // 设置类型:字母数字混合
        gifCaptcha.setCharType(Captcha.TYPE_DEFAULT);
        // 保存验证码
        validateCodeService.saveImageCode(deviceId, gifCaptcha.text().toLowerCase());
        // 输出图片流
        gifCaptcha.out(response.getOutputStream());
    }

    /**
     * 发送手机验证码
     * 后期要加接口限制
     *
     * @param mobile 手机号
     * @return R
     */
    @ResponseBody
    @GetMapping(SecurityConstants.MOBILE_VALIDATE_CODE_URL_PREFIX + "/{mobile}")
    public Result createCode(@PathVariable String mobile) {
        replacedert.notNull(mobile, "手机号不能为空");
        return validateCodeService.sendSmsCode(mobile);
    }
}

19 View Source File : JobApiController.java
License : Apache License 2.0
Project Creator : zlt2000

/**
 * Created by xuxueli on 17/5/10.
 */
@Controller
public clreplaced JobApiController implements InitializingBean {

    @Override
    public void afterPropertiesSet() throws Exception {
    }

    @RequestMapping(AdminBiz.MAPPING)
    @PermessionLimit(limit = false)
    public void api(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        XxlJobDynamicScheduler.invokeAdminService(request, response);
    }
}

19 View Source File : HomeController.java
License : Apache License 2.0
Project Creator : zlt2000

/**
 * @author zlt
 * @date 2020/2/22
 * <p>
 * Blog: https://zlt2000.gitee.io
 * Github: https://github.com/zlt2000
 */
@Controller
public clreplaced HomeController {

    @GetMapping("/")
    public String home(ModelMap modelMap, Authentication authentication) {
        OAuth2Authentication oauth2Authentication = (OAuth2Authentication) authentication;
        modelMap.put("username", oauth2Authentication.getName());
        modelMap.put("authorities", oauth2Authentication.getAuthorities());
        modelMap.put("clientId", oauth2Authentication.getOAuth2Request().getClientId());
        OAuth2AuthenticationDetails details = (OAuth2AuthenticationDetails) oauth2Authentication.getDetails();
        modelMap.put("token", details.getTokenValue());
        return "index";
    }
}

19 View Source File : MainController.java
License : Apache License 2.0
Project Creator : zipingdong

@Controller
public clreplaced MainController {

    private Map<String, File> readerPlugins = new HashMap<String, File>();

    private Map<String, File> writerPlugins = new HashMap<String, File>();

    @RequestMapping("index")
    public String showPlugins(ModelMap modelMap) throws FileNotFoundException {
        listPlugin(readerPlugins, new File(Constant.DATAX_READER_HOME));
        listPlugin(writerPlugins, new File(Constant.DATAX_WRITER_HOME));
        modelMap.put("readerPlugins", readerPlugins);
        modelMap.put("writerPlugins", writerPlugins);
        return "index";
    }

    private void listPlugin(Map<String, File> plugins, File dir) {
        for (File file : dir.listFiles()) {
            plugins.put(file.getName(), new File(file, "plugin_job_template.json"));
        }
    }
}

19 View Source File : IndexController.java
License : Apache License 2.0
Project Creator : ZimoLoveShuang

@Controller
public clreplaced IndexController {

    @RequestMapping(path = { "/", "/index", "/index.html" })
    public String index() {
        return "index";
    }
}

19 View Source File : UserController.java
License : Apache License 2.0
Project Creator : zifangsky

/**
 * 用户相关controller
 *
 * @author zifangsky
 * @date 2018/7/9
 * @since 1.0.0
 */
@Controller
@RequestMapping("/user")
public clreplaced UserController {

    /**
     * 用户首页
     * @author zifangsky
     * @date 2018/7/9 17:10
     * @since 1.0.0
     * @return java.lang.String
     */
    @RequestMapping("/userIndex")
    public String userIndex() {
        return "userIndex";
    }

    /**
     * 一个测试的受保护的页面
     * @author zifangsky
     * @date 2018/7/9 17:10
     * @since 1.0.0
     * @return java.lang.String
     */
    @RequestMapping("/protected")
    public String protectedPage() {
        return "protected";
    }
}

19 View Source File : UserController.java
License : Apache License 2.0
Project Creator : zifangsky

/**
 * 用户相关controller
 *
 * @author zifangsky
 * @date 2018/8/3
 * @since 1.0.0
 */
@Controller
public clreplaced UserController {

    @Resource(name = "userServiceImpl")
    private UserService userService;

    /**
     * 注册接口
     * @author zifangsky
     * @date 2018/8/3 11:13
     * @since 1.0.0
     * @return java.util.Map<java.lang.String,java.lang.Object>
     */
    @PostMapping(value = "/register", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ResponseBody
    public Map<String, Object> register(@RequestBody(required = true) User user) {
        Map<String, Object> result = new HashMap<>(2);
        boolean registerRet = userService.register(user);
        if (registerRet) {
            result.put("code", "200");
        } else {
            result.put("code", "500");
            result.put("msg", "注册失败");
        }
        return result;
    }

    /**
     * 登录页面
     * @author zifangsky
     * @date 2018/8/3 11:13
     * @since 1.0.0
     * @return org.springframework.web.servlet.ModelAndView
     */
    @RequestMapping("/login")
    public ModelAndView loginPage(HttpServletRequest request) {
        String redirectUrl = request.getParameter("redirectUri");
        if (StringUtils.isNoneBlank(redirectUrl)) {
            HttpSession session = request.getSession();
            // 将回调地址添加到session中
            session.setAttribute(Constants.SESSION_LOGIN_REDIRECT_URL, redirectUrl);
        }
        return new ModelAndView("login");
    }

    /**
     * 登录验证
     * @author zifangsky
     * @date 2018/8/3 11:13
     * @since 1.0.0
     * @return java.util.Map<java.lang.String,java.lang.Object>
     */
    @PostMapping("/check")
    @ResponseBody
    public Map<String, Object> check(HttpServletRequest request) {
        Map<String, Object> result = new HashMap<>(2);
        // 用户名
        String username = request.getParameter("username");
        // 密码
        String preplacedword = request.getParameter("preplacedword");
        if (StringUtils.isNoneBlank(username) && StringUtils.isNoneBlank(preplacedword)) {
            // 1. 登录验证
            Map<String, Object> checkMap = userService.checkLogin(username, preplacedword);
            Boolean loginResult = (Boolean) checkMap.get("result");
            User correctUser = (User) checkMap.get("user");
            // 登录验证通过
            if (loginResult != null && loginResult) {
                // 2. session中添加用户信息
                HttpSession session = request.getSession();
                session.setAttribute(Constants.SESSION_USER, correctUser);
                // 3. 返回给页面的数据
                result.put("code", 200);
                // 登录成功之后的回调地址
                String redirectUrl = (String) session.getAttribute(Constants.SESSION_LOGIN_REDIRECT_URL);
                session.removeAttribute(Constants.SESSION_LOGIN_REDIRECT_URL);
                if (StringUtils.isNoneBlank(redirectUrl)) {
                    result.put("redirect_uri", redirectUrl);
                }
            } else {
                if (correctUser.getStatus() == 0) {
                    result.put("msg", "该用户还未开通!");
                } else if (correctUser.getStatus() == 3) {
                    result.put("msg", "该用户已被管理员禁用!");
                } else {
                    result.put("msg", "用户名或密码错误!");
                }
            }
        } else {
            result.put("msg", "请求参数不能为空!");
        }
        return result;
    }

    /**
     * 注销
     * @author zifangsky
     * @date 2018/8/3 11:47
     * @since 1.0.0
     * @return org.springframework.web.servlet.ModelAndView
     */
    @RequestMapping("/logout")
    public ModelAndView logout(HttpServletRequest request) {
        HttpSession session = request.getSession();
        session.removeAttribute(Constants.SESSION_USER);
        return new ModelAndView("redirect:/login");
    }

    /**
     * 用户首页
     * @author zifangsky
     * @date 2018/8/3 11:13
     * @since 1.0.0
     * @return java.lang.String
     */
    @RequestMapping("/user/userIndex")
    public String userIndex() {
        return "userIndex";
    }
}

19 View Source File : LoginController.java
License : Apache License 2.0
Project Creator : zifangsky

/**
 * 登录
 * @author zifangsky
 * @date 2018/7/9
 * @since 1.0.0
 */
@Controller
public clreplaced LoginController {

    /**
     * 模拟登录验证
     * @author zifangsky
     * @date 2018/7/9 17:09
     * @since 1.0.0
     * @param username 用户名
     * @param preplacedword 密码
     * @return java.util.Map<java.lang.String,java.lang.Object>
     */
    @PostMapping("/check")
    @ResponseBody
    public Map<String, Object> test(@RequestParam(required = true) String username, @RequestParam(required = true) String preplacedword) {
        Map<String, Object> result = new HashMap<>(1);
        System.out.println(MessageFormat.format("用户名:{0},密码:{1}", username, preplacedword));
        // 模拟登录
        System.out.println("模拟登录流程");
        result.put("code", 200);
        return result;
    }

    /**
     * 用户首页
     * @author zifangsky
     * @date 2018/7/9 17:10
     * @since 1.0.0
     * @return java.lang.String
     */
    @RequestMapping("/userIndex")
    public String userIndex() {
        return "userIndex";
    }
}

19 View Source File : WeiXinPayTestController.java
License : Apache License 2.0
Project Creator : zhuoqianmingyue

@Controller
@RestController
@RequestMapping("/wx")
public clreplaced WeiXinPayTestController {

    private static final String UNIFIEDORDERURL = "https://api.mch.weixin.qq.com/pay/unifiedorder";

    private static final String GETSIGNKEYURL = "https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey";

    private static final String SANDBOXUNIFIEDORDERURL = "https://api.mch.weixin.qq.com/sandboxnew/pay/unifiedorder";

    private static final String ORDERQUERYURL = "https://api.mch.weixin.qq.com/pay/orderquery";

    @Autowired
    private WeiXinPayProperties weiXinPayProperties;

    @Autowired
    private RestTemplate restTemplate;

    /**
     * 正式支付
     * @return
     */
    @RequestMapping("/nativePay")
    public String nativePay() {
        /*配置微信支付基础信息参数*/
        Map<String, String> requestData = new HashMap<String, String>();
        // 公众账号ID
        requestData.put("appid", weiXinPayProperties.getAppid());
        // 商户号
        requestData.put("mch_id", weiXinPayProperties.getMchId());
        // 随机字符串 32位以内
        requestData.put("nonce_str", RandomUtil.randomString(15));
        // APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP。
        requestData.put("spbill_create_ip", "15.23.160.111");
        // 交易类型 扫码支付
        requestData.put("trade_type", "NATIVE");
        /*配置微信支付自定义支付信息参数*/
        requestData.put("attach", "附加数据远洋返回");
        // 商品简单描述
        requestData.put("body", "订单号 BW_000001");
        // 商户订单号
        requestData.put("out_trade_no", "BW_000001");
        // 标价金额 按照分进行计算
        requestData.put("total_fee", WeiXinUtil.getMoney("0.01"));
        // 通知地址 异步接收微信支付结果通知的回调地址必须外网访问 不能携带参数
        requestData.put("notify_url", "www.beiwaiclreplaced.com");
        /*配置微信支付sign信息参数*/
        String sign = null;
        String payUrl = null;
        if (Boolean.valueOf(weiXinPayProperties.getUseSandbox())) {
            // 生成签名
            sign = WeiXinUtil.generateSign(requestData, weiXinPayProperties.getKey());
            payUrl = UNIFIEDORDERURL;
        } else {
            // 生成签名
            sign = WeiXinUtil.generateSign(requestData, weiXinPayProperties.getSandboxKey());
            payUrl = SANDBOXUNIFIEDORDERURL;
        }
        requestData.put("sign", sign);
        /*将map信息转换成String*/
        String mapToXmlStr = XmlUtil.mapToXmlStr(requestData, "xml");
        /*调用微信统一下单Api将mapToXmlStr作为参数*/
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_XML);
        HttpEnreplacedy<String> formEnreplacedy = new HttpEnreplacedy<>(mapToXmlStr, headers);
        ResponseEnreplacedy<String> postForEnreplacedy = restTemplate.postForEnreplacedy(payUrl, formEnreplacedy, String.clreplaced);
        // 获取微信返回的信息
        String returnXmlString = postForEnreplacedy.getBody();
        Map<String, Object> xmlToMap = XmlUtil.xmlToMap(returnXmlString);
        String returnCode = (String) xmlToMap.get("return_code");
        if ("SUCCESS".equals(returnCode)) {
            String codeUrl = (String) xmlToMap.get("code_url");
            return codeUrl;
        }
        return "";
    }

    /**
     * 支付回调
     * @throws Exception
     */
    @RequestMapping("/wxNotify")
    public void wxNotify(HttpServletRequest request) throws Exception {
        Map<String, String> parseNotifyParameter = parseNotifyParameter(request);
        // 生成签名
        String sign = WeiXinUtil.generateSign(parseNotifyParameter, weiXinPayProperties.getKey());
        if (sign.equals(parseNotifyParameter.get("sign"))) {
        // 支付成功
        }
    }

    /**
     * @return
     */
    @RequestMapping("/query")
    public String query(String orderSn) {
        if (StringUtils.isBlank(orderSn)) {
            throw new RuntimeException("订单号不能为空!");
        }
        // 配置微信支付基础信息参数
        Map<String, String> requestData = new HashMap<String, String>();
        // 公众账号ID
        requestData.put("appid", weiXinPayProperties.getAppid());
        // 商户号
        requestData.put("mch_id", weiXinPayProperties.getMchId());
        // 随机字符串 32位以内
        requestData.put("nonce_str", RandomUtil.randomString(15));
        // 终端IP 支持IPV4和IPV6两种格式的IP地址 123.12.12.123
        requestData.put("spbill_create_ip", "127.0.0.1");
        // 配置微信支付查询订单号参数
        // 商户订单号
        requestData.put("out_trade_no", orderSn);
        // 配置微信支付查询sign信息参数
        // 生成签名
        String sign = WeiXinUtil.generateSign(requestData, weiXinPayProperties.getKey());
        requestData.put("sign", sign);
        // 将map信息转换成String
        String mapToXmlStr = XmlUtil.mapToXmlStr(requestData, "xml");
        // 调用微信统一下单Api 将xml的String信息作为参数
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_XML);
        HttpEnreplacedy<String> formEnreplacedy = new HttpEnreplacedy<>(mapToXmlStr, headers);
        ResponseEnreplacedy<String> postForEnreplacedy = restTemplate.postForEnreplacedy(ORDERQUERYURL, formEnreplacedy, String.clreplaced);
        // 获取微信返回的信息
        String returnXmlString = postForEnreplacedy.getBody();
        Map<String, Object> xmlToMap = XmlUtil.xmlToMap(returnXmlString);
        String returnCode = (String) xmlToMap.get("return_code");
        if ("SUCCESS".equals(returnCode)) {
            return "支付成功!";
        } else {
            return "";
        }
    }

    /**
     * 获取沙箱环境验签秘钥API
     * https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=23_1
     * @return
     * @throws Exception
     */
    @RequestMapping("/getSignKey")
    public Map<String, Object> getSignKey() throws Exception {
        Map<String, String> requestData = new HashMap<>();
        requestData.put("appid", weiXinPayProperties.getAppid());
        requestData.put("mch_id", weiXinPayProperties.getMchId());
        requestData.put("nonce_str", RandomUtil.randomString(15));
        // 生成签名
        String sign = WeiXinUtil.generateSign(requestData, weiXinPayProperties.getKey());
        requestData.put("sign", sign);
        String mapToXmlStr = XmlUtil.mapToXmlStr(requestData, "xml");
        // 调用微信统一下单Api 将xml的String信息作为参数
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_XML);
        HttpEnreplacedy<String> formEnreplacedy = new HttpEnreplacedy<>(mapToXmlStr, headers);
        ResponseEnreplacedy<String> postForEnreplacedy = restTemplate.postForEnreplacedy(GETSIGNKEYURL, formEnreplacedy, String.clreplaced);
        String returnXmlString = postForEnreplacedy.getBody();
        Map<String, Object> responseMap = XmlUtil.xmlToMap(returnXmlString);
        return responseMap;
    }

    /**
     * 从request的inputStream中获取参数
     * @param request
     * @return
     * @throws Exception
     */
    public Map<String, String> parseNotifyParameter(HttpServletRequest request) throws Exception {
        InputStream inputStream = request.getInputStream();
        ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int length = 0;
        while ((length = inputStream.read(buffer)) != -1) {
            outSteam.write(buffer, 0, length);
        }
        outSteam.close();
        inputStream.close();
        // 获取微信调用我们notify_url的返回信息
        String resultXml = new String(outSteam.toByteArray(), "utf-8");
        Map<String, String> notifyMap = WeiXinUtil.xmlToMap(resultXml);
        return notifyMap;
    }
}

19 View Source File : ProductController.java
License : Apache License 2.0
Project Creator : zhuoqianmingyue

@Controller
public clreplaced ProductController {

    @Autowired
    private LocaleResolver localeResolver;

    private ProductService productService = new ProductService();

    @RequestMapping("/")
    public String useT(Model model, HttpServletRequest request, HttpServletResponse response) {
        // 获取所有的商品
        List<Product> allProducts = productService.findAll();
        model.addAttribute("prods", allProducts);
        // 获取当前日期
        model.addAttribute("today", Calendar.getInstance());
        // 设置访问用户信息到session
        request.getSession(true).setAttribute("user", new User("桌前", "明月", "CHINA", null));
        localeResolver.setLocale(request, response, Locale.CHINA);
        return "productList";
    }
}

19 View Source File : LayoutController.java
License : Apache License 2.0
Project Creator : zhuoqianmingyue

@Controller
@RequestMapping("/layout")
public clreplaced LayoutController {

    @RequestMapping("/index")
    public String index(Model model) {
        return "/layout/index";
    }

    @RequestMapping("/index2")
    public String index2(Model model) {
        return "/layout/index2";
    }
}

19 View Source File : ThymeleafHelloWrodController.java
License : Apache License 2.0
Project Creator : zhuoqianmingyue

@Controller
@RequestMapping("/hello")
public clreplaced ThymeleafHelloWrodController {

    @RequestMapping("/thymeleaf")
    public String helloThymeleaf(Model model) {
        model.addAttribute("hello", "hello Thymeleaf!");
        return "hello/index";
    }
}

19 View Source File : CourseController.java
License : Apache License 2.0
Project Creator : zhuoqianmingyue

@Controller
@RequestMapping("/course")
public clreplaced CourseController {

    @RequestMapping("/th")
    public String th(Model model) {
        String msg = "<h1>我是h1</h1>";
        model.addAttribute("msg", msg);
        model.addAttribute("a", 1);
        model.addAttribute("b", 2);
        model.addAttribute("flag", true);
        User user = new User("ljk", 23);
        model.addAttribute("user", user);
        return "/course/th";
    }

    @RequestMapping("/thif")
    public String thif(Model model) {
        model.addAttribute("flag", true);
        return "/course/thif";
    }

    @RequestMapping("/thswitch")
    public String thswitch(Model model) {
        User user = new User("ljk", 23);
        model.addAttribute("user", user);
        return "/course/thswitch";
    }

    @RequestMapping("/theach")
    public String theach(Model model) {
        List<User> userList = new ArrayList<User>();
        User user1 = new User("ljk", 18);
        User user2 = new User("ljk2", 19);
        User user3 = new User("ljk3", 20);
        User user4 = new User("lj4", 21);
        userList.add(user1);
        userList.add(user2);
        userList.add(user3);
        userList.add(user4);
        model.addAttribute("userList", userList);
        List<String> strList = new ArrayList<String>();
        strList.add("ljk");
        strList.add("ljk2");
        strList.add("ljk3");
        strList.add("lj4");
        model.addAttribute("strList", strList);
        return "/course/theach";
    }

    @RequestMapping("/dates")
    public String dates(Model model) throws ParseException {
        Date date = new Date();
        model.addAttribute("date", date);
        String dateStr = "2018-05-30";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date2 = sdf.parse(dateStr);
        Date[] datesArray = new Date[2];
        datesArray[0] = date;
        datesArray[1] = date2;
        model.addAttribute("datesArray", datesArray);
        List<Date> datesList = new ArrayList<Date>();
        datesList.add(date);
        datesList.add(date2);
        model.addAttribute("datesList", datesList);
        return "/course/dates";
    }

    @RequestMapping("/numbers")
    public String numbers(Model model) throws ParseException {
        List<Integer> numList = new ArrayList<Integer>();
        numList.add(1);
        numList.add(12);
        numList.add(13);
        model.addAttribute("numList", numList);
        return "/course/numbers";
    }

    @RequestMapping("/strings")
    public String strings(Model model) {
        Object object = "123";
        model.addAttribute("object", object);
        List<Integer> numList = new ArrayList<Integer>();
        numList.add(1);
        numList.add(12);
        numList.add(13);
        model.addAttribute("numList", numList);
        String name = null;
        model.addAttribute("name", name);
        String[] nameArr = { null, "1", null };
        model.addAttribute("textArray", nameArr);
        List<String> nameList = new ArrayList<String>();
        nameList.add("1");
        nameList.add(null);
        model.addAttribute("nameList", nameList);
        Set<String> nameSet = new HashSet<String>();
        nameSet.add(null);
        nameSet.add("1");
        model.addAttribute("nameSet", nameSet);
        String text = null;
        model.addAttribute("text", text);
        String[] textArr = { "abc" };
        model.addAttribute("textArry", textArr);
        List<String> textList = new ArrayList<String>();
        textList.add("abc");
        textList.add(null);
        model.addAttribute("textList", textList);
        Set<String> textSet = new HashSet<String>();
        textSet.add("abc");
        textSet.add("");
        textSet.add("default");
        model.addAttribute("textSet", textSet);
        String[] namesArray = { "a", "b", "c" };
        model.addAttribute("namesArray", namesArray);
        List<String> namesList = new ArrayList<String>();
        namesList.add("a");
        namesList.add("b");
        namesList.add("c");
        model.addAttribute("namesList", namesList);
        Set<String> namesSet = new HashSet<String>();
        namesSet.add("a");
        namesSet.add("b");
        namesSet.add("c");
        model.addAttribute("namesSet", namesSet);
        return "/course/strings";
    }

    @RequestMapping("/objects")
    public String objects(Model model) {
        Object obj = null;
        model.addAttribute("obj", obj);
        Object[] objArray = { "abc" };
        model.addAttribute("objArray", objArray);
        List<String> objList = new ArrayList();
        objList.add("1");
        objList.add(null);
        objList.add("2");
        model.addAttribute("objList", objList);
        Set<String> objSet = new HashSet();
        objSet.add("1");
        objSet.add(null);
        objSet.add("2");
        model.addAttribute("objSet", objSet);
        return "/course/objects";
    }

    @RequestMapping("/bools")
    public String bools(Model model) {
        return "/course/bools";
    }

    @RequestMapping("/arrays")
    public String arrays(Model model) {
        List<String> object = new ArrayList<String>();
        object.add("1");
        object.add("2");
        model.addAttribute("object", object);
        Integer[] array = { 1, 2, 3 };
        model.addAttribute("array", array);
        Integer[] array2 = { 1, 3 };
        model.addAttribute("array2", array2);
        return "/course/arrays";
    }

    @RequestMapping("/lists")
    public String lists(Model model) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(3);
        list.add(2);
        model.addAttribute("list", list);
        List<Integer> list2 = new ArrayList<Integer>();
        list2.add(1);
        list2.add(2);
        model.addAttribute("list2", list2);
        return "/course/lists";
    }

    @RequestMapping("/sets")
    public String sets(Model model) {
        Set<Integer> set = new HashSet<Integer>();
        set.add(1);
        set.add(2);
        set.add(3);
        set.add(4);
        model.addAttribute("set", set);
        Integer[] elements = { 1, 2 };
        model.addAttribute("elements", elements);
        return "/course/sets";
    }

    @RequestMapping("/maps")
    public String maps(Model model) {
        Map<String, Integer> map = new HashMap<String, Integer>();
        map.put("1", 1);
        map.put("2", 2);
        map.put("3", 3);
        model.addAttribute("map", map);
        String[] keys = { "1", "2" };
        model.addAttribute("keys", keys);
        Integer[] values = { 1, 2 };
        model.addAttribute("values", values);
        return "/course/maps";
    }

    @RequestMapping("/aggregates")
    public String aggregates(Model model) {
        Integer[] array = { 1, 2, 3, 4 };
        model.addAttribute("array", array);
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        model.addAttribute("list", list);
        return "/course/aggregates";
    }

    @RequestMapping("/ids")
    public String ids(Model model) {
        return "/course/ids";
    }

    @RequestMapping("/threeElementOperation")
    public String threeElementOperation(Model model) {
        model.addAttribute("name", "ljk");
        return "/course/threeElementOperation";
    }

    @RequestMapping("/elvis")
    public String elvis(Model model) {
        model.addAttribute("age", null);
        model.addAttribute("age2", 18);
        return "/course/elvis";
    }

    @RequestMapping("/noOperation")
    public String noOperation(Model model) {
        model.addAttribute("name", null);
        return "/course/noOperation";
    }

    @RequestMapping("/thhref")
    public String thhref(Model model) {
        return "/course/thhref";
    }

    @RequestMapping("/thclreplaced")
    public String thclreplaced(Model model) {
        return "/course/thclreplaced";
    }

    @RequestMapping("/thattr")
    public String thattr(Model model) {
        return "/course/thattr";
    }

    @RequestMapping("/thvalue")
    public String thvalue(Model model) {
        model.addAttribute("name", "ljk");
        return "/course/thvalue";
    }

    @RequestMapping("/thaction")
    public String thaction(Model model) {
        return "/course/thaction";
    }

    @RequestMapping("/thid")
    public String thid(Model model) {
        model.addAttribute("id", 123);
        return "/course/thid";
    }

    @RequestMapping("/thonclick")
    public String honclick(Model model) {
        return "/course/thonclick";
    }

    @RequestMapping("/thselected")
    public String thselected(Model model) {
        model.addAttribute("sex", 1);
        return "/course/thselected";
    }

    @RequestMapping("/thsrc")
    public String thsrc(Model model) {
        return "/course/thsrc";
    }

    @RequestMapping("/thstyle")
    public String thstyle(Model model) {
        model.addAttribute("isShow", true);
        return "/course/thstyle";
    }

    @RequestMapping("/thwith")
    public String thwith(Model model) {
        model.addAttribute("today", new Date());
        List<User> users = new ArrayList<User>();
        users.add(new User("ljk", 18));
        users.add(new User("ljk2", 18));
        model.addAttribute("users", users);
        return "/course/thwith";
    }
}

19 View Source File : JspController.java
License : Apache License 2.0
Project Creator : zhuoqianmingyue

@Controller
@RequestMapping()
public clreplaced JspController {

    @RequestMapping("/jsp")
    public String toJps(Model model) {
        model.addAttribute("welcome", "不建议使用jsp");
        return "welcome";
    }
}

19 View Source File : IndexController.java
License : Apache License 2.0
Project Creator : zhuoqianmingyue

@Controller
public clreplaced IndexController {

    @GetMapping("/index")
    public String index(ModelAndView modelAndView) {
        return "index";
    }
}

19 View Source File : HelloWorldController.java
License : Apache License 2.0
Project Creator : zhuoqianmingyue

@Controller
@RequestMapping("/hello")
public clreplaced HelloWorldController {

    @RequestMapping("/test")
    public String test(Model model) {
        model.addAttribute("msg", "SpringBoot With Freemark hello world!");
        return "test/helloworld";
    }
}

19 View Source File : LoginController.java
License : GNU General Public License v3.0
Project Creator : zhshuixian

/**
 * @author xian
 */
@Controller
public clreplaced LoginController {

    @RequestMapping("/login")
    public String login() {
        return "login";
    }

    @RequestMapping("/login-error")
    public String loginError(Model model) {
        // 登录错误
        model.addAttribute("error", true);
        return "login";
    }
}

19 View Source File : AdminController.java
License : GNU General Public License v3.0
Project Creator : zhshuixian

/**
 * @author xian
 */
@Controller
public clreplaced AdminController {

    @PreAuthorize("hasRole('ADMIN')")
    @RequestMapping("/admin")
    public String admin() {
        return "admin";
    }
}

19 View Source File : SysLoginInfoController.java
License : GNU Affero General Public License v3.0
Project Creator : zhouhuan751312

/**
 * 登陆日志控制器
 * @author zhouzhou
 * @date 2018-03-13 15:15
 */
@Controller
@RequestMapping("/sys/logininfo")
public clreplaced SysLoginInfoController extends BaseController {

    private String urlPrefix = "modules/log";

    @Autowired
    private SysLoginInfoSerice sysLoginInfoService;

    @RequiresPermissions("sys:logininfo:view")
    @GetMapping()
    public String indfo() {
        return urlPrefix + "/logininfo";
    }

    /**
     * 列表
     */
    @RequestMapping("/list")
    @RequiresPermissions("sys:logininfo:list")
    @ResponseBody
    public ResponseData list(@RequestParam Map<String, Object> params) {
        PageUtil page = sysLoginInfoService.findPage(params);
        return success(page);
    }

    @RequestMapping("/del")
    @BussinessLog(replacedle = "登陆日志", businessType = BusinessType.DELETE)
    @RequiresPermissions("sys:logininfo:del")
    @ResponseBody
    public ResponseData del(Long[] ids) {
        return sysLoginInfoService.deleteBatchByIds(ids) ? success() : error("删除失败!");
    }

    @BussinessLog(replacedle = "登陆日志", businessType = BusinessType.CLEAN)
    @RequiresPermissions("sys:logininfo:clean")
    @PostMapping("/clean")
    @ResponseBody
    @RepeatSubmit
    public ResponseData clean() {
        return sysLoginInfoService.cleanLog() ? success() : error("清空失败!");
    }
}

19 View Source File : SysLogController.java
License : GNU Affero General Public License v3.0
Project Creator : zhouhuan751312

/**
 * 系统操作日志
 */
@Controller
@RequestMapping("/sys/operlog")
public clreplaced SysLogController extends BaseController {

    private String urlPrefix = "modules/log";

    @Autowired
    private SysOperLogSerice sysOperLogSerice;

    @RequiresPermissions("sys:log:view")
    @GetMapping()
    public String operlog() {
        return urlPrefix + "/operlog";
    }

    /**
     * 列表
     */
    @ResponseBody
    @RequestMapping("/list")
    @RequiresPermissions("sys:log:list")
    public ResponseData list(@RequestParam Map<String, Object> params) {
        PageUtil page = sysOperLogSerice.findPage(params);
        return success(page);
    }

    @RequiresPermissions("sys:log:detail")
    @GetMapping("/detail/{operId}")
    public String detail(@PathVariable("operId") Long operId, ModelMap mmap) {
        mmap.put("sysLog", sysOperLogSerice.getById(operId));
        return urlPrefix + "/detail";
    }

    @BussinessLog(replacedle = "操作日志", businessType = BusinessType.CLEAN)
    @RequiresPermissions("sys:log:clean")
    @PostMapping("/clean")
    @ResponseBody
    @RepeatSubmit
    public ResponseData clean() {
        return sysOperLogSerice.cleanLog() ? success() : error("清空失败!");
    }

    @RequestMapping("/del")
    @BussinessLog(replacedle = "操作日志", businessType = BusinessType.DELETE)
    @RequiresPermissions("sys:log:del")
    @ResponseBody
    public ResponseData del(Long[] ids) {
        return sysOperLogSerice.removeByIds(Arrays.asList(ids)) ? success() : error("删除失败!");
    }
}

19 View Source File : SysJobLogController.java
License : GNU Affero General Public License v3.0
Project Creator : zhouhuan751312

/**
 * 定时任务日志控制器
 * @author zhouzhou
 * @date 2020-03-08 20:52
 */
@Controller
@RequestMapping("/sys/jobLog")
public clreplaced SysJobLogController extends BaseController {

    private String urlPrefix = "modules/sys/job";

    @Autowired
    private SysJobLogService sysJobLogService;

    @RequiresPermissions("sys:job:loglist")
    @GetMapping()
    public String jobLog() {
        return urlPrefix + "/jobLog";
    }

    /**
     * 定时任务日志列表
     */
    @RequestMapping("/list")
    @ResponseBody
    @RequiresPermissions("sys:job:loglist")
    public ResponseData list(@RequestParam Map<String, Object> params) {
        PageUtil page = sysJobLogService.findPage(params);
        return success(page);
    }

    /**
     * 定时任务日志信息
     */
    @RequestMapping("/info/{logId}")
    public ResponseData info(@PathVariable("logId") Long logId) {
        SysJobLogEnreplacedy log = sysJobLogService.getById(logId);
        return success().put("log", log);
    }

    @BussinessLog(replacedle = "调度日志", businessType = BusinessType.CLEAN)
    @RequiresPermissions("sys:joblog:clean")
    @PostMapping("/clean")
    @ResponseBody
    @RepeatSubmit
    public ResponseData clean() {
        return sysJobLogService.cleanJobLog() ? success() : error("清空失败!");
    }

    /**
     * 删除定时任务
     */
    @BussinessLog(replacedle = "调度日志", businessType = BusinessType.DELETE)
    @RequestMapping(value = "/del", method = RequestMethod.POST)
    @RequiresPermissions("sys:joblog:del")
    @ResponseBody
    @RepeatSubmit
    public ResponseData del(Long[] ids) {
        return sysJobLogService.deleteBatchByIds(ids) ? success() : error("删除失败!");
    }
}

19 View Source File : IconGentroller.java
License : GNU Affero General Public License v3.0
Project Creator : zhouhuan751312

/**
 * @ClreplacedName: IconGentroller
 * @Package: com.j2eefast.generator.gen.controller
 * @Description: (用一句话描述该文件做什么)
 * @author: zhouzhou Emall:[email protected]
 * @time 2020/2/5 19:54
 * @version V1.0
 */
@Controller
@RequestMapping("/tool/icon")
public clreplaced IconGentroller extends BaseController {

    private String urlPrefix = "modules/tool/icon";

    @RequiresPermissions("tool:icon:view")
    @GetMapping()
    public String icon() {
        return urlPrefix + "/icon";
    }
}

19 View Source File : ExampleTestController.java
License : GNU Affero General Public License v3.0
Project Creator : zhouhuan751312

/**
 * 代码生成范例页面控制器
 * @author ZhouZhou
 * @date 2020-08-07 11:33
 */
@Controller
@RequestMapping("/gen/test")
public clreplaced ExampleTestController extends BaseController {

    private String prefix = "modules/gen/test";

    @Autowired
    private ExampleTestService exampleTestService;

    @RequiresPermissions("gen:test:view")
    @GetMapping()
    public String test() {
        return prefix + "/test";
    }

    @RequestMapping("/list")
    @RequiresPermissions("gen:test:list")
    @ResponseBody
    public ResponseData list(@RequestParam Map<String, Object> params, ExampleTestEnreplacedy exampleTestEnreplacedy) {
        PageUtil page = exampleTestService.findPage(params, exampleTestEnreplacedy);
        return success(page);
    }

    @GetMapping("/add")
    public String add(ModelMap mmap) {
        return prefix + "/add";
    }

    /**
     * 新增
     */
    @RepeatSubmit
    @RequiresPermissions("gen:test:add")
    @BussinessLog(replacedle = "代码生成范例", businessType = BusinessType.INSERT)
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    @ResponseBody
    public ResponseData addExampleTest(@Validated ExampleTestEnreplacedy exampleTest) {
        // 校验参数
        ValidatorUtil.validateEnreplacedy(exampleTest);
        return exampleTestService.addExampleTest(exampleTest) ? success() : error("新增失败!");
    }

    /**
     * 修改
     */
    @RequiresPermissions("gen:test:edit")
    @GetMapping("/edit/{id}")
    public String edit(@PathVariable("id") Long id, ModelMap mmap) {
        ExampleTestEnreplacedy exampleTest = exampleTestService.findExampleTestById(id);
        mmap.put("exampleTest", exampleTest);
        return prefix + "/edit";
    }

    /**
     * 修改保存代码生成范例
     */
    @RepeatSubmit
    @RequiresPermissions("gen:test:edit")
    @BussinessLog(replacedle = "代码生成范例", businessType = BusinessType.UPDATE)
    @RequestMapping(value = "/edit", method = RequestMethod.POST)
    @ResponseBody
    public ResponseData editExampleTest(ExampleTestEnreplacedy exampleTest) {
        ValidatorUtil.validateEnreplacedy(exampleTest);
        return exampleTestService.updateExampleTestById(exampleTest) ? success() : error("修改失败!");
    }

    /**
     * 删除
     */
    @RepeatSubmit
    @BussinessLog(replacedle = "代码生成范例", businessType = BusinessType.DELETE)
    @RequestMapping(value = "/del", method = RequestMethod.POST)
    @RequiresPermissions("gen:test:del")
    @ResponseBody
    public ResponseData del(Long[] ids) {
        return exampleTestService.delExampleTestByIds(ids) ? success() : error("删除失败!");
    }
}

19 View Source File : SysPostController.java
License : GNU Affero General Public License v3.0
Project Creator : zhouhuan751312

/**
 * @ClreplacedName: 岗位信息Controller
 * @Package: com.j2eefast.framework.sys
 * @Description: sys_post
 * @author: zhouzhou
 * @time 2020-02-28
 */
@Controller
@RequestMapping("/sys/post")
public clreplaced SysPostController extends BaseController {

    private String urlPrefix = "modules/sys/post";

    @Autowired
    private SysPostService sysPostService;

    @RequiresPermissions("sys:post:view")
    @GetMapping()
    public String post() {
        return urlPrefix + "/post";
    }

    @RequestMapping("/list")
    @RequiresPermissions("sys:post:list")
    @ResponseBody
    public ResponseData list(@RequestParam Map<String, Object> params) {
        PageUtil page = sysPostService.findPage(params);
        return success(page);
    }

    /**
     * 新增参数配置
     */
    @GetMapping("/add")
    public String add() {
        return urlPrefix + "/add";
    }

    /**
     * 新增保存岗位信息
     */
    @RepeatSubmit
    @RequiresPermissions("sys:post:add")
    @BussinessLog(replacedle = "岗位信息", businessType = BusinessType.INSERT)
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    @ResponseBody
    public ResponseData addSave(@Validated SysPostEnreplacedy sysPost) {
        // 校验参数
        ValidatorUtil.validateEnreplacedy(sysPost);
        sysPostService.save(sysPost);
        return success();
    }

    /**
     * 修改岗位信息 页面
     */
    @RequiresPermissions("sys:post:edit")
    @GetMapping("/edit/{postId}")
    public String edit(@PathVariable("postId") Long postId, ModelMap mmap) {
        SysPostEnreplacedy sysPost = sysPostService.getById(postId);
        mmap.put("sysPost", sysPost);
        return urlPrefix + "/edit";
    }

    /**
     * 修改保存岗位信息
     */
    @RepeatSubmit
    @RequiresPermissions("sys:post:edit")
    @BussinessLog(replacedle = "岗位信息", businessType = BusinessType.UPDATE)
    @RequestMapping(value = "/edit", method = RequestMethod.POST)
    @ResponseBody
    public ResponseData editSave(SysPostEnreplacedy sysPost) {
        ValidatorUtil.validateEnreplacedy(sysPost);
        return sysPostService.updateById(sysPost) ? success() : error("修改失败!");
    }

    /**
     * 删除岗位信息
     */
    @RepeatSubmit
    @BussinessLog(replacedle = "岗位信息", businessType = BusinessType.DELETE)
    @RequestMapping(value = "/del", method = RequestMethod.POST)
    @RequiresPermissions("sys:post:del")
    @ResponseBody
    public ResponseData delete(Long[] ids) {
        return sysPostService.deleteBatchByIds(ids) ? success() : error("删除失败!");
    }
}

See More Examples