基于javaweb+mysql的ssm茶叶售卖商场(java+ssm+jsp+jquery+mysql)(平台、卖家、买家)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM茶叶售卖商场(java+ssm+jsp+jquery+mysql)(平台、卖家、买家)
管理员(后台管理):
admin 123456
卖家
saler1 123456
买家
buyer1 123456
SSM的茶叶商城网站
#项目介绍
该系统主要分为前台和后台两大功能模块,共包含三个角色:卖家、买家和管理员。
具体的系统功能如下:
1.前台功能
前台首页、用户注册、用户登录、新闻公告、茶叶行情、查看茶叶、茶叶详情、加入购物车、加入收藏、购买茶叶、付款结算、添加评论、留言交流、个人中心、我的订单、我的收藏、意见反馈、发布茶叶、我的销售等功能。
2.后台功能
后台系统登陆、用户管理、管理员管理、网站内容管理、茶叶类型管理、茶叶信息管理、购买订单管理、用户评价管理、意见反馈管理、留言交流管理等功能。
由于本程序规模不大,可供课程设计,毕业设计学习演示之用
#环境需要
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/8.0等版本均可;
#技术栈
后台框架:Spring、SpringMVC、MyBatis
UI界面:JSP、jQuery
数据库:MySQL
@RequestMapping("usercenter.action")
public String usercenter() {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
return "users/usercenter";
}
@RequestMapping("userinfo.action")
public String userinfo() {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
String userid = (String) this.getSession().getAttribute("userid");
this.getSession().setAttribute("users", this.usersService.getUsersById(userid));
return "users/userinfo";
}
@RequestMapping("personal.action")
public String personal(Users users) {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
this.usersService.updateUsers(users);
return "redirect:/index/userinfo.action";
}
// 留言板
@RequestMapping("bbs.action")
public String bbs() {
this.front();
List<Bbs> bbsList = this.bbsService.getAllBbs();
this.getRequest().setAttribute("bbsList", bbsList);
return "users/bbs";
}
// 发布留言
if(cond != null){
if ("usersid".equals(cond)) {
complains.setUsersid(name);
}
if ("title".equals(cond)) {
complains.setTitle(name);
}
if ("contents".equals(cond)) {
complains.setContents(name);
}
if ("addtime".equals(cond)) {
complains.setAddtime(name);
}
if ("status".equals(cond)) {
complains.setStatus(name);
}
if ("reps".equals(cond)) {
complains.setReps(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.complainsService.getComplainsByLike(complains), "complains", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null;
return "admin/querycomplains";
}
// 按主键查询数据
@RequestMapping("getComplainsById.action")
public String getComplainsById(String id) {
Complains complains = this.complainsService.getComplainsById(id);
this.getRequest().setAttribute("complains", complains);
List<Users> usersList = this.usersService.getAllUsers();
this.getRequest().setAttribute("usersList", usersList);
return "admin/editcomplains";
}
}
int r = fc + random.nextInt(bc - fc - 16);
int g = fc + random.nextInt(bc - fc - 14);
int b = fc + random.nextInt(bc - fc - 18);
return new Color(r, g, b);
}
/**
* 生成随机图片
*/
public void getRandcode(HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
// BufferedImage类是具有缓冲区的Image类,Image类是用于描述图像信息的类
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
Graphics g = image.getGraphics();// 产生Image对象的Graphics对象,改对象可以在图像上进行各种绘制操作
g.fillRect(0, 0, width, height);
g.setFont(new Font("Times New Roman", Font.ROMAN_BASELINE, 18));
g.setColor(getRandColor(110, 133));
// 绘制干扰线
for (int i = 0; i <= lineSize; i++) {
drowLine(g);
}
// 绘制随机字符
String randomString = "";
for (int i = 1; i <= stringNum; i++) {
randomString = drowString(g, randomString, i);
}
// 将生成的随机字符串保存到session中,而jsp界面通过session.getAttribute("RANDOMCODEKEY"),
// 获得生成的验证码,然后跟用户输入的进行比较
session.removeAttribute(RANDOMCODEKEY);
session.setAttribute(RANDOMCODEKEY, randomString);
g.dispose();
try {
// 将内存中的图片通过流动形式输出到客户端
ImageIO.write(image, "JPEG", response.getOutputStream());
} catch (Exception e) {
e.printStackTrace();
}
}
/*
* 绘制字符串
*/
private String drowString(Graphics g, String randomString, int i) {
int pageNumber = list.size();
int maxPage = pageNumber;
if (maxPage % pageSize == 0) {
maxPage = maxPage / pageSize;
} else {
maxPage = maxPage / pageSize + 1;
}
if (number == null) {
number = "0";
}
int start = Integer.parseInt(number) * pageSize;
int over = (Integer.parseInt(number) + 1) * pageSize;
int count = pageNumber - over;
if (count <= 0) {
over = pageNumber;
}
for (int i = start; i < over; i++) {
Object obj = list.get(i);
objList.add(obj);
}
buffer.append(" 共为");
buffer.append(maxPage);
buffer.append("页 共有");
buffer.append(pageNumber);
buffer.append("条 当前为第");
buffer.append((Integer.parseInt(number) + 1));
buffer.append("页 ");
if ((Integer.parseInt(number) + 1) == 1) {
buffer.append("首页");
} else {
buffer.append("<a href=\"" + name + "/" + action + "?number=0" + path + "\">首页</a>");
}
buffer.append(" ");
if ((Integer.parseInt(number) + 1) == 1) {
buffer.append("上一页");
} else {
buffer.append("<a href=\"" + name + "/" + action + "?number=" + (Integer.parseInt(number) - 1) + "" + path + "\">上一页</a>");
}
buffer.append(" ");
if (maxPage <= (Integer.parseInt(number) + 1)) {
buffer.append("下一页");
} else {
buffer.append("<a href=\"" + name + "/" + action + "?number=" + (Integer.parseInt(number) + 1) + "" + path + "\">下一页</a>");
}
buffer.append(" ");
public String deleteComplains(String id) {
this.complainsService.deleteComplains(id);
return "redirect:/complains/getAllComplains.action";
}
// 批量删除数据
@RequestMapping("deleteComplainsByIds.action")
public String deleteComplainsByIds() {
String[] ids = this.getRequest().getParameterValues("complainsid");
for (String complainsid : ids) {
this.complainsService.deleteComplains(complainsid);
}
return "redirect:/complains/getAllComplains.action";
}
// 更新数据
@RequestMapping("updateComplains.action")
public String updateComplains(Complains complains) {
this.complainsService.updateComplains(complains);
return "redirect:/complains/getAllComplains.action";
}
// 更新状态
@RequestMapping("status.action")
public String status(String id) {
String status = "";
Complains complains = this.complainsService.getComplainsById(id);
if (status.equals(complains.getStatus())) {
status = "";
}
complains.setStatus(status);
this.complainsService.updateComplains(complains);
return "redirect:/complains/getAllComplains.action";
}
// 显示全部数据
@RequestMapping("getAllComplains.action")
public String getAllComplains(String number) {
List<Complains> complainsList = this.complainsService.getAllComplains();
PageHelper.getPage(complainsList, "complains", null, null, 10, number, this.getRequest(), null);
return "admin/listcomplains";
}
// 按条件查询数据 (模糊查询)
@RequestMapping("queryComplainsByCond.action")
public String queryComplainsByCond(String cond, String name, String number) {
Complains complains = new Complains();
if(cond != null){
if ("usersid".equals(cond)) {
complains.setUsersid(name);
}
if ("title".equals(cond)) {
complains.setTitle(name);
}
}
// 添加数据
@RequestMapping("addAdmin.action")
public String addAdmin(Admin admin) {
admin.setAddtime(VeDate.getStringDateShort());
this.adminService.insertAdmin(admin);
return "redirect:/admin/createAdmin.action";
}
// 通过主键删除数据
@RequestMapping("deleteAdmin.action")
public String deleteAdmin(String id) {
this.adminService.deleteAdmin(id);
return "redirect:/admin/getAllAdmin.action";
}
// 批量删除数据
@RequestMapping("deleteAdminByIds.action")
public String deleteAdminByIds() {
String[] ids = this.getRequest().getParameterValues("adminid");
for (String adminid : ids) {
this.adminService.deleteAdmin(adminid);
}
return "redirect:/admin/getAllAdmin.action";
}
// 更新数据
@RequestMapping("updateAdmin.action")
public String updateAdmin(Admin admin) {
this.adminService.updateAdmin(admin);
return "redirect:/admin/getAllAdmin.action";
}
// 显示全部数据
@RequestMapping("getAllAdmin.action")
public String getAllAdmin(String number) {
List<Admin> adminList = this.adminService.getAllAdmin();
PageHelper.getPage(adminList, "admin", null, null, 10, number, this.getRequest(), null);
return "admin/listadmin";
}
// 按条件查询数据 (模糊查询)
@RequestMapping("queryAdminByCond.action")
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
Goods goods = this.goodsService.getGoodsById(id);
this.getRequest().setAttribute("goods", goods);
return "users/editGoods";
}
@RequestMapping("updateGoods.action")
public String updateGoods(Goods goods) {
this.goodsService.updateGoods(goods);
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
return "redirect:/index/myGoods.action";
}
@RequestMapping("deleteGoods.action")
public String deleteGoods(String id) {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
this.goodsService.deleteGoods(id);
return "redirect:/index/myGoods.action";
}
@RequestMapping("preTopic.action")
public String preTopic(String id) {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
Orders orders = this.ordersService.getOrdersById(id);
this.getRequest().setAttribute("id", id);
this.getRequest().setAttribute("orders", orders);
return "users/addTopic";
}
request.setAttribute("html", html);
request.setAttribute(name + "List", objList);
}
}
//定义为控制器
@Controller
// 设置路径
@RequestMapping(value = "/admin" , produces = "text/plain;charset=utf-8")
public class AdminController extends BaseController {
// 注入Service 由于标签的存在 所以不需要getter setter
@Autowired
private AdminService adminService;
// 管理员准备
@RequestMapping("index.action")
public String index() {
return "admin/index";
}
// 管理员登录 1 验证用户名是否存在 2 验证密码是否正确
@RequestMapping("login.action")
public String login() {
String username = this.getRequest().getParameter("username");
String password = this.getRequest().getParameter("password");
Admin adminEntity = new Admin();
adminEntity.setUsername(username);
List<Admin> adminlist = this.adminService.getAdminByCond(adminEntity);
if (adminlist.size() == 0) {
this.getRequest().setAttribute("message", "用户名不存在");
return "redirect:/admin/index.action";
} else {
Admin admin = adminlist.get(0);
if (password.equals(admin.getPassword())) {
this.getSession().setAttribute("adminid", admin.getAdminid());
this.getSession().setAttribute("adminname", admin.getUsername());
this.getSession().setAttribute("realname", admin.getRealname());
} else {
this.getRequest().setAttribute("message", "密码错误");
return "redirect:/admin/index.action";
}
}
return "admin/main";
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
String userid = (String) this.getSession().getAttribute("userid");
Cart cart = new Cart();
cart.setUsersid(userid);
List<Cart> cartList = this.cartService.getCartByCond(cart);
this.getRequest().setAttribute("cartList", cartList);
return "users/cart";
}
// 删除购物车中的产品
@RequestMapping("deletecart.action")
public String deletecart(String id) {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
this.cartService.deleteCart(id);
return "redirect:/index/cart.action";
}
// 结算
@RequestMapping("checkout.action")
public String checkout() {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
String userid = (String) this.getSession().getAttribute("userid");
Cart cart1 = new Cart();
cart1.setUsersid(userid);
List<Cart> cartList = this.cartService.getCartByCond(cart1);
if (cartList.size() == 0) {
this.getRequest().setAttribute("message", "请选购茶叶");
return "redirect:/index/cart.action";
} else {
for (Cart cart : cartList) {
Goods goods = this.goodsService.getGoodsById(cart.getGoodsid());
goods.setSellnum("" + (Integer.parseInt(goods.getSellnum()) + Integer.parseInt(cart.getNum())));
goods.setStorage("" + (Integer.parseInt(goods.getStorage()) - Integer.parseInt(cart.getNum())));
this.goodsService.updateGoods(goods);
String ordercode = "PD" + VeDate.getStringId();
PageHelper.getPage(topicList, "topic", null, null, 10, number, this.getRequest(), null);
return "admin/listtopic";
}
// 按条件查询数据 (模糊查询)
@RequestMapping("queryTopicByCond.action")
public String queryTopicByCond(String cond, String name, String number) {
Topic topic = new Topic();
if(cond != null){
if ("usersid".equals(cond)) {
topic.setUsersid(name);
}
if ("ordersid".equals(cond)) {
topic.setOrdersid(name);
}
if ("goodsid".equals(cond)) {
topic.setGoodsid(name);
}
if ("num".equals(cond)) {
topic.setNum(name);
}
if ("contents".equals(cond)) {
topic.setContents(name);
}
if ("addtime".equals(cond)) {
topic.setAddtime(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.topicService.getTopicByLike(topic), "topic", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null;
return "admin/querytopic";
}
// 按主键查询数据
@RequestMapping("getTopicById.action")
public String getTopicById(String id) {
Topic topic = this.topicService.getTopicById(id);
this.getRequest().setAttribute("topic", topic);
List<Users> usersList = this.usersService.getAllUsers();
this.getRequest().setAttribute("usersList", usersList);
List<Orders> ordersList = this.ordersService.getAllOrders();
this.getRequest().setAttribute("ordersList", ordersList);
List<Goods> goodsList = this.goodsService.getAllGoods();
this.getRequest().setAttribute("goodsList", goodsList);
return "admin/edittopic";
}
if ("hits".equals(cond)) {
bbs.setHits(name);
}
if ("repnum".equals(cond)) {
bbs.setRepnum(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.bbsService.getBbsByLike(bbs), "bbs", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null;
return "admin/querybbs";
}
// 按主键查询数据
@RequestMapping("getBbsById.action")
public String getBbsById(String id) {
Bbs bbs = this.bbsService.getBbsById(id);
this.getRequest().setAttribute("bbs", bbs);
List<Users> usersList = this.usersService.getAllUsers();
this.getRequest().setAttribute("usersList", usersList);
return "admin/editbbs";
}
}
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.rebbsService.getRebbsByLike(rebbs), "rebbs", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null;
return "admin/queryrebbs";
}
// 按主键查询数据
@RequestMapping("getRebbsById.action")
public String getRebbsById(String id) {
Rebbs rebbs = this.rebbsService.getRebbsById(id);
this.getRequest().setAttribute("rebbs", rebbs);
List<Users> usersList = this.usersService.getAllUsers();
this.getRequest().setAttribute("usersList", usersList);
List<Bbs> bbsList = this.bbsService.getAllBbs();
this.getRequest().setAttribute("bbsList", bbsList);
return "admin/editrebbs";
}
}
public class RandomValidateCode {
public static final String RANDOMCODEKEY = "RANDOMVALIDATECODEKEY";// 放到session中的key
// private String randString = "0123456789";//随机产生只有数字的字符串 private String
private String randString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";// 随机产生只有字母的字符串
// private String randString = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";//随机产生数字与字母组合的字符串
private int width = 95;// 图片宽
private int height = 25;// 图片高
private int lineSize = 40;// 干扰线数量
private int stringNum = 4;// 随机产生字符数量
private Random random = new Random();
/*
* 获得字体
*/
buffer.append(" 共为");
buffer.append(maxPage);
buffer.append("页 共有");
buffer.append(pageNumber);
buffer.append("条 当前为第");
buffer.append((Integer.parseInt(number) + 1));
buffer.append("页 ");
if ((Integer.parseInt(number) + 1) == 1) {
buffer.append("首页");
} else {
buffer.append("<a href=\"" + name + "/" + action + "?number=0" + path + "\">首页</a>");
}
buffer.append(" ");
if ((Integer.parseInt(number) + 1) == 1) {
buffer.append("上一页");
} else {
buffer.append("<a href=\"" + name + "/" + action + "?number=" + (Integer.parseInt(number) - 1) + "" + path + "\">上一页</a>");
}
buffer.append(" ");
if (maxPage <= (Integer.parseInt(number) + 1)) {
buffer.append("下一页");
} else {
buffer.append("<a href=\"" + name + "/" + action + "?number=" + (Integer.parseInt(number) + 1) + "" + path + "\">下一页</a>");
}
buffer.append(" ");
if (maxPage <= (Integer.parseInt(number) + 1)) {
buffer.append("尾页");
} else {
buffer.append("<a href=\"" + name + "/" + action + "?number=" + (maxPage - 1) + "" + path + "\">尾页</a>");
}
String html = buffer.toString();
request.setAttribute("html", html);
request.setAttribute(name + "List", objList);
}
public static void getUserPage(List<?> list, String name, String actionName, int pageSize, String number, HttpServletRequest request) {
StringBuffer buffer = new StringBuffer();
String path = "";
String action = actionName + ".action";
List<Object> objList = new ArrayList<Object>();
int pageNumber = list.size();
int maxPage = pageNumber;
if (maxPage % pageSize == 0) {
maxPage = maxPage / pageSize;
} else {
maxPage = maxPage / pageSize + 1;
}
private String randString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";// 随机产生只有字母的字符串
// private String randString = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";//随机产生数字与字母组合的字符串
private int width = 95;// 图片宽
private int height = 25;// 图片高
private int lineSize = 40;// 干扰线数量
private int stringNum = 4;// 随机产生字符数量
private Random random = new Random();
/*
* 获得字体
*/
private Font getFont() {
return new Font("Fixedsys", Font.CENTER_BASELINE, 18);
}
/*
* 获得颜色
*/
private Color getRandColor(int fc, int bc) {
if (fc > 255)
fc = 255;
if (bc > 255)
bc = 255;
int r = fc + random.nextInt(bc - fc - 16);
int g = fc + random.nextInt(bc - fc - 14);
int b = fc + random.nextInt(bc - fc - 18);
return new Color(r, g, b);
}
/**
* 生成随机图片
*/
public void getRandcode(HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
// BufferedImage类是具有缓冲区的Image类,Image类是用于描述图像信息的类
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
Graphics g = image.getGraphics();// 产生Image对象的Graphics对象,改对象可以在图像上进行各种绘制操作
g.fillRect(0, 0, width, height);
g.setFont(new Font("Times New Roman", Font.ROMAN_BASELINE, 18));
g.setColor(getRandColor(110, 133));
// 绘制干扰线
for (int i = 0; i <= lineSize; i++) {
drowLine(g);
}
// 绘制随机字符
String randomString = "";
for (int i = 1; i <= stringNum; i++) {
randomString = drowString(g, randomString, i);
}
// 将生成的随机字符串保存到session中,而jsp界面通过session.getAttribute("RANDOMCODEKEY"),
// 获得生成的验证码,然后跟用户输入的进行比较
this.getRequest().setAttribute("id", id);
Orders orders = this.ordersService.getOrdersById(id);
this.getRequest().setAttribute("orders", orders);
return "users/pay";
}
// 付款
@RequestMapping("pay.action")
public String pay(String id) {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
Orders orders = this.ordersService.getOrdersById(this.getRequest().getParameter("id"));
orders.setStatus("已付款");
this.ordersService.updateOrders(orders);
return "redirect:/index/showOrders.action";
}
// 确认收货
@RequestMapping("over.action")
public String over(String id) {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
Orders orders = this.ordersService.getOrdersById(this.getRequest().getParameter("id"));
orders.setStatus("已收货");
this.ordersService.updateOrders(orders);
return "redirect:/index/showOrders.action";
}
// 取消订单
@RequestMapping("cancel.action")
public String cancel(String id) {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
Orders orders = this.ordersService.getOrdersById(this.getRequest().getParameter("id"));
orders.setStatus("已取消");
this.ordersService.updateOrders(orders);
return "redirect:/index/showOrders.action";
}
// 按分类查询
@RequestMapping("cate.action")
public String cate(String id, String number) {
this.front();
Goods goods = new Goods();
goods.setCateid(id);
List<Goods> tempList = this.goodsService.getGoodsByCond(goods);
Rebbs rebbs = new Rebbs();
if(cond != null){
if ("usersid".equals(cond)) {
rebbs.setUsersid(name);
}
if ("bbsid".equals(cond)) {
rebbs.setBbsid(name);
}
if ("contents".equals(cond)) {
rebbs.setContents(name);
}
if ("addtime".equals(cond)) {
rebbs.setAddtime(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.rebbsService.getRebbsByLike(rebbs), "rebbs", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null;
return "admin/queryrebbs";
}
// 按主键查询数据
@RequestMapping("getRebbsById.action")
public String getRebbsById(String id) {
Rebbs rebbs = this.rebbsService.getRebbsById(id);
this.getRequest().setAttribute("rebbs", rebbs);
List<Users> usersList = this.usersService.getAllUsers();
this.getRequest().setAttribute("usersList", usersList);
List<Bbs> bbsList = this.bbsService.getAllBbs();
this.getRequest().setAttribute("bbsList", bbsList);
return "admin/editrebbs";
}
}
@Autowired
private TopicService topicService;
@RequestMapping("chartline.action")
@ResponseBody
public String chartline() throws JSONException {
String start = this.getRequest().getParameter("start");
String end = this.getRequest().getParameter("end");
long days = VeDate.getDays(end, start) + 1;
JSONArray total = new JSONArray();
JSONArray count = new JSONArray();// 定义count存放数值
JSONArray day = new JSONArray(); // 存放名称
for (int i = 0; i < days; i++) {
String nxtDay = VeDate.getNextDay(start, "" + i);
System.out.println(nxtDay);
Orders orders = new Orders();
orders.setAddtime(nxtDay);
List<Orders> list = this.ordersService.getOrdersByCond(orders);
double sellTotal = 0;
double sellCount = 0;
for (Orders x : list) {
sellTotal += Double.parseDouble(x.getTotal());
}
sellCount = list.size();
total.put(VeDate.getDouble(sellTotal));
count.put(sellCount);
day.put(nxtDay);
}
JSONArray cate = new JSONArray();
cate.put("订单收入");
JSONObject json = new JSONObject();
json.put("sellTotal", total.toString());
json.put("days", day.toString().replaceAll("\"", ""));
json.put("cate", cate.toString().replaceAll("\"", ""));
System.out.println(json.toString());
return json.toString();
}
@RequestMapping("chartPie.action")
@ResponseBody
public String chartPie() throws JSONException {
JSONArray names = new JSONArray();
JSONArray count = new JSONArray();// 定义count存放数值
int stars1 = 0;
int stars2 = 0;
int stars3 = 0;
int stars4 = 0;
int stars5 = 0;
names.put("非常满意");
names.put("满意");
names.put("一般");
names.put("不满意");