



本模板基于:Vue与Mysql数据库开发
系统功能实现
进入到这个环节,也就可以及时检查出前面设计的需求是否可靠了。一个设计良好的方案在运用于系统实现中,是会帮助系统编制人员节省时间,并提升开发效率的。所以在系统的编程阶段,也就是系统实现阶段,对于一些不合理的设计需求,也是可以及时发现。因为设计的方案是完全指导系统的编码过程的。
管理员功能实现
商品信息管理
管理员进入指定功能操作区之后可以管理商品信息。管理员对商品信息进行增删改查操作。
管理员可以查询商品的信息列表,实现代码如下所示:
/**
* 后端列表
*/
@RequestMapping(“/page”)
public R page(@RequestParam Map<String, Object> params,ShangpinxinxiEntity shangpinxinxi,
HttpServletRequest request){
EntityWrapper<ShangpinxinxiEntity> ew = new EntityWrapper<ShangpinxinxiEntity>();
PageUtils page = shangpinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shangpinxinxi), params), params));
return R.ok().put(“data”, page);
}
前端页面向后台控制器发送了一个查询商品信息的ajax的GET请求,请求的名为/shangpinxinxi/page,并传输过来要查询的条件,封装到后台中定义的params中,params中的key就是字段名,value就是条件,之后调用shangpinxinxiService类中的queryPage方法,查询出来数据返回给前端
已支付订单
管理员进入指定功能操作区之后可以管理已支付订单。其页面见下图。管理员查看用户已支付订单的收货地址并安排发货。
管理员查询已支付订单:
/**
* 后端列表
*/
@RequestMapping(“/page”)
public R page(@RequestParam Map<String, Object> params,OrdersEntity orders,
HttpServletRequest request){
if(!request.getSession().getAttribute(“role”).toString().equals(“管理员”)) {
orders.setUserid((Long)request.getSession().getAttribute(“userId”));
}
EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));
return R.ok().put(“data”, page);
}
前端页面向后台控制器发送了一个查询已支付订单的ajax的GET请求,请求的名为/orders/page,并传输过来要查询的条件,封装到后台中定义的params中,params中的key就是字段名,value就是条件,里面条件有页数,条数,状态为已支付和其他。从web服务的request作用域中取出当前用户的权限,如果是用户 就把用户的id塞入查询条件中,之后调用ordersService类中的queryPage方法查询数据,查询出来数据返回给前端
在线门诊管理
管理员进入指定功能操作区之后可以管理门诊信息。管理员对门诊信息进行增删改查操作。
新增在线门诊:
/**
* 后端保存
*/
@RequestMapping(“/save”)
public R save(@RequestBody ZaixianmenzhenEntity zaixianmenzhen, HttpServletRequest request){
zaixianmenzhen.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(zaixianmenzhen);
zaixianmenzhenService.insert(zaixianmenzhen);
return R.ok();
}
前端页面向后台控制器发送了一个新增在线门诊的POST请求,请求的名为/zaixianmenzhen/save,把在线门诊信息封装在后台定义的zaixianmenzhen对象中,由于id是唯一的,不允许重复,所以取当前时间的毫秒数加上随机出来的整数作为id,保证唯一性,然后调用mybatis-plus的insert方法,把数据新增到数据库中。
留言板管理
管理员进入指定功能操作区之后可以管理留言信息。管理员点击回复按钮可以回复用户的留言。
回复留言:
/**
* 修改
*/
@RequestMapping(“/update”)
public R update(@RequestBody MessagesEntity messages, HttpServletRequest request){
//ValidatorUtils.validateEntity(messages);
messagesService.updateById(messages);//全部更新
return R.ok();
}
前端页面向后台控制器发送了一个回复留言的POST请求,请求的名为/messages/update,把回复的留言封装在后台定义的messages对象中,通过mybatis-plus的updateById方法通过id把回复的留言修改上去,然后返回给前台修改成功。
医生功能实现
在线挂号管理
医生进入指定功能操作区之后可以管理挂号信息。医生负责审核用户提交的挂号信息,然后对宠物进行诊疗。
在线挂号详情查询:
/**
* 后端详情
*/
@RequestMapping(“/info/{id}”)
public R info(@PathVariable(“id”) Long id){
ZaixianguahaoEntity zaixianguahao = zaixianguahaoService.selectById(id);
return R.ok().put(“data”, zaixianguahao);
}
前端页面向后台控制器发送了一个查看挂号详情的ajax的GET请求,请求的名为/zaixianguahao //info/{id},把要查询的数据的id传到后台,后台用id进行接收,然后用mybatis-plus的selectById方法通过id把当前挂号的详情查询出来,封装到zaixianguahao对象中,再把挂号对象封装到R中,返回给前台,进行展示。
宠物诊疗管理
医生进入指定功能操作区之后可以管理宠物诊疗信息。医生查询宠物诊疗信息,查看宠物诊疗的详情,包括宠物症状描述,诊断以及药方等信息。
宠物诊疗详情查询:
/**
* 后端详情
*/
@RequestMapping(“/info/{id}”)
public R info(@PathVariable(“id”) Long id){
ChongwuzhenliaoEntity chongwuzhenliao = chongwuzhenliaoService.selectById(id);
return R.ok().put(“data”, chongwuzhenliao);
}
前端页面向后台控制器发送了一个查看宠物诊疗详情的ajax的GET请求,请求的名为/chongwuzhenliao//info/{id},把要查询的数据的id传到后台,后台用id进行接收,然后用mybatis-plus的selectById方法通过id把当前挂号的详情查询出来,封装到chongwuzhenliao对象中,再把宠物诊疗对象封装到R中,返回给前台,进行展示。
用户功能实现
在线门诊
用户进入指定功能操作区之后可以查看门诊信息。用户在本页面可以对医生进行挂号。
用户在线挂号:
/**
* 前端保存
*/
@RequestMapping(“/add”)
public R add(@RequestBody ZaixianguahaoEntity zaixianguahao, HttpServletRequest request){
zaixianguahao.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(zaixianguahao);
zaixianguahaoService.insert(zaixianguahao);
return R.ok();
}
前端页面向后台控制器发送了一个新增挂号的的ajax的POST请求,请求的名为/zaixianguahao/add,把当前登录的用户和挂号原因和宠物信息等字段封装到后台定义的zaixianguahao对象中,由于id是唯一的,不能重复,所以取当前时间的毫秒数加上随机整数,保证id唯一性,然后用mybatis-plus的insert方法把当前挂号对象封装到数据库中,返回给前端新增成功。
商品信息
用户进入指定功能操作区之后可以查看商品信息。用户在本页面可以购买商品,收藏商品。
用户查询商品详情:
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping(“/detail/{id}”)
public R detail(@PathVariable(“id”) Long id){
ShangpinxinxiEntity shangpinxinxi = shangpinxinxiService.selectById(id);
shangpinxinxi.setClicknum(shangpinxinxi.getClicknum()+1);
shangpinxinxi.setClicktime(new Date());
shangpinxinxiService.updateById(shangpinxinxi);
return R.ok().put(“data”, shangpinxinxi);
}
前端页面向后台控制器发送了一个查看商品详情的ajax的GET请求,请求的名为/shangpinxinxi/detail/{id},把要查询的数据的id传到后台,后台用id进行接收,然后用mybatis-plus的selectById方法通过id把当前商品的详情查询出来,封装到shangpinxinxi对象中,再把商品信息封装到R中,返回给前台,进行展示。
购物车
用户进入指定功能操作区之后可以管理购物车信息。用户对购物车商品进行筛选,对需要购买的商品进行下单支付。
购物车列表:
/**
* 前端列表
*/
@RequestMapping(“/list”)
public R list(@RequestParam Map<String, Object> params,CartEntity cart,
HttpServletRequest request){
EntityWrapper<CartEntity> ew = new EntityWrapper<CartEntity>();
PageUtils page = cartService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, cart), params), params));
return R.ok().put(“data”, page);
}
前端页面向后台控制器发送了一个查询购物车的ajax的GET请求,请求的名为/cart/list,并传输过来要查询的条件,封装到后台中定义的params中,params中的key就是字段名,value就是条件,里面条件有页数,条数和其他。之后调用cartService类中的queryPage方法查询数据,由于cartService是抽象类,所以在调用cartService的时候会自动调用cartServiceImpl类,调用其中的queryPage方法,查询出来数据,把查询出来数据返回给前端,进行展示。
宠物寄养
用户进入指定功能操作区之后可以查看宠物寄养信息。用户查看宠物寄养详情,收藏宠物寄养信息。
宠物寄养列表:
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping(“/list”)
public R list(@RequestParam Map<String, Object> params,ChongwujiyangEntity chongwujiyang,
HttpServletRequest request){
EntityWrapper<ChongwujiyangEntity> ew = new EntityWrapper<ChongwujiyangEntity>();
PageUtils page = chongwujiyangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chongwujiyang), params), params));
return R.ok().put(“data”, page);
}
前端页面向后台控制器发送了一个查询宠物寄养列表的ajax的GET请求,请求的名为/chongwujiyang/list,并传输过来要查询的条件,封装到后台中定义的params中,params中的key就是字段名,value就是条件,里面条件有页数,条数和其他。之后调用chongwujiyangService类中的queryPage方法查询数据,由于chongwujiyangService是抽象类,所以在调用chongwujiyangService的时候会自动调用chongwujiyangServiceImpl类,调用其中的queryPage方法,查询出来数据,把查询出来数据返回给前端,进行展示。
评论(0)