安阳公司做网站,o2o商城网站制作,网站开发电话,彩票网站开发极云编辑员工和分类模块功能开发 1. 编辑员工1.1 需求分析与设计1.1.1 产品原型1.1.2 接口设计 1.2 代码开发1.2.1 回显员工信息功能1.2.2 修改员工信息功能 1.3 功能测试 2. 分类模块功能开发2.1 需求分析与设计2.1.1 产品原型2.1.2 接口设计2.1.3 表设计 2.2 代码实现2.2.1 Mappe… 编辑员工和分类模块功能开发 1. 编辑员工1.1 需求分析与设计1.1.1 产品原型1.1.2 接口设计 1.2 代码开发1.2.1 回显员工信息功能1.2.2 修改员工信息功能 1.3 功能测试 2. 分类模块功能开发2.1 需求分析与设计2.1.1 产品原型2.1.2 接口设计2.1.3 表设计 2.2 代码实现2.2.1 Mapper层2.2.2 Service层2.2.3 Controller层 2.3 功能测试 1. 编辑员工
1.1 需求分析与设计
1.1.1 产品原型
在员工管理列表页面点击 “编辑” 按钮跳转到编辑页面在编辑页面回显员工信息并进行修改最后点击 “保存” 按钮完成编辑操作。
修改页面原型
注点击修改时数据应该正常回显到修改页面。 1.1.2 接口设计
根据上述原型图分析编辑员工功能涉及到两个接口
根据id查询员工信息编辑员工信息
1). 根据id查询员工信息
2). 编辑员工信息 注:因为是修改功能请求方式可设置为PUT。
1.2 代码开发
1.2.1 回显员工信息功能
1). Controller层
在 EmployeeController 中创建 getById 方法 /*** 根据id查询员工信息* param id* return*/GetMapping(/{id})ApiOperation(根据id查询员工信息)public ResultEmployee getById(PathVariable Long id){Employee employee employeeService.getById(id);return Result.success(employee);}2). Service层接口
在 EmployeeService 接口中声明 getById 方法 /*** 根据id查询员工* param id* return*/Employee getById(Long id);3). Service层实现类
在 EmployeeServiceImpl 中实现 getById 方法 /*** 根据id查询员工** param id* return*/public Employee getById(Long id) {Employee employee employeeMapper.getById(id);employee.setPassword(****);return employee;}4). Mapper层
在 EmployeeMapper 接口中声明 getById 方法 /*** 根据id查询员工信息* param id* return*/Select(select * from employee where id #{id})Employee getById(Long id);1.2.2 修改员工信息功能
1). Controller层
在 EmployeeController 中创建 update 方法 /*** 编辑员工信息* param employeeDTO* return*/PutMappingApiOperation(编辑员工信息)public Result update(RequestBody EmployeeDTO employeeDTO){log.info(编辑员工信息{}, employeeDTO);employeeService.update(employeeDTO);return Result.success();}2). Service层接口
在 EmployeeService 接口中声明 update 方法 /*** 编辑员工信息* param employeeDTO*/void update(EmployeeDTO employeeDTO);3). Service层实现类
在 EmployeeServiceImpl 中实现 update 方法 /*** 编辑员工信息** param employeeDTO*/public void update(EmployeeDTO employeeDTO) {Employee employee new Employee();BeanUtils.copyProperties(employeeDTO, employee);employee.setUpdateTime(LocalDateTime.now());employee.setUpdateUser(BaseContext.getCurrentId());employeeMapper.update(employee);}1.3 功能测试
进入到员工列表查询。 对员工姓名为杰克的员工数据修改点击修改数据已回显。 修改后点击保存。 2. 分类模块功能开发
2.1 需求分析与设计
2.1.1 产品原型
后台系统中可以管理分类信息分类包括两种类型分别是 菜品分类 和 套餐分类 。
菜品分类相关功能。
新增菜品分类当我们在后台系统中添加菜品时需要选择一个菜品分类在移动端也会按照菜品分类来展示对应的菜品。
菜品分类分页查询系统中的分类很多的时候如果在一个页面中全部展示出来会显得比较乱不便于查看所以一般的系统中都会以分页的方式来展示列表数据。
根据id删除菜品分类在分类管理列表页面可以对某个分类进行删除操作。需要注意的是当分类关联了菜品或者套餐时此分类不允许删除。
修改菜品分类在分类管理列表页面点击修改按钮弹出修改窗口在修改窗口回显分类信息并进行修改最后点击确定按钮完成修改操作。
启用禁用菜品分类在分类管理列表页面可以对某个分类进行启用或者禁用操作。
分类类型查询当点击分类类型下拉框时从数据库中查询所有的菜品分类数据进行展示。
分类管理原型 业务规则
分类名称必须是唯一的分类按照类型可以分为菜品分类和套餐分类新添加的分类状态默认为“禁用”
2.1.2 接口设计
根据上述原型图分析菜品分类模块共涉及6个接口。
新增分类分类分页查询根据id删除分类修改分类启用禁用分类根据类型查询分类
接下来详细地分析每个接口。
1). 新增分类 2). 分类分页查询 3). 根据id删除分类 4). 修改分类 5). 启用禁用分类 6). 根据类型查询分类 2.1.3 表设计
category表结构
字段名数据类型说明备注idbigint主键自增namevarchar(32)分类名称唯一typeint分类类型1菜品分类 2套餐分类sortint排序字段用于分类数据的排序statusint状态1启用 0禁用create_timedatetime创建时间update_timedatetime最后修改时间create_userbigint创建人idupdate_userbigint最后修改人id
2.2 代码实现
2.2.1 Mapper层
DishMapper.java
package com.sky.mapper;Mapper
public interface DishMapper {/*** 根据分类id查询菜品数量* param categoryId* return*/Select(select count(id) from dish where category_id #{categoryId})Integer countByCategoryId(Long categoryId);}
SetmealMapper.java
package com.sky.mapper;Mapper
public interface SetmealMapper {/*** 根据分类id查询套餐的数量* param id* return*/Select(select count(id) from setmeal where category_id #{categoryId})Integer countByCategoryId(Long id);}CategoryMapper.java
package com.sky.mapper;import java.util.List;Mapper
public interface CategoryMapper {/*** 插入数据* param category*/Insert(insert into category(type, name, sort, status, create_time, update_time, create_user, update_user) VALUES (#{type}, #{name}, #{sort}, #{status}, #{createTime}, #{updateTime}, #{createUser}, #{updateUser}))void insert(Category category);/*** 分页查询* param categoryPageQueryDTO* return*/PageCategory pageQuery(CategoryPageQueryDTO categoryPageQueryDTO);/*** 根据id删除分类* param id*/Delete(delete from category where id #{id})void deleteById(Long id);/*** 根据id修改分类* param category*/void update(Category category);/*** 根据类型查询分类* param type* return*/ListCategory findByType(Integer type);
}CategoryMapper.xml,进入到resources/mapper目录下
?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.sky.mapper.CategoryMapperselect idpageQuery resultTypecom.sky.entity.Categoryselect * from categorywhereif testname ! null and name ! and name like concat(%,#{name},%)/ifif testtype ! nulland type #{type}/if/whereorder by sort asc , create_time desc/selectupdate idupdate parameterTypeCategoryupdate categorysetif testtype ! nulltype #{type},/ifif testname ! nullname #{name},/ifif testsort ! nullsort #{sort},/ifif teststatus ! nullstatus #{status},/ifif testupdateTime ! nullupdate_time #{updateTime},/ifif testupdateUser ! nullupdate_user #{updateUser}/if/setwhere id #{id}/updateselect idfindByType resultTypeCategoryselect * from categorywhere status 1if testtype ! nulland type #{type}/iforder by sort asc,create_time desc/select
/mapper
2.2.2 Service层
CategoryService.java
package com.sky.service;public interface CategoryService {/*** 新增分类* param categoryDTO*/void save(CategoryDTO categoryDTO);/*** 分页查询* param categoryPageQueryDTO* return*/PageResult pageQuery(CategoryPageQueryDTO categoryPageQueryDTO);/*** 根据id删除分类* param id*/void deleteById(Long id);/*** 修改分类* param categoryDTO*/void update(CategoryDTO categoryDTO);/*** 启用、禁用分类* param status* param id*/void startOrStop(Integer status, Long id);/*** 根据类型查询分类* param type* return*/ListCategory findByType(Integer type);
}
CategoryServiceImpl.java
Service
public class CategoryServiceImpl implements CategoryService {
Autowired
private CategoryMapper categoryMapper;
Autowired
private SetmealMapper setmealMapper;
Autowired
private DishMapper dishMapper;
//菜品添加Overridepublic void add(CategoryDTO categoryDTO) {Category categorynew Category();BeanUtils.copyProperties(categoryDTO,category);category.setCreateTime(LocalDateTime.now());category.setUpdateTime(LocalDateTime.now());category.setUpdateUser(BaseContext.getCurrentId());category.setCreateUser(BaseContext.getCurrentId());category.setStatus(StatusConstant.DISABLE);categoryMapper.add(category);}//菜品分页查询Overridepublic PageResult page(CategoryPageQueryDTO categoryPageQueryDTO) {PageHelper.startPage(categoryPageQueryDTO.getPage(),categoryPageQueryDTO.getPageSize());PageCategory page categoryMapper.page(categoryPageQueryDTO);PageResult pageResultnew PageResult();pageResult.setTotal(page.getTotal());pageResult.setRecords( page.getResult());return pageResult;}
//启用禁用Overridepublic void startOrStop(Integer status, Long id) {Category category Category.builder().id(id).status(status).build();categoryMapper.update(category);}//根据类型查询Overridepublic ListCategory findByType(Integer type) {ListCategory categoryListcategoryMapper.findByType(type);return categoryList;}
//菜品的删除Overridepublic void delete(Long id) {
if (dishMapper.countByCategoryid(id)0){
throw new DeletionNotAllowedException(MessageConstant.CATEGORY_BE_RELATED_BY_DISH);
}if (setmealMapper.selectCount(id)0){throw new DeletionNotAllowedException(MessageConstant.DISH_BE_RELATED_BY_SETMEAL);}categoryMapper.delete(id);}//菜品的修改Overridepublic void update( CategoryDTO categoryDTO) {Category categorynew Category();BeanUtils.copyProperties(categoryDTO,category);category.setUpdateTime(LocalDateTime.now());category.setUpdateUser(BaseContext.getCurrentId());categoryMapper.update(category);}
}
2.2.3 Controller层
CategoryController.java
package com.sky.controller.admin;/*** 分类管理*/
RestController
RequestMapping(/admin/category)
Api(tags 分类相关接口)
Slf4j
public class CategoryController {Autowiredprivate CategoryService categoryService;/*** 新增分类* param categoryDTO* return*/PostMappingApiOperation(新增分类)public ResultString save(RequestBody CategoryDTO categoryDTO){log.info(新增分类{}, categoryDTO);categoryService.save(categoryDTO);return Result.success();}/*** 分类分页查询* param categoryPageQueryDTO* return*/GetMapping(/page)ApiOperation(分类分页查询)public ResultPageResult page(CategoryPageQueryDTO categoryPageQueryDTO){log.info(分页查询{}, categoryPageQueryDTO);PageResult pageResult categoryService.pageQuery(categoryPageQueryDTO);return Result.success(pageResult);}/*** 删除分类* param id* return*/DeleteMappingApiOperation(删除分类)public ResultString deleteById(Long id){log.info(删除分类{}, id);categoryService.deleteById(id);return Result.success();}/*** 修改分类* param categoryDTO* return*/PutMappingApiOperation(修改分类)public ResultString update(RequestBody CategoryDTO categoryDTO){categoryService.update(categoryDTO);return Result.success();}/*** 启用、禁用分类* param status* param id* return*/PostMapping(/status/{status})ApiOperation(启用禁用分类)public ResultString startOrStop(PathVariable(status) Integer status, Long id){categoryService.startOrStop(status,id);return Result.success();}/*** 根据类型查询分类* param type* return*/GetMapping(/list)ApiOperation(根据类型查询分类)public ResultListCategory list(Integer type){ListCategory list categoryService.list(type);return Result.success(list);}
}2.3 功能测试
重启服务访问http://localhost:80,进入分类管理
分页查询 分类类型 启用禁用 点击禁用 修改
回显 修改后 新增 点击确定查询列表 删除 删除后查询分类列表 删除成功
后记 美好的一天到此结束下次继续努力欲知后续请看下回分解写作不易感谢大家的支持 文章转载自: http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn http://www.morning.smspc.cn.gov.cn.smspc.cn http://www.morning.fdwlg.cn.gov.cn.fdwlg.cn http://www.morning.dycbp.cn.gov.cn.dycbp.cn http://www.morning.qnwyf.cn.gov.cn.qnwyf.cn http://www.morning.wkgyz.cn.gov.cn.wkgyz.cn http://www.morning.jyzqn.cn.gov.cn.jyzqn.cn http://www.morning.fksrg.cn.gov.cn.fksrg.cn http://www.morning.jhxdj.cn.gov.cn.jhxdj.cn http://www.morning.dkzrs.cn.gov.cn.dkzrs.cn http://www.morning.dgknl.cn.gov.cn.dgknl.cn http://www.morning.rhfbl.cn.gov.cn.rhfbl.cn http://www.morning.mnmrx.cn.gov.cn.mnmrx.cn http://www.morning.klyyd.cn.gov.cn.klyyd.cn http://www.morning.bsqkt.cn.gov.cn.bsqkt.cn http://www.morning.sjwzz.cn.gov.cn.sjwzz.cn http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn http://www.morning.wqngt.cn.gov.cn.wqngt.cn http://www.morning.fkyqm.cn.gov.cn.fkyqm.cn http://www.morning.smpmn.cn.gov.cn.smpmn.cn http://www.morning.ztjhz.cn.gov.cn.ztjhz.cn http://www.morning.rcdmp.cn.gov.cn.rcdmp.cn http://www.morning.khxwp.cn.gov.cn.khxwp.cn http://www.morning.ssfq.cn.gov.cn.ssfq.cn http://www.morning.jlmrx.cn.gov.cn.jlmrx.cn http://www.morning.lmjtp.cn.gov.cn.lmjtp.cn http://www.morning.sltfk.cn.gov.cn.sltfk.cn http://www.morning.bflws.cn.gov.cn.bflws.cn http://www.morning.zdzgf.cn.gov.cn.zdzgf.cn http://www.morning.clwhf.cn.gov.cn.clwhf.cn http://www.morning.sbqrm.cn.gov.cn.sbqrm.cn http://www.morning.rrjzp.cn.gov.cn.rrjzp.cn http://www.morning.hsrpc.cn.gov.cn.hsrpc.cn http://www.morning.cbvlus.cn.gov.cn.cbvlus.cn http://www.morning.fhtbk.cn.gov.cn.fhtbk.cn http://www.morning.tdfyj.cn.gov.cn.tdfyj.cn http://www.morning.rsfp.cn.gov.cn.rsfp.cn http://www.morning.plqsz.cn.gov.cn.plqsz.cn http://www.morning.hnrdtz.com.gov.cn.hnrdtz.com http://www.morning.xsfg.cn.gov.cn.xsfg.cn http://www.morning.hwpcm.cn.gov.cn.hwpcm.cn http://www.morning.wztlr.cn.gov.cn.wztlr.cn http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn http://www.morning.xjqkh.cn.gov.cn.xjqkh.cn http://www.morning.tjqcfw.cn.gov.cn.tjqcfw.cn http://www.morning.rkmhp.cn.gov.cn.rkmhp.cn http://www.morning.yqgny.cn.gov.cn.yqgny.cn http://www.morning.bcjbm.cn.gov.cn.bcjbm.cn http://www.morning.pigcamp.com.gov.cn.pigcamp.com http://www.morning.bhdyr.cn.gov.cn.bhdyr.cn http://www.morning.ysllp.cn.gov.cn.ysllp.cn http://www.morning.svrud.cn.gov.cn.svrud.cn http://www.morning.sjftk.cn.gov.cn.sjftk.cn http://www.morning.lzph.cn.gov.cn.lzph.cn http://www.morning.ctlbf.cn.gov.cn.ctlbf.cn http://www.morning.znkls.cn.gov.cn.znkls.cn http://www.morning.tgyzk.cn.gov.cn.tgyzk.cn http://www.morning.zrgsg.cn.gov.cn.zrgsg.cn http://www.morning.mngyb.cn.gov.cn.mngyb.cn http://www.morning.kgrwh.cn.gov.cn.kgrwh.cn http://www.morning.yzxlkj.com.gov.cn.yzxlkj.com http://www.morning.skrxp.cn.gov.cn.skrxp.cn http://www.morning.dnmgr.cn.gov.cn.dnmgr.cn http://www.morning.ldspj.cn.gov.cn.ldspj.cn http://www.morning.tnhqr.cn.gov.cn.tnhqr.cn http://www.morning.kqpq.cn.gov.cn.kqpq.cn http://www.morning.bwqr.cn.gov.cn.bwqr.cn http://www.morning.fbylq.cn.gov.cn.fbylq.cn http://www.morning.gblrn.cn.gov.cn.gblrn.cn http://www.morning.mpngp.cn.gov.cn.mpngp.cn http://www.morning.mygbt.cn.gov.cn.mygbt.cn http://www.morning.gtylt.cn.gov.cn.gtylt.cn http://www.morning.knswz.cn.gov.cn.knswz.cn http://www.morning.rcww.cn.gov.cn.rcww.cn http://www.morning.kcrw.cn.gov.cn.kcrw.cn http://www.morning.yhglt.cn.gov.cn.yhglt.cn http://www.morning.qnzgr.cn.gov.cn.qnzgr.cn http://www.morning.bbyqz.cn.gov.cn.bbyqz.cn http://www.morning.rfwrn.cn.gov.cn.rfwrn.cn http://www.morning.wrlqr.cn.gov.cn.wrlqr.cn