当前位置: 首页 > news >正文

广告传媒建设网站网站推广的技术有哪些

广告传媒建设网站,网站推广的技术有哪些,宣传片制作合同模板,php网站建设全程实例前言#xff1a;公共字段自动填充实现#xff0c;删除业务逻辑实现 一、公共字段自动填充 1.1 问题分析 1.2 代码实现 1.2.1 修改实体类Employee package com.runa.reggie.entity;import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.… 前言公共字段自动填充实现删除业务逻辑实现 一、公共字段自动填充 1.1 问题分析 1.2 代码实现 1.2.1 修改实体类Employee package com.runa.reggie.entity;import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import java.io.Serializable; import java.time.LocalDateTime;Data public class Employee implements Serializable {private static final long serialVersionUID 1L;private Long id;private String username;private String name;private String password;private String phone;private String sex;private String idNumber;private Integer status;TableField(fill FieldFill.INSERT) //插入时更新字段private LocalDateTime createTime;TableField(fill FieldFill.INSERT_UPDATE) //插入和更新时更新字段private LocalDateTime updateTime;TableField(fill FieldFill.INSERT)private Long createUser;TableField(fill FieldFill.INSERT_UPDATE)private Long updateUser;}1.2.2 MyMetaObjectHandler package com.runa.reggie.common;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component;import java.time.LocalDateTime;Slf4j Component public class MyMetaObjectHandler implements MetaObjectHandler {/*** 插入操作自动填充* param metaObject*/Overridepublic void insertFill(MetaObject metaObject) {log.info(公共字段自动填充[insert]...);log.info(metaObject.toString());metaObject.setValue(createTime, LocalDateTime.now());metaObject.setValue(updateTime, LocalDateTime.now());metaObject.setValue(createUser, new Long(1) );metaObject.setValue(updateUser, new Long(1));}/*** 更新操作自动填充* param metaObject*/Overridepublic void updateFill(MetaObject metaObject) {log.info(公共字段自动填充[update]...);log.info(metaObject.toString());metaObject.setValue(updateTime, LocalDateTime.now());metaObject.setValue(updateUser, new Long(1));} }1.2.3 EmployeeController将新增、修改方法当中的公共字段赋值注释掉  package com.runa.reggie.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.runa.reggie.common.R; import com.runa.reggie.entity.Employee; import com.runa.reggie.service.impl.EmployeeServcie; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.DigestUtils; import org.apache.commons.lang.StringUtils; import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletRequest; import java.time.LocalDateTime;Slf4j RestController RequestMapping(/employee) public class EmployeeController {Autowiredprivate EmployeeServcie employeeServcie;/*** 员工登录* param request* param employee* return*///HttpServletRequest request 是为了将登录对象塞入sessionPostMapping(/login)public REmployee login(HttpServletRequest request, RequestBody Employee employee){//1、将页面提交的密码password进行md5加密处理String password employee.getPassword();password DigestUtils.md5DigestAsHex(password.getBytes());//2、根据页面提交的用户名username查询数据库LambdaQueryWrapperEmployee queryWrapper new LambdaQueryWrapper();queryWrapper.eq(Employee::getUsername,employee.getUsername());Employee emp employeeServcie.getOne(queryWrapper);//3、如果没有查询到则返回登录失败结果if(emp null){return R.error(登录失败);}//4、密码比对如果不一致则返回登录失败结果if(!emp.getPassword().equals(password)){return R.error(登录失败);}//5、查看员工状态如果为已禁用状态则返回员工已禁用结果if(emp.getStatus() 0){return R.error(账号已禁用);}//6、登录成功将员工id存入Session并返回登录成功结果request.getSession().setAttribute(employee,emp.getId());return R.success(emp);}PostMapping(/logout)public RString logout(HttpServletRequest request){// 清理Session 中保存的当前员工的idrequest.getSession().removeAttribute(emplyee);return R.success(退出成功);}PostMappingpublic RString save(HttpServletRequest request, RequestBody Employee employee){log.info(新增员工员工信息为:{},employee.toString());// 设置初始密码123456需要进行md5加密处理employee.setPassword(DigestUtils.md5DigestAsHex(123456.getBytes()));// employee.setCreateTime(LocalDateTime.now()); // employee.setUpdateTime(LocalDateTime.now()); // //获得当前用户的id // Long empId (Long) request.getSession().getAttribute(employee); // employee.setCreateUser(empId); // employee.setUpdateUser(empId);employeeServcie.save(employee);return R.success(新增员工成功);}/*** 员工信息分页查询* param page* param pageSize* param name* return*/GetMapping(/page)public RPage page(int page, int pageSize,String name){log.info(page {}, pageSize {}, name {},page, pageSize, name);// 构造分页构造器Page pageInfo new Page(page, pageSize);//构造条件构造器LambdaQueryWrapperEmployee queryWrapper new LambdaQueryWrapper();// 添加过滤条件//当传入的name不为空的时候才会添加条件queryWrapper.like(StringUtils.isNotEmpty(name),Employee::getName,name);// 添加排序条件queryWrapper.orderByDesc(Employee::getUpdateTime);//执行查询employeeServcie.page(pageInfo, queryWrapper);return R.success(pageInfo);}/*** 根据ID修改员工信息* param employee* return*/PutMappingpublic RString update(HttpServletRequest request, RequestBody Employee employee){log.info(employee.toString());// Long empId (Long) request.getSession().getAttribute(employee); // employee.setUpdateUser(empId); // employee.setUpdateTime(LocalDateTime.now());employeeServcie.updateById(employee);return R.success(员工信息修改成功);}GetMapping(/{id})public REmployee GetById(PathVariable Long id){log.info(根据id查询员工{},id);Employee employee employeeServcie.getById(id);if(employee ! null){return R.success(employee);}return R.error(没有查询到对应员工信息);}}1.3 功能测试 1.4 功能完善 1.4.1 BaseContext  package com.runa.reggie.common;public class BaseContext {private static ThreadLocalLong threadLocal new ThreadLocal();public static void setCurrentId(Long id){threadLocal.set(id);}public static Long getCurrent(){return threadLocal.get();} }1.4.2 LoginCheckFilter优化将用户id塞进线程 package com.runa.reggie.filter;import com.alibaba.fastjson.JSON; import com.runa.reggie.common.BaseContext; import com.runa.reggie.common.R; import lombok.extern.slf4j.Slf4j; import org.springframework.util.AntPathMatcher;import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;Slf4j WebFilter(filterName loginCheckFilter, urlPatterns /*) public class LoginCheckFilter implements Filter {// 路径匹配器public static final AntPathMatcher PATH_MATCHER new AntPathMatcher();Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletRequest request (HttpServletRequest) servletRequest;HttpServletResponse response (HttpServletResponse) servletResponse;// 1 获取本次请求的URI// request.getRequestURL()返回的是全路径。// request.getRequestURI()返回的是除去协议域名IP端口号之后的路由部分。String requestURI request.getRequestURI();log.info(拦截到请求【{}】,requestURI);// 定义一些不需要处理的路径String[] urls new String[]{/employee/login, // 登录不需要/employee/logout,/backend/**,/front/**};// 2 判断本次请求是否需要处理boolean check check(urls, requestURI);// 3 如果不需要处理,则直接放行if(check){log.info(本次请求【 {} 】 不需要处理,requestURI);filterChain.doFilter(request,response);return;}// 4 判断登录状态如果已登录则直接放行if(request.getSession().getAttribute(employee) ! null){log.info(用户已登录请求url为【{}】, 用户id为:【 {} 】 ,requestURI,request.getSession().getAttribute(employee));// 获取ID 塞进线程Long empId (Long) request.getSession().getAttribute(employee);BaseContext.setCurrentId(empId);filterChain.doFilter(request,response);return;}log.info(用户未登录);// 5 如果未登录则返回未登录结果通过输出流方式向客户端页面响应数据response.getWriter().write(JSON.toJSONString(R.error(NOTLOGIN)));return;}/*** 路径匹配检查本次请求是否需要放行* param urls* param requestURI* return*/public boolean check(String[] urls, String requestURI){for (String url : urls) {boolean match PATH_MATCHER.match(url, requestURI);if(match){return true;}}// 循环都匹配不上就返回falsereturn false;} }1.4.3 MyMetaObjectHandler  package com.runa.reggie.common;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component;import java.time.LocalDateTime;Slf4j Component public class MyMetaObjectHandler implements MetaObjectHandler {/*** 插入操作自动填充* param metaObject*/Overridepublic void insertFill(MetaObject metaObject) {log.info(公共字段自动填充[insert]...);log.info(metaObject.toString());metaObject.setValue(createTime, LocalDateTime.now());metaObject.setValue(updateTime, LocalDateTime.now());metaObject.setValue(createUser, BaseContext.getCurrent());metaObject.setValue(updateUser, BaseContext.getCurrent());}/*** 更新操作自动填充* param metaObject*/Overridepublic void updateFill(MetaObject metaObject) {log.info(公共字段自动填充[update]...);log.info(metaObject.toString());metaObject.setValue(updateTime, LocalDateTime.now());metaObject.setValue(updateUser, BaseContext.getCurrent());} }二、新增分类 2.1 需求分析 2.2 数据模型 2.3 代码实现 2.3.1 实体类Category package com.runa.reggie.entity;import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import lombok.Getter; import lombok.Setter; import java.io.Serializable; import java.time.LocalDateTime;/*** 分类*/ Data public class Category implements Serializable {private static final long serialVersionUID 1L;private Long id;//类型 1 菜品分类 2 套餐分类private Integer type;//分类名称private String name;//顺序private Integer sort;//创建时间TableField(fill FieldFill.INSERT)private LocalDateTime createTime;//更新时间TableField(fill FieldFill.INSERT_UPDATE)private LocalDateTime updateTime;//创建人TableField(fill FieldFill.INSERT)private Long createUser;//修改人TableField(fill FieldFill.INSERT_UPDATE)private Long updateUser;//是否删除private Integer isDeleted;}2.3.2 CategoryMapper package com.runa.reggie.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.runa.reggie.entity.Category; import org.apache.ibatis.annotations.Mapper;Mapper public interface CategoryMapper extends BaseMapperCategory { } 2.3.3 CategoryService package com.runa.reggie.service;import com.baomidou.mybatisplus.extension.service.IService; import com.runa.reggie.entity.Category;public interface CategoryService extends IServiceCategory { }2.3.4 CategoryServiceImpl package com.runa.reggie.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.runa.reggie.entity.Category; import com.runa.reggie.mapper.CategoryMapper; import com.runa.reggie.service.CategoryService; import org.springframework.stereotype.Service;Service public class CategoryServiceImpl extends ServiceImplCategoryMapper, Category implements CategoryService { }2.3.5 CategoryController package com.runa.reggie.controller;import com.runa.reggie.service.CategoryService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/*** 分类管理*/ Slf4j RestController RequestMapping(/category) public class CategoryController {Autowiredprivate CategoryService categoryService; }2.3.6 CategoryController新增save方法 ​ package com.runa.reggie.controller;import com.runa.reggie.common.R; import com.runa.reggie.entity.Category; import com.runa.reggie.service.CategoryService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/*** 分类管理*/ Slf4j RestController RequestMapping(/category) public class CategoryController {Autowiredprivate CategoryService categoryService;/*** 新增分类* param category* return*/PostMappingpublic RString save(RequestBody Category category){log.info(新增分类{}, category);categoryService.save(category);return R.success(新增分类成功);} }​ 2.4 功能测试 三、分类信息分页查询 3.1 需求分析 3.2 代码实现 3.2.1 CategoryController package com.runa.reggie.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.runa.reggie.common.R; import com.runa.reggie.entity.Category; import com.runa.reggie.service.CategoryService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*;/*** 分类管理*/ Slf4j RestController RequestMapping(/category) public class CategoryController {Autowiredprivate CategoryService categoryService;/*** 新增分类* param category* return*/PostMappingpublic RString save(RequestBody Category category){log.info(新增分类{}, category);categoryService.save(category);return R.success(新增分类成功);}/*** 分页查询* param page* param pageSize* return*/GetMapping(/page)public RPage page(int page, int pageSize){log.info(page {}, pageSize {}, name {},page, pageSize);//分页构造器Page pageInfo new Page(page, pageSize);// 条件构造器LambdaQueryWrapperCategory queryWrapper new LambdaQueryWrapper();//添加排序条件根据sort排序queryWrapper.orderByAsc(Category::getSort);//进行分页查询categoryService.page(pageInfo, queryWrapper);return R.success(pageInfo);} }3.2.1 Category注释是否删除字段 package com.runa.reggie.entity;import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import lombok.Getter; import lombok.Setter; import java.io.Serializable; import java.time.LocalDateTime;/*** 分类*/ Data public class Category implements Serializable {private static final long serialVersionUID 1L;private Long id;//类型 1 菜品分类 2 套餐分类private Integer type;//分类名称private String name;//顺序private Integer sort;//创建时间TableField(fill FieldFill.INSERT)private LocalDateTime createTime;//更新时间TableField(fill FieldFill.INSERT_UPDATE)private LocalDateTime updateTime;//创建人TableField(fill FieldFill.INSERT)private Long createUser;//修改人TableField(fill FieldFill.INSERT_UPDATE)private Long updateUser;//是否删除 // private Integer isDeleted;}3.3 功能测试 四、删除分类 4.1 需求分析 4.2 代码实现 4.2.1  CategoryController 注意传参是ids package com.runa.reggie.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.runa.reggie.common.R; import com.runa.reggie.entity.Category; import com.runa.reggie.service.CategoryService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*;/*** 分类管理*/ Slf4j RestController RequestMapping(/category) public class CategoryController {Autowiredprivate CategoryService categoryService;/*** 新增分类* param category* return*/PostMappingpublic RString save(RequestBody Category category){log.info(新增分类{}, category);categoryService.save(category);return R.success(新增分类成功);}/*** 分页查询* param page* param pageSize* return*/GetMapping(/page)public RPage page(int page, int pageSize){log.info(page {}, pageSize {}, name {},page, pageSize);//分页构造器Page pageInfo new Page(page, pageSize);// 条件构造器LambdaQueryWrapperCategory queryWrapper new LambdaQueryWrapper();//添加排序条件根据sort排序queryWrapper.orderByAsc(Category::getSort);//进行分页查询categoryService.page(pageInfo, queryWrapper);return R.success(pageInfo);}/*** 根据id删除分类* param ids* return*/DeleteMappingpublic RString delete(Long ids){log.info(根据ID删除分类{},ids);categoryService.removeById(ids);return R.success(分类信息删除成功);} }4.3 功能测试 4.4 功能完善 4.4.1 菜品实体类Dish  package com.runa.reggie.entity;import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime;/**菜品*/ Data public class Dish implements Serializable {private static final long serialVersionUID 1L;private Long id;//菜品名称private String name;//菜品分类idprivate Long categoryId;//菜品价格private BigDecimal price;//商品码private String code;//图片private String image;//描述信息private String description;//0 停售 1 起售private Integer status;//顺序private Integer sort;TableField(fill FieldFill.INSERT)private LocalDateTime createTime;TableField(fill FieldFill.INSERT_UPDATE)private LocalDateTime updateTime;TableField(fill FieldFill.INSERT)private Long createUser;TableField(fill FieldFill.INSERT_UPDATE)private Long updateUser;//是否删除private Integer isDeleted;}4.4.2 套餐实体类Setmeal  package com.runa.reggie.entity;import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime;/*** 套餐*/ Data public class Setmeal implements Serializable {private static final long serialVersionUID 1L;private Long id;//分类idprivate Long categoryId;//套餐名称private String name;//套餐价格private BigDecimal price;//状态 0:停用 1:启用private Integer status;//编码private String code;//描述信息private String description;//图片private String image;TableField(fill FieldFill.INSERT)private LocalDateTime createTime;TableField(fill FieldFill.INSERT_UPDATE)private LocalDateTime updateTime;TableField(fill FieldFill.INSERT)private Long createUser;TableField(fill FieldFill.INSERT_UPDATE)private Long updateUser;//是否删除private Integer isDeleted; }4.4.3 DishMapper  package com.runa.reggie.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.runa.reggie.entity.Dish; import org.apache.ibatis.annotations.Mapper;Mapper public interface DishMapper extends BaseMapperDish { }4.4.4 SetmealMapper  package com.runa.reggie.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.runa.reggie.entity.Setmeal; import org.apache.ibatis.annotations.Mapper;Mapper public interface SetmealMapper extends BaseMapperSetmeal { }4.4.5 DishService  package com.runa.reggie.service;import com.baomidou.mybatisplus.extension.service.IService; import com.runa.reggie.entity.Dish;public interface DishService extends IServiceDish { }4.4.6 SetmealService  package com.runa.reggie.service;import com.baomidou.mybatisplus.extension.service.IService; import com.runa.reggie.entity.Setmeal;public interface SetmealService extends IServiceSetmeal { }4.4.7 DishServiceImpl  package com.runa.reggie.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.runa.reggie.entity.Dish; import com.runa.reggie.mapper.DishMapper; import com.runa.reggie.service.DishService; import org.springframework.stereotype.Service;Service public class DishServiceImpl extends ServiceImplDishMapper, Dish implements DishService { }4.4.8 SetmealServiceImpl  package com.runa.reggie.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.runa.reggie.entity.Setmeal; import com.runa.reggie.mapper.SetmealMapper; import com.runa.reggie.service.SetmealService; import org.springframework.stereotype.Service;Service public class SetmealServiceImpl extends ServiceImplSetmealMapper, Setmeal implements SetmealService { }4.4.9 修改CategoryService package com.runa.reggie.service;import com.baomidou.mybatisplus.extension.service.IService; import com.runa.reggie.entity.Category;public interface CategoryService extends IServiceCategory {public void remove(Long ids); }4.4.10  自定义业务异常类CustomException  package com.runa.reggie.common;/*** 自定义业务异常类*/ public class CustomException extends RuntimeException {public CustomException(String message){super(message);} }4.4.11 CategoryServiceImpl  package com.runa.reggie.service.impl;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.runa.reggie.common.CustomException; import com.runa.reggie.entity.Category; import com.runa.reggie.entity.Dish; import com.runa.reggie.entity.Setmeal; import com.runa.reggie.mapper.CategoryMapper; import com.runa.reggie.service.CategoryService; import com.runa.reggie.service.DishService; import com.runa.reggie.service.SetmealService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;Service public class CategoryServiceImpl extends ServiceImplCategoryMapper, Category implements CategoryService {Autowiredprivate DishService dishService;Autowiredprivate SetmealService setmealService;Overridepublic void remove(Long ids) {LambdaQueryWrapperDish dishLambdaQueryWrapper new LambdaQueryWrapper();//添加查询条件根据分类id查询dishLambdaQueryWrapper.eq(Dish::getCategoryId,ids);int count1 dishService.count(dishLambdaQueryWrapper);// 查询分类是否关联了菜品如果关联了抛出一个业务异常if(count1 0){// 关联了 抛出异常throw new CustomException(当前分类下关联了菜品不能删除);}LambdaQueryWrapperSetmeal setmealLambdaQueryWrapper new LambdaQueryWrapper();//添加查询条件根据分类id查询setmealLambdaQueryWrapper.eq(Setmeal::getCategoryId,ids);int count2 setmealService.count(setmealLambdaQueryWrapper);// 查询分类是否关联了套餐如果关联了抛出一个业务异常if(count2 0){// 关联了 抛出异常throw new CustomException(当前分类下关联了套餐不能删除);}//执行删除super.removeById(ids);} }4.4.12 GlobaExceptionHandler  package com.runa.reggie.common;import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController;import java.sql.SQLIntegrityConstraintViolationException;/*** 全局异常处理*/ ControllerAdvice(annotations {RestController.class, Controller.class}) // 加了RestController Controller 注解的 ResponseBody Slf4j public class GlobaExceptionHandler {/*** 异常处理方法* return*/ExceptionHandler(SQLIntegrityConstraintViolationException.class)public RString exceptionHandler(SQLIntegrityConstraintViolationException ex){String msg ex.getMessage();log.error(msg);if(msg.contains(Duplicate entry)){String[] split msg.split( ); //空分割String resultMsg split[2] 已存在 ;return R.error(resultMsg);}return R.error(未知错误);}/*** 异常处理方法(处理自定义的)* return*/ExceptionHandler(CustomException.class)public RString exceptionHandler(CustomException ex){String msg ex.getMessage();log.error(msg);return R.error(msg);}}4.4.13 CategoryController  package com.runa.reggie.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.runa.reggie.common.R; import com.runa.reggie.entity.Category; import com.runa.reggie.service.CategoryService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*;/*** 分类管理*/ Slf4j RestController RequestMapping(/category) public class CategoryController {Autowiredprivate CategoryService categoryService;/*** 新增分类* param category* return*/PostMappingpublic RString save(RequestBody Category category){log.info(新增分类{}, category);categoryService.save(category);return R.success(新增分类成功);}/*** 分页查询* param page* param pageSize* return*/GetMapping(/page)public RPage page(int page, int pageSize){log.info(page {}, pageSize {}, name {},page, pageSize);//分页构造器Page pageInfo new Page(page, pageSize);// 条件构造器LambdaQueryWrapperCategory queryWrapper new LambdaQueryWrapper();//添加排序条件根据sort排序queryWrapper.orderByAsc(Category::getSort);//进行分页查询categoryService.page(pageInfo, queryWrapper);return R.success(pageInfo);}/*** 根据id删除分类* param ids* return*/DeleteMappingpublic RString delete(Long ids){log.info(根据ID删除分类{},ids); // categoryService.removeById(ids);categoryService.remove(ids);return R.success(分类信息删除成功);} }五、修改分类 5.1 需求分析 5.2 代码实现 5.2.1 CategoryController package com.runa.reggie.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.runa.reggie.common.R; import com.runa.reggie.entity.Category; import com.runa.reggie.service.CategoryService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*;/*** 分类管理*/ Slf4j RestController RequestMapping(/category) public class CategoryController {Autowiredprivate CategoryService categoryService;/*** 新增分类* param category* return*/PostMappingpublic RString save(RequestBody Category category){log.info(新增分类{}, category);categoryService.save(category);return R.success(新增分类成功);}/*** 分页查询* param page* param pageSize* return*/GetMapping(/page)public RPage page(int page, int pageSize){log.info(page {}, pageSize {}, name {},page, pageSize);//分页构造器Page pageInfo new Page(page, pageSize);// 条件构造器LambdaQueryWrapperCategory queryWrapper new LambdaQueryWrapper();//添加排序条件根据sort排序queryWrapper.orderByAsc(Category::getSort);//进行分页查询categoryService.page(pageInfo, queryWrapper);return R.success(pageInfo);}/*** 根据id删除分类* param ids* return*/DeleteMappingpublic RString delete(Long ids){log.info(根据ID删除分类{},ids); // categoryService.removeById(ids);categoryService.remove(ids);return R.success(分类信息删除成功);}PutMappingpublic RString update(RequestBody Category category){log.info(根据id更新分类信息{},category);categoryService.updateById(category);return R.success(修改分类信息成功);} }5.3 功能测试
http://www.hkea.cn/news/14508146/

