Java药店技术文档可参考毕业论文

无敌的宇宙
无敌的宇宙
擅长邻域:Java,HTML,JavaScript,MySQL,支付,退款,图片上传

分类: Java ssm MySQL 专栏: java ssm Mysql 标签: Java药店技术说明文档

2023-01-02 16:17:26 409浏览

Java药店技术文档可参考毕业论文

后台功能

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展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695