Java药店技术文档可参考毕业论文
分类: Java ssm MySQL 专栏: java ssm Mysql 标签: Java药店技术说明文档
2023-01-02 16:17:26 739浏览
后台功能
1.1登录和退出
管理员输入账号和密码即可登录,主要使用AdminSpUsersController实现,方法如下:
方法名: | 说明: |
登录: public String login(HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpUsers u) | Phone手机号,upass密码,密码采用md5加密,登录成功之后将数据存入session |
退出: public String logout(HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model) | 移除session里的登录数据 |
如图:
1.2分类管理
为了方便用户查询对药品进行的分类管理,一页10条,还可以根据分类名称搜索,主要使用AdminSpTypeController实现,方法如下:
方法名: | 说明: |
分页及搜索: public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpType t) | pageNo页码(默认显示第一页,非必选),tname分类名称 (非必选) |
跳转编辑或者添加的页面 public String toedit(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpType t) | 当id=null表示添加,不为空则查询回显数据 |
保存添加或者编辑的数据 public String save(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpType a) | 当id=null表示添加,调用add方法,不为空则表示更新调用update方法 |
删除 public String del(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpType a) | 根据id删除 |
管理员可以进行搜索、编辑、添加、分页以及删除分类数据。当进入该管理页面前,会执行 List<SpType> li=spTypeService.queryList(t),使用PageHelper进行分页,将数据封装到pageInfo并传入前台页面。 调用SpTypeMapper.queryList执行sql: SELECT * FROM sp_type WHERE 1 = 1 order by cts desc LIMIT ?
如果需要查询则执行sql:SELECT * FROM sp_type WHERE 1 = 1 AND tnameLIKE concat('%', ?, '%') order by cts desc LIMIT ? 从而实现分页的功能,添加编辑和删除的功能也是如此,分别调用add,update,delete方法,执行对应的sql语句,进而实现这些功能。
如图:
1.3标签管理
为了方便用户快速查询药品,进行标签管理,一页10条,还可以根据标签名称和分类搜索,主要使用AdminSpTagController实现,方法如下:
方法名: | 说明: |
分页及搜索: public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpTag t) | pageNo页码(默认显示第一页,非必选),tag_name分类名称 (非必选),tid分类id(非必选) |
跳转编辑或者添加的页面 public String toedit(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpTag t) | 当id=null表示添加,不为空则查询回显数据 |
保存添加或者编辑的数据 public String save(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpTag a) | 当id=null表示添加,调用add方法,不为空则表示更新调用update方法 |
删除 public String del(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpTag a) | 根据id删除 |
管理员可以进行搜索、编辑、添加、分页以及删除数据。当进入该管理页面前,会执行 List<SpTag> li=spTagService.queryList(t),使用PageHelper进行分页,将数据封装到pageInfo并传入前台页面。 调用SpTypeMapper.queryList执行sql: SELECT * FROM sp_tag WHERE 1 = 1 order by cts desc LIMIT ?
如果需要查询则执行sql:SELECT * FROM sp_tag WHERE 1 = 1 AND tid=? and tag_name LIKE concat('%', ?, '%') order by cts desc LIMIT ? 从而实现分页的功能,添加编辑和删除的功能也是如此,分别调用add,update,delete方法,执行对应的sql语句,进而实现这些功能。
如图:
1.4药品管理
药品管理是该系统的核心功能,除了基本的功能外,为了美观,还使用jquery.photoClip.js对图片进行裁剪 。一页10条,还可以根据药品名称和分类搜索,主要使用AdminSpGoodsController实现,方法如下:
方法名: | 说明: |
分页及搜索: public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoods t) | pageNo页码(默认显示第一页,非必选),gname分类名称 (非必选),tid分类id(非必选) |
跳转编辑或者添加的页面 public String toedit(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoods t) | 当id=null表示添加,不为空则查询回显数据 |
保存添加或者编辑的数据 public String save(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoods a) | 当id=null表示添加,调用add方法,不为空则表示更新调用update方法 |
删除 public String del(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoods a) | 根据id删除 |
上架下架药品 public String putaway(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoods g) | 根据id和前端操作修改status,status=1表示上架,0表示下架 |
管理员可以进行搜索、编辑、添加、分页以及删除数据。当管理员在添加或者编辑商品时可以裁剪图片,添加不同规格和对应的不同价格,还可以上架下架该商品, 使用simditor-1.0.5富文本编译器进行药品内容的编写
如图:
1.5订单管理
订单管理也是核心功能之一,分为待支付订单,待发货订单,待评价订单,已发货订单,已完成订单,申请退款订单,已退看订单 ,主要使用AdminSpOrdersController实现,方法如下:
方法名: | 说明: |
分页及搜索: public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) | pageNo页码(默认显示第一页,非必选),_type必填,查询不同状态的订单,同时还可以根据订单号,药品名称,买家昵称查询 |
发货 public String send(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) | 根据订单id修改订单状态 |
退款 public String refunded(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) | 根据订单id修改订单状态 |
订单管理属于较为复杂的业务逻辑,因为同时设计好几个状态,比如支付(is_pay: 0待支付1已支付),发货(,is_send :0待发货,1已发货),确认收货(is_accept:0待确认收货,1已确认),退款(is_refund:0初始,1已退款,2申请退款),评价(is_evaluate:0待评价,1已评价),不同的状态需要根据这个字段进行不同的赋值查询,如下:
待支付状态:is_pay=0,is_send=0,is_accept=0,is_evaluate=0,is_refund=0;
待发货状态:is_pay=1,is_send=0,is_accept=0,is_evaluate=0,is_refund=0;
待确认收货状态:is_pay=1,is_send=1,is_accept=0,is_evaluate=0,is_refund=0;
待评价状态:is_pay=1,is_send=1,is_accept=1,is_evaluate=0,is_refund=0;
已完成订单:is_pay=1,is_send=1,is_accept=1,is_evaluate=1,is_refund=0;
申请退款:is_pay=1,is_send=0,is_accept=0,is_evaluate=0,is_refund=2;
已退款:is_pay=1,is_send=0,is_accept=0,is_evaluate=0,is_refund=1。
如图:
1.6用户管理
管理员可以查看和搜索注册的用户信息,主要使用AdminSpUsersController实现,方法如下:
方法名: | 说明: |
分页及搜索: public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpUsers a) | pageNo页码(默认显示第一页,非必选), 同时还可以根据 买家昵称或者注册手机号查询查询 |
如图:
1.7药品月统计及统计图表
当用户拍下药品就会修改月统计销量以及总营业额,还可以导出excel,主要使用AdminSpGoodsSalesController实现:
方法名: | 说明: |
分页及搜索: public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoodsSalesa) | pageNo页码(默认显示第一页,非必选), 同时还可以根据 药品名称,特价,分类,标签查询 |
public void getExcel(SpGoodsSales t,HttpServletResponse response,HttpSession session) | 导出excel,使用poi实现 |
统计图表如下:主要是月统计,年统计以及每月销量营业额统计,使用highchart.js实现。
前台功能
1.1首页和详情页
首页上面是导航和轮播图,下面是药品和分类,如下图:
主要使用SpGoodsController实现,功能如下:
方法名: | 说明: |
分页及搜索: public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoodss a) | pageNo页码(默认显示第一页,非必选), 同时还可以根据 药品名称,特价,分类,标签查询 |
public String detail(HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoods g) | Id必填 |
详情页可以加入购物车和直接购买,还可以选择不同的规格进行购买,如下图:
1.2用户中心
用户可以根据手机号进行注册,登录,以及修改个人资料以及密码等,主要使用SpUsersController实现,如下:
方法名: | 说明: |
注册: public String reg(HttpServletRequest request, HttpServletResponse response, HttpSession session, Model model, SpUsers u) | Phone手机号,nickname昵称,upass密码,upass2确认密码,验证手机号唯一性 |
登录 public String login(HttpServletRequest request, HttpServletResponse response, HttpSession session, Model model, SpUsers u) | Phone手机号, upass密码 |
编辑个人资料 public String saveuinfo(HttpServletRequest request, HttpServletResponse response, HttpSession session, Model model, SpUsers u) | Nickname昵称,sex性别,faceing头像 |
修改密码 public String savepwd(HttpServletRequest request, HttpServletResponse response, HttpSession session, Model model)
| Old_Upass原密码,upass新密码,upass2确认密码 |
如图:
1.3采集人脸数据
主要使用的虹软的接口进行人脸特征的采集,使用方法如下:
方法名: | 说明: |
添加人脸数据: public Object addface(Integer id, String baseimg, HttpSession session) | Id用户id,baseimg调用摄像头截图的base64的图片数据 |
调用接口获取人脸特征数据 FaceUtils.getFaceData(bytes) | 分析截图的面部特征值存入数据库,即表示人脸采集成功 |
如图:
这个功能主要的难点是集成人脸识别接口和html5调用摄像头以及截图。
1.4收货地址管理
用户可以添加编辑自己的收货地址,以及设置默认的收货地址,主要使用SpAddressController实现,如下:
方法名: | 说明: |
分页及搜索: public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpAddress t) | pageNo页码(默认显示第一页,非必选) |
跳转编辑或者添加的页面 public String toedit(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpAddress t) | 当id=null表示添加,不为空则查询回显数据 |
保存添加或者编辑的数据 public String save(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpAddress a) | 当id=null表示添加,调用add方法,不为空则表示更新调用update方法 |
删除 public String del(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpAddress a) | 根据id删除 |
设置默认收货地址 public String setdef(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpAddress a) | Id需要设为默认地址的id |
1.5购物车
购物车是前端功能的核心之一,他会把用户选择有意向的药品加入其中,最后用户选择药品支付,用户可以修改数量,删除,单个支付,或者选择性的支付。如图:
主要使用SpCartsController实现,如下:
方法名: | 说明: |
添加购物车: public String save(HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpCarts a) | Gid药品id,buynum购买数量,ginfo药品规格,gprice单价,total_price总价 |
修改购买数量计算总价 public Object getTotalPrice(HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpCarts a) | Gid药品id,buynum购买数量,计算总价,实时更新购物车里的商品总价 |
我的购物车 public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpCarts a) | Uid用户id |
删除购物车商品 public String del(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpCarts a) | Gid药品id |
1.6确认订单
确认订单分为两种,购物车过来的订单,或者待支付的订单,如图,默认显示默认的收货地址,当然,用户也可以选择其他的收货地址。主要使用SpOrdersController实现,如下:
方法名: | 说明: |
购物车生成待支付订单: public String save(HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) | Ids 购物车商品所有的id |
待支付订单确认支付 public String creatOrderFromDetail(HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) | id订单id |
1.7支付
支付分为二维码支付和刷脸支付,如下图:
主要使用方法如下:
方法名: | 说明: |
刷脸识别用户: public Object matchface(String baseimg,HttpSession session) | Baseimg摄像头截图,uid登录者id |
支付 pay(HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) | Id订单id |
1.8我的订单
1.5订单管理
订单管理也是核心功能之一,分为待支付订单,待发货订单,待评价订单,待确认订单,已完成订单,申请退款订单,已退款订单 ,主要使用SpOrdersController实现,方法如下:
方法名: | 说明: |
分页及搜索: public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) | pageNo页码(默认显示第一页,非必选),_type必填,查询不同状态的订单,同时还可以根据订单号,药品名称,买家昵称查询 |
取消未支付订单 public String cancle(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) | 根据订单id修改订单状态 |
评价 public String evaluation(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) | 根据订单id修改订单状态,同时将评价信息保存至数据库 |
申请退款 public String refund(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) | 根据订单id修改订单状态 |
订单管理属于较为复杂的业务逻辑,因为同时设计好几个状态,比如支付(is_pay: 0待支付1已支付),发货(,is_send :0待发货,1已发货),确认收货(is_accept:0待确认收货,1已确认),退款(is_refund:0初始,1已退款,2申请退款),评价(is_evaluate:0待评价,1已评价),不同的状态需要根据这个字段进行不同的赋值查询,如下:
待支付状态:is_pay=0,is_send=0,is_accept=0,is_evaluate=0,is_refund=0;
待发货状态:is_pay=1,is_send=0,is_accept=0,is_evaluate=0,is_refund=0;
待确认收货状态:is_pay=1,is_send=1,is_accept=0,is_evaluate=0,is_refund=0;
待评价状态:is_pay=1,is_send=1,is_accept=1,is_evaluate=0,is_refund=0;
已完成订单:is_pay=1,is_send=1,is_accept=1,is_evaluate=1,is_refund=0;
申请退款:is_pay=1,is_send=0,is_accept=0,is_evaluate=0,is_refund=2;
已退款:is_pay=1,is_send=0,is_accept=0,is_evaluate=0,is_refund=1。
如图:
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
展开评论