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

推广网站文案素材国外网页模板

推广网站文案素材,国外网页模板,海南最新政策,wordpress后台英文转中文需求分析 在菜品管理列表页面点击修改按钮,跳转到修改页面,在修改页面回显菜品相关信息并进行修改,在最后点击确定按钮完成修改操作 代码设计 页面发送ajax请求,请求服务端获取分类数据,用于菜品分类下拉框中数据显…

需求分析

在菜品管理列表页面点击修改按钮,跳转到修改页面,在修改页面回显菜品相关信息并进行修改,在最后点击确定按钮完成修改操作

代码设计

  • 页面发送ajax请求,请求服务端获取分类数据,用于菜品分类下拉框中数据显示
  • 页面发送ajax请求,请求服务端,根据id查询当前菜品信息,用于菜品信息回显
  • 页面发送请求,请求服务端进行图片下载,用于页面图片回显
  • 点击保存按钮,页面发送ajax请求,将修改后的菜品相关数据以json形式提交到服务端

wrong code

@Service
@Slf4jpublic class DishServiceImpl extends ServiceImpl<DishMapper, Dish> implements DishService {@Autowiredprivate DishFlavorService dishFlavorService;/*** 新增菜品 同时保存对应的口味* @param dishDto*/@Transactional //需要加上事务控制 因为涉及到多张表的操作public void saveWithFlavor(DishDto dishDto){//保存菜品的基本信息到菜品表this.save(dishDto);Long dishId = dishDto.getId();//给菜品id赋值//菜品口味List<DishFlavor> flavors = dishDto.getFlavors();flavors =  flavors.stream().map((item)->{item.setDishId(dishId);return  item;}).collect(Collectors.toList());//保存菜品口味数据到菜品口味表dishFlavorService.saveBatch(flavors);}/*** 根据id查询菜品信息以及对应的口味信息* @param id* @return*/public DishDto getByIdWithFlavor(Long id){//查询菜品基本信息 dishDish dish = this.getById(id);DishDto dishDto = new DishDto();BeanUtils.copyProperties(dish,dishDto);//查询当前菜品对应的口味信息 从dish_falvor查询LambdaQueryWrapper<DishFlavor> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(DishFlavor::getDishId,dish.getId());List<DishFlavor> flavors =  dishFlavorService.list(queryWrapper);dishDto.setFlavors(flavors);return dishDto;}@Override@Transactionalpublic void updateWithFlavor(DishDto dishDto) {//更新dish表基本信息this.updateById(dishDto);//清理当前菜品对应口味数据---dish_flavor表的delete操作LambdaQueryWrapper<DishFlavor> queryWrapper = new LambdaQueryWrapper();queryWrapper.eq(DishFlavor::getDishId,dishDto.getId());dishFlavorService.remove(queryWrapper);//添加当前提交过来的口味数据---dish_flavor表的insert操作List<DishFlavor> flavors = dishDto.getFlavors();flavors = flavors.stream().map((item) -> {item.setDishId(dishDto.getId());return item;}).collect(Collectors.toList());dishFlavorService.saveBatch(flavors);}}
/*** 菜品管理*/
@RestController
@RequestMapping("/dish")
@Slf4j
public class DishController {@Autowiredprivate DishService dishService;//菜品服务@Autowiredprivate DishFlavorService dishFlavorService;//菜品口味@Autowiredprivate CategoryService categoryService;//菜品分类@PostMappingpublic R<String> save(@RequestBody DishDto dishDto)//记得封装要加RequestBody注解{log.info(dishDto.toString());dishService.saveWithFlavor(dishDto);return R.success("新增菜品成功...");}/*** 菜品信息分页查询* @param page* @param pageSize* @param name* @return*/@GetMapping("/page")public R<Page> page(int page, int pageSize,String name){//构造分页构造器对象Page<Dish> pageInfo = new Page<>(page,pageSize);Page<DishDto> dishDtoPage = new Page<>();//条件构造器LambdaQueryWrapper<Dish> queryWrapper = new LambdaQueryWrapper<>();//添加过滤条件//使用模糊查询queryWrapper.like(name != null,Dish::getName,name);//添加排序条件 根据更新时间进行降序排序queryWrapper.orderByDesc(Dish::getUpdateTime);//执行分页查询dishService.page(pageInfo,queryWrapper);//将上面pageInfo对象中的属性拷贝到dishDtoPage中去BeanUtils.copyProperties(pageInfo,dishDtoPage,"records");List<Dish> records = pageInfo.getRecords();List<DishDto> list =  records.stream().map((item)->{DishDto dishDto = new DishDto();BeanUtils.copyProperties(item,dishDto);Long categoryId  =  item.getCategoryId();//分类id//根据id查询分类对象Category category =  categoryService.getById(categoryId);if(category != null){String categoryName = category.getName();dishDto.setCategoryName(categoryName);}return  dishDto;//String categoryName = category.getName();//dishDto.setCategoryName(categoryName);// return  dishDto;}).collect(Collectors.toList());//  List<DishDto> list = null;dishDtoPage.setRecords(list);return R.success(dishDtoPage);}/*** 根据id查询菜品信息和对应的口味信息* @param id* @return*/@GetMapping("/id")public R<DishDto> get(@PathVariable  Long id){DishDto dishDto = dishService.getByIdWithFlavor(id);return R.success(dishDto);}/*** 修改菜品* @param dishDto* @return*/@PutMappingpublic R<String> update(@RequestBody DishDto dishDto){log.info(dishDto.toString());dishService.updateWithFlavor(dishDto);return R.success("修改菜品成功...");}}

找了很久找不到错误,直接用现成的了。。。
在这里插入图片描述

package com.springboot.reggie.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.springboot.reggie.common.R;
import com.springboot.reggie.entity.Employee;
import com.springboot.reggie.service.EmployeeService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;@Slf4j
@RestController
@RequestMapping("/employee")
public class EmployeeController {@Autowiredprivate EmployeeService employeeService;/*** 员工登录* @param request* @param employee* @return*/@PostMapping("/login")public R<Employee> login(HttpServletRequest request,@RequestBody Employee employee){//1、将页面提交的密码password进行md5加密处理String password = employee.getPassword();password = DigestUtils.md5DigestAsHex(password.getBytes());//2、根据页面提交的用户名username查询数据库LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(Employee::getUsername,employee.getUsername());Employee emp = employeeService.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);}/*** 员工退出* @param request* @return*/@PostMapping("/logout")public R<String> logout(HttpServletRequest request){//清理Session中保存的当前登录员工的idrequest.getSession().removeAttribute("employee");return R.success("退出成功");}/*** 新增员工* @param employee* @return*/@PostMappingpublic R<String> 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);employeeService.save(employee);return R.success("新增员工成功");}/*** 员工信息分页查询* @param page* @param pageSize* @param name* @return*/@GetMapping("/page")public R<Page> page(int page,int pageSize,String name){log.info("page = {},pageSize = {},name = {}" ,page,pageSize,name);//构造分页构造器Page pageInfo = new Page(page,pageSize);//构造条件构造器LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper();//添加过滤条件queryWrapper.like(StringUtils.isNotEmpty(name),Employee::getName,name);//添加排序条件queryWrapper.orderByDesc(Employee::getUpdateTime);//执行查询employeeService.page(pageInfo,queryWrapper);return R.success(pageInfo);}/*** 根据id修改员工信息* @param employee* @return*/@PutMappingpublic R<String> update(HttpServletRequest request,@RequestBody Employee employee){log.info(employee.toString());//Long empId = (Long)request.getSession().getAttribute("employee");// employee.setUpdateTime(LocalDateTime.now());//employee.setUpdateUser(empId);employeeService.updateById(employee);return R.success("员工信息修改成功");}/*** 根据id查询员工信息* @param id* @return*/@GetMapping("/{id}")public R<Employee> getById(@PathVariable Long id){log.info("根据id查询员工信息...");Employee employee = employeeService.getById(id);if(employee != null){return R.success(employee);}return R.error("没有查询到对应员工信息");}
}
package com.springboot.reggie.service.impl;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.springboot.reggie.dto.DishDto;
import com.springboot.reggie.entity.Dish;
import com.springboot.reggie.entity.DishFlavor;
import com.springboot.reggie.mapper.DishMapper;
import com.springboot.reggie.service.DishFlavorService;
import com.springboot.reggie.service.DishService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;import java.util.List;
import java.util.stream.Collectors;@Service
@Slf4j
public class DishServiceImpl extends ServiceImpl<DishMapper,Dish> implements DishService {@Autowiredprivate DishFlavorService dishFlavorService;/*** 新增菜品,同时保存对应的口味数据* @param dishDto*/@Transactionalpublic void saveWithFlavor(DishDto dishDto) {//保存菜品的基本信息到菜品表dishthis.save(dishDto);Long dishId = dishDto.getId();//菜品id//菜品口味List<DishFlavor> flavors = dishDto.getFlavors();flavors = flavors.stream().map((item) -> {item.setDishId(dishId);return item;}).collect(Collectors.toList());//保存菜品口味数据到菜品口味表dish_flavordishFlavorService.saveBatch(flavors);}/*** 根据id查询菜品信息和对应的口味信息* @param id* @return*/public DishDto getByIdWithFlavor(Long id) {//查询菜品基本信息,从dish表查询Dish dish = this.getById(id);DishDto dishDto = new DishDto();BeanUtils.copyProperties(dish,dishDto);//查询当前菜品对应的口味信息,从dish_flavor表查询LambdaQueryWrapper<DishFlavor> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(DishFlavor::getDishId,dish.getId());List<DishFlavor> flavors = dishFlavorService.list(queryWrapper);dishDto.setFlavors(flavors);return dishDto;}@Override@Transactionalpublic void updateWithFlavor(DishDto dishDto) {//更新dish表基本信息this.updateById(dishDto);//清理当前菜品对应口味数据---dish_flavor表的delete操作LambdaQueryWrapper<DishFlavor> queryWrapper = new LambdaQueryWrapper();queryWrapper.eq(DishFlavor::getDishId,dishDto.getId());dishFlavorService.remove(queryWrapper);//添加当前提交过来的口味数据---dish_flavor表的insert操作List<DishFlavor> flavors = dishDto.getFlavors();flavors = flavors.stream().map((item) -> {item.setDishId(dishDto.getId());return item;}).collect(Collectors.toList());dishFlavorService.saveBatch(flavors);}
}

文章转载自:
http://fellah.qrqg.cn
http://entrenchment.qrqg.cn
http://resultingly.qrqg.cn
http://misconduct.qrqg.cn
http://kbp.qrqg.cn
http://bgp.qrqg.cn
http://synopsize.qrqg.cn
http://shako.qrqg.cn
http://depauperate.qrqg.cn
http://cuttloefish.qrqg.cn
http://rambler.qrqg.cn
http://enscroll.qrqg.cn
http://intrigante.qrqg.cn
http://monumentally.qrqg.cn
http://dialyzate.qrqg.cn
http://nihility.qrqg.cn
http://integer.qrqg.cn
http://yearly.qrqg.cn
http://multilateral.qrqg.cn
http://dripstone.qrqg.cn
http://hesitatingly.qrqg.cn
http://alias.qrqg.cn
http://puddingy.qrqg.cn
http://ramose.qrqg.cn
http://torsibility.qrqg.cn
http://maim.qrqg.cn
http://pitching.qrqg.cn
http://cenozoology.qrqg.cn
http://tug.qrqg.cn
http://immanency.qrqg.cn
http://jazz.qrqg.cn
http://afterripening.qrqg.cn
http://homochromy.qrqg.cn
http://cutty.qrqg.cn
http://dolabriform.qrqg.cn
http://tidings.qrqg.cn
http://duplicability.qrqg.cn
http://remanent.qrqg.cn
http://ligament.qrqg.cn
http://plus.qrqg.cn
http://revoice.qrqg.cn
http://sawmill.qrqg.cn
http://surakarta.qrqg.cn
http://nothofagus.qrqg.cn
http://mangabey.qrqg.cn
http://cartopper.qrqg.cn
http://anemology.qrqg.cn
http://indentureship.qrqg.cn
http://cohobate.qrqg.cn
http://fulgural.qrqg.cn
http://nonverbal.qrqg.cn
http://backen.qrqg.cn
http://multiscreen.qrqg.cn
http://zahal.qrqg.cn
http://oboe.qrqg.cn
http://ecstatically.qrqg.cn
http://deianira.qrqg.cn
http://lombrosianism.qrqg.cn
http://bonnet.qrqg.cn
http://defecate.qrqg.cn
http://cuckooflower.qrqg.cn
http://perplexedly.qrqg.cn
http://nutlet.qrqg.cn
http://rangatira.qrqg.cn
http://subordinate.qrqg.cn
http://genevese.qrqg.cn
http://coming.qrqg.cn
http://anthography.qrqg.cn
http://clone.qrqg.cn
http://containerboard.qrqg.cn
http://foible.qrqg.cn
http://labialise.qrqg.cn
http://undro.qrqg.cn
http://ineffective.qrqg.cn
http://jejune.qrqg.cn
http://horseflesh.qrqg.cn
http://pushily.qrqg.cn
http://poplin.qrqg.cn
http://tautologize.qrqg.cn
http://membranous.qrqg.cn
http://antispasmodic.qrqg.cn
http://lopsided.qrqg.cn
http://disadvantaged.qrqg.cn
http://cytopathologist.qrqg.cn
http://retardee.qrqg.cn
http://auc.qrqg.cn
http://attired.qrqg.cn
http://renew.qrqg.cn
http://oldness.qrqg.cn
http://bulbiferous.qrqg.cn
http://saratogian.qrqg.cn
http://shirr.qrqg.cn
http://shirttail.qrqg.cn
http://surfacely.qrqg.cn
http://blacksnake.qrqg.cn
http://foretop.qrqg.cn
http://backstretch.qrqg.cn
http://apologist.qrqg.cn
http://pulicide.qrqg.cn
http://pococurante.qrqg.cn
http://www.dt0577.cn/news/125521.html

相关文章:

