查网站服务器ip 被k简单asp网站源码
web/
2025/10/7 21:19:40/
文章来源:
查网站服务器ip 被k,简单asp网站源码,网站空间去哪买,网站建设目标是套餐管理 1 任务2 新增套餐2.1 需求分析和设计页面原型和业务规则接口设计setmeal和setmeal_dish表设计 2.2 代码开发2.2.1 根据分类id查询菜品DishControllerDishServiceDishServiceImplDishMapperDishMapper.xml 2.2.2 新增套餐接口SetmealControllerSetmealServiceSetmealSe… 套餐管理 1 任务2 新增套餐2.1 需求分析和设计页面原型和业务规则接口设计setmeal和setmeal_dish表设计 2.2 代码开发2.2.1 根据分类id查询菜品DishControllerDishServiceDishServiceImplDishMapperDishMapper.xml 2.2.2 新增套餐接口SetmealControllerSetmealServiceSetmealServiceImplSetmealMapper 新增套餐SetmealMapper.xmlSetmealDishMapper 保存套餐和菜品的关联关系SetmealDishMapper.xml 2.3 功能测试 3 套餐分页查询3.1 需求分许和设计3.2 代码实现SetmealControllerSetmealServiceSetmealServiceImplSetmealMapperSetmealMapper.xml 3.3 测试 1 任务
完成套餐管理模块所有业务功能包括
新增套餐套餐分页查询删除套餐修改套餐起售停售套餐
要求
根据产品原型进行需求分析分析出业务规则设计接口梳理表之间的关系分类表、菜品表、套餐表、口味表、套餐菜品关系表根据接口设计进行代码实现分别通过swagger接口文档和前后端联调进行功能测试
2 新增套餐
2.1 需求分析和设计
页面原型和业务规则 以下是根据分类id查询菜品
1 字段
1.1 排序创建时间的倒序排列单页最多显示10条
2 添加菜品
2.1点击添加菜品按钮弹出添加菜品弹窗菜品可以多选
2.2已选菜品数量超过7个显示滚动条已选菜品列表根据添加时间倒序排列
3 字段限制
3.1 字段限制 3.2 套餐图片上传
点击上传图片上传本地图片。再次点击修改图片。
1 图片限制
图片大小不超过2M
仅能上传PNG JPG JPEG类型图片
建议上传200200或300300尺寸的图片
2 异常提示
图片过大上传失败
格式错误上传失败
3.3 套餐描述选填限制输入最大不超过200个汉字、字母大小写、阿拉伯数字。不符合限制提示“套餐描述输入不符请输入少于200个字”
接口设计
需要用的接口
根据分类id查询菜品套餐管理中新增菜单接口上传图片(完成)根据类型查询分类(完成)
根据分类id查询菜品
套餐管理中新增菜单接口 setmeal和setmeal_dish表设计
setmeal表为套餐表用于存储套餐的信息。
字段名数据类型说明备注idbigint主键自增namevarchar(32)套餐名称唯一category_idbigint分类id逻辑外键pricedecimal(10,2)套餐价格imagevarchar(255)图片路径descriptionvarchar(255)套餐描述statusint售卖状态1起售 0停售create_timedatetime创建时间update_timedatetime最后修改时间create_userbigint创建人idupdate_userbigint最后修改人id
setmeal_dish表为套餐菜品关系表用于存储套餐和菜品的关联关系。
字段名数据类型说明备注idbigint主键自增setmeal_idbigint套餐id逻辑外键dish_idbigint菜品id逻辑外键namevarchar(32)菜品名称冗余字段pricedecimal(10,2)菜品单价冗余字段copiesint菜品份数 2.2 代码开发
根据分类id查询菜品新增套餐接口
2.2.1 根据分类id查询菜品
DishController
/*** 根据分类id查询菜品* param categoryId* return
*/
GetMapping(/list)
ApiOperation(根据分类id查询菜品)
public ResultListDish list(Long categoryId){ListDish list dishService.list(categoryId);return Result.success(list);
}DishService
/*** 根据分类id查询菜品* param categoryId* return
*/
ListDish list(Long categoryId);DishServiceImpl
/*** 根据分类id查询菜品* param categoryId* return
*/
public ListDish list(Long categoryId) {Dish dish Dish.builder().categoryId(categoryId).status(StatusConstant.ENABLE).build();return dishMapper.list(dish);
}DishMapper
/*** 动态条件查询菜品* param dish* return
*/
ListDish list(Dish dish);DishMapper.xml
select idlist resultTypeDish parameterTypeDishselect * from dish whereif testname ! nulland name like concat(%,#{name},%)/ifif testcategoryId ! nulland category_id #{categoryId}/ifif teststatus ! nulland status #{status}/if/whereorder by create_time desc
/select2.2.2 新增套餐接口
SetmealController
/*** 套餐管理*/
RestController
RequestMapping(/admin/setmeal)
Api(tags 套餐相关接口)
Slf4j
public class SetmealController {Autowiredprivate SetmealService setmealService;/*** 新增套餐* param setmealDTO* return*/PostMappingApiOperation(新增套餐)public Result save(RequestBody SetmealDTO setmealDTO) {setmealService.saveWithDish(setmealDTO);return Result.success();}
}SetmealService
public interface SetmealService {/*** 新增套餐同时需要保存套餐和菜品的关联关系* param setmealDTO*/void saveWithDish(SetmealDTO setmealDTO);
}SetmealServiceImpl
/*** 套餐业务实现*/
Service
Slf4j
public class SetmealServiceImpl implements SetmealService {Autowiredprivate SetmealMapper setmealMapper;Autowiredprivate SetmealDishMapper setmealDishMapper;Autowiredprivate DishMapper dishMapper;/*** 新增套餐同时需要保存套餐和菜品的关联关系* param setmealDTO*/Transactionalpublic void saveWithDish(SetmealDTO setmealDTO) {Setmeal setmeal new Setmeal();BeanUtils.copyProperties(setmealDTO, setmeal);//向套餐表插入数据setmealMapper.insert(setmeal);//获取生成的套餐idLong setmealId setmeal.getId();ListSetmealDish setmealDishes setmealDTO.getSetmealDishes();setmealDishes.forEach(setmealDish - {setmealDish.setSetmealId(setmealId);});//保存套餐和菜品的关联关系setmealDishMapper.insertBatch(setmealDishes);}
}SetmealMapper 新增套餐
/*** 新增套餐* param setmeal
*/
AutoFill(OperationType.INSERT)
void insert(Setmeal setmeal);SetmealMapper.xml
insert idinsert parameterTypeSetmeal useGeneratedKeystrue keyPropertyidinsert into setmeal(category_id, name, price, status, description, image, create_time, update_time, create_user, update_user)values (#{categoryId}, #{name}, #{price}, #{status}, #{description}, #{image}, #{createTime}, #{updateTime},#{createUser}, #{updateUser})
/insertSetmealDishMapper 保存套餐和菜品的关联关系
/*** 批量保存套餐和菜品的关联关系* param setmealDishes
*/
void insertBatch(ListSetmealDish setmealDishes);SetmealDishMapper.xml
insert idinsertBatch parameterTypelistinsert into setmeal_dish(setmeal_id,dish_id,name,price,copies)valuesforeach collectionsetmealDishes itemsd separator,(#{sd.setmealId},#{sd.dishId},#{sd.name},#{sd.price},#{sd.copies})/foreach
/insert2.3 功能测试 3 套餐分页查询
3.1 需求分许和设计
产品原型和业务规则
根据页码进行分页展示每页展示10条数据可以根据需要按照套餐名称、分类、售卖状态进行查询 接口设计 查看Apifox
3.2 代码实现
这个建议参考之前实现的分页功能
SetmealController
/*** 分页查询* param setmealPageQueryDTO* return
*/
GetMapping(/page)
ApiOperation(分页查询)
public ResultPageResult page(SetmealPageQueryDTO setmealPageQueryDTO) {PageResult pageResult setmealService.pageQuery(setmealPageQueryDTO);return Result.success(pageResult);
}SetmealService
/*** 分页查询* param setmealPageQueryDTO* return
*/
PageResult pageQuery(SetmealPageQueryDTO setmealPageQueryDTO);SetmealServiceImpl
/*** 分页查询* param setmealPageQueryDTO* return
*/
public PageResult pageQuery(SetmealPageQueryDTO setmealPageQueryDTO) {int pageNum setmealPageQueryDTO.getPage();int pageSize setmealPageQueryDTO.getPageSize();PageHelper.startPage(pageNum, pageSize);PageSetmealVO page setmealMapper.pageQuery(setmealPageQueryDTO);return new PageResult(page.getTotal(), page.getResult());
}SetmealMapper
/*** 分页查询* param setmealPageQueryDTO* return
*/
PageSetmealVO pageQuery(SetmealPageQueryDTO setmealPageQueryDTO);SetmealMapper.xml
select idpageQuery resultTypecom.sky.vo.SetmealVOselects.*,c.name categoryNamefromsetmeal sleft joincategory cons.category_id c.idwhereif testname ! nulland s.name like concat(%,#{name},%)/ifif teststatus ! nulland s.status #{status}/ifif testcategoryId ! nulland s.category_id #{categoryId}/if/whereorder by s.create_time desc
/select3.3 测试 关于删除套餐修改套餐套餐的起售与停售放在下一篇笔记了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88696.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!