相关文章:

  • 做推送的网站除了秀米还有国家建设协会工程质量分会网站
  • 北京云邦网站建设做网站工作室找客户难
  • 网站建设技术指标公司网络组建
  • 深圳网站建设公司麦网上做流量对网站有什么影响吗
  • 佛山做网站公司有哪些百度快照官网登录
  • 站长之家域名查询排行wordpress 建视频网站吗
  • 做网站 网站违法吗wordpress支持大文件上传
  • 网站关键词排名忽然seo整站优化服务教程
  • 宁德建设网站建立一个网站的技术解决方案
  • 无锡市建设培训中心网站企业vi是什么意思
  • 阎良做网站mcmore商城网站开发
  • 有免费做海报的网站吗聊城招聘网站建设
  • 网站建设必备软件河南省住房和城乡建设厅网站
  • 资讯网站怎么做鼓楼微网站开发
  • 微信旅游网站建设游戏网站建设免费
  • 网站开发类书籍开发小程序的成本
  • 发稿流程seo外包资讯
  • 普洱建设工程网站天津酒店网站制作
  • 要给公司做一个网站怎么做的吗手机软件制作平台
  • 网站seo优化案例做网站找哪个部门
  • 机械做网站好处莲花网名
  • 企业为什么需要建站深圳做微商网站制作
  • 跑流量的网站南宁网站建设优化案例
  • 创建个人网站名字编程软件自学网
  • 链接网站怎么做网站开发python好还是PHP好
  • 搭建网站服务器便民平台推广怎么做
  • 网站设计中国内优秀企业网站欣赏上海发布
  • 网站后台模板修改用什么软件网站生成器怎么做
  • 用代码怎么建设网站外贸网站建设资料
  • 网站建设需要的文案专业的猎头公司