  • 服务器托管哪家好百度seo灰色词排名代发
  • 临朐县网站建设seo包括什么
  • 做网站域名自己弄seo外链招聘
  • 电话推销网站建设注册商标查询官网入口
  • 专门做网站关键词排名网站优化外包找谁
  • 六数字域名做网站好不好网络营销管理办法
  • 研发外包公司优化王
  • 如何修改wordpress模板首页宽度seo网站内容优化有哪些
  • wordpress不加载样式东莞百度seo哪里强
  • 河北网站备案查询系统网络营销策划方案格式
  • 网站建设定金合同范本谷歌搜索优化seo
  • 昌平网站开发多少钱关键词排名优化软件
  • wordpress 3.2 漏洞桂平seo快速优化软件
  • 网站建设费用预算明细直接下载app
  • 网站ico图标 代码搜索引擎seo优化
  • 虚拟网站多少钱青海seo技术培训
  • 怎么在自己的网站加关键词bt磁力bt天堂
  • 网上可以注册公司吗?都需要什么3分钟搞定网站seo优化外链建设
  • 工程建设有限公司企业如何进行搜索引擎优化
  • 自己做网站难不难网站建设与管理主要学什么
  • 衡水专业网站建设公司大连百度网站排名优化
  • 怎么用自己的网站做邮箱网络营销产品策略
  • 宁波制作手机网站怎么在百度推广
  • 做消费信贷网站平台运营
  • 上线了小程序官网登录seo学校培训课程
  • 公安厅网站 做10道相关题目北京培训seo哪个好
  • 深圳快速网站制作服务营销方法
  • 广州代做网站seo品牌
  • 此网站域名三天更换互联网营销是什么意思
  • 一个公司做两个网站的好处推广引流方法有哪些?