项目介绍
本项目分为前后台,分为管理员与普通用户两种角色,管理员登录后台,普通用户登录前台;
管理员角色包含以下功能:
管理员登录,订单管理,客户管理,药品管理,类目管理等功能。
用户角色包含以下功能:
用户首页,查看药品详情,用户登录,查看购物车,提交订单付款,我的订单管理,用户个人中心等功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:否;
技术栈
JSP+CSS+jQuery+bootstrap+mysql+servlet
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中src/utils/DBUtil.java配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/jsp_medi/ 登录 注:tomcat中配置项目路径必须为jsp_medi,否则会有异常;
用户账号/密码:user/123456
管理员账号/密码:admin/admin
项目运行截图
订单管理控制层代码:
@Controller
@RequestMapping(value = "orders/orders", method = {RequestMethod.POST})
public class OrdersController {
@Autowired
OrdersService ordersService;
/**
* 获取指定数量的订单信息
* @param offset 偏移量
* @param limit 限制返回条数
* @return Map 返回相关状态及信息
* @throws Exception 异常
*/
@RequestMapping(value = "getLimitOrders")
public @ResponseBody
Map<String, Object> getLimitOrders(@RequestParam(value = "offset") int offset,
@RequestParam(value = "limit") int limit) throws Exception {
List<Orders> ordersList = ordersService.getLimitOrders(offset, limit);
Map<String, Object> result = new HashMap<String, Object>();
if (ordersList.size() > 0) {
result.put("state", "success");
result.put("result", ordersList);
} else {
result.put("state", "fail");
result.put("reason", null);
}
return result;
}
/**
* 获取订单总量
* @return Map 返回相关状态及信息
* @throws Exception 异常
*/
@RequestMapping(value = "getOrdersCount")
public @ResponseBody
Map<String, Object> getOrdersCount() throws Exception {
int count = ordersService.count();
Map<String, Object> result = new HashMap<String, Object>();
if (count > 0) {
result.put("state", "success");
result.put("result", count);
} else {
result.put("state", "fail");
result.put("reason", 0);
}
return result;
}
/**
* 根据订单ID更新订单信息
* @param orders 新的订单信息
* @return Map 返回相关状态及信息
* @throws Exception 异常
*/
@RequestMapping(value = "updateOrdersById")
public @ResponseBody
Map<String, Object> updateOrdersById(@RequestBody Orders orders) throws Exception {
int updateCount = ordersService.updateById(orders);
Map<String, Object> result = new HashMap<String, Object>();
if (updateCount > 0) {
result.put("state", "success");
result.put("result", updateCount);
} else {
result.put("state", "fail");
result.put("reason", 0);
}
return result;
}
/**
* 根据订单ID数组删除一些订单信息
* @param ordersIds 订单ID数组
* @return Map 返回相关状态及信息
* @throws Exception 异常
*/
@RequestMapping(value = "deleteSomeOrders")
public @ResponseBody
Map<String, Object> deleteSomeOrders(@RequestParam(value = "ordersIds[]") String[] ordersIds) throws Exception {
int deleteNum = ordersService.deleteSomeOrders(ordersIds);
Map<String, Object> result = new HashMap<String, Object>();
if (deleteNum > 0) {
result.put("state", "success");
result.put("result", deleteNum);
} else {
result.put("state", "fail");
result.put("reason", null);
}
return result;
}
/**
* 添加多条订单信息
* @param ordersList 订单集合
* @return Map 返回相关状态及信息
* @throws Exception 异常
*/
@RequestMapping(value = "addSomeOrders")
public @ResponseBody
Map<String, Object> addSomeOrders(@RequestBody List<Orders> ordersList) throws Exception {
int addNum = ordersService.addSomeOrders(ordersList);
Map<String, Object> result = new HashMap<String, Object>();
if (addNum > 0) {
result.put("state", "success");
result.put("result", addNum);
} else {
result.put("state", "fail");
result.put("reason", null);
}
return result;
}
}