【211】springboot商城含支付宝沙箱支付
开发工具:idea
数据库mysql5.7+
数据库链接工具:navcat,小海豚等
技术:springboot
package com.scut.mall.controller.adminUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.scut.mall.entity.AdminUser;
import com.scut.mall.entity.pojo.ResultBean;
import com.scut.mall.service.AdminUserService;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/admin")
public class AdminController {
@Autowired
private AdminUserService adminUserService;
/**
* 访问首页
*
* @return
*/
@RequestMapping("/toIndex.html")
public String toIndex() {
return "/admin/index";
}
/**
* 访问登录页面
*
* @return
*/
@RequestMapping("/toLogin.html")
public String toLogin() {
return "admin/login";
}
/**
* 添加管理员页面
* @return
*/
@RequestMapping("/admin/toAdd.html")
public String toAdd(){return "admin/adminUser/add";}
/**
* 登录请求
*
* @param username
* @param password
*/
@RequestMapping(method = RequestMethod.POST, value = "/login.do")
public void login(String username, String password, HttpServletRequest request, HttpServletResponse response) throws IOException {
AdminUser adminUser = adminUserService.checkLogin(request, username, password);
response.sendRedirect("/mall/admin/toIndex.html");
}
/**
* 退出登录
* @param request
* @param response
* @throws IOException
*/
@RequestMapping("/logout.do")
public void logout(HttpServletRequest request, HttpServletResponse response) throws IOException {
request.getSession().removeAttribute("login_user");
response.sendRedirect("toLogin.html");
}
/**
* create by: Kobe
* description:业务员信息界面
* create time: 12:28 2021/4/30
*
* @return
*/
@RequestMapping("admin/toList.html")
public String toAdminList(){
return "/admin/adminUser/list";
}
//跳转到错误页面
@RequestMapping("admin/toError.html")
public String toError(){
return "/admin/adminUser/error";
}
/**
* 获取所有订单的总数
* @return
*/
@ResponseBody
@RequestMapping("admin/getTotal.do")
public ResultBean<Integer> getTotal() {
Pageable pageable =PageRequest.of(1, 15, Sort.by(Sort.Direction.ASC,"id"));
int total = (int) adminUserService.findAll(pageable).getTotalElements();
return new ResultBean<>(total);
}
@RequestMapping("/toEdit.html")
public String toEdit(int id, Map<String, Object> map) {
AdminUser adminUser = adminUserService.findById(id);
map.put("adminUser", adminUser);
return "admin/adminUser/edit";
}
/**
* create by: Kobe
* description:超级管理员查看业务员信息
* create time: 12:33 2021/4/30
* @return
*/
@ResponseBody
@RequestMapping("admin/list.do")
public ResultBean<List<AdminUser>> findAllUser(int pageindex,
@RequestParam(value = "pageSize", defaultValue = "15") int pageSize){
Pageable pageable =PageRequest.of(pageindex, pageSize, Sort.by(Sort.Direction.ASC,"id"));
List<AdminUser> adminUsers=adminUserService.findAll(pageable).getContent();
return new ResultBean<>(adminUsers);
}
/**
* 验证用户名是否唯一
* @param userName
* @return
*/
@ResponseBody
@RequestMapping("/admin/checkUsername.do")
public ResultBean<Boolean> checkUsername(String userName){
List<AdminUser> adminUsers = adminUserService.findByUserName(userName);
if (adminUsers==null||adminUsers.isEmpty()){
return new ResultBean<>(true);
}
return new ResultBean<>(false);
}
@ResponseBody
@RequestMapping(method = RequestMethod.POST,value="/admin/addAdmin.do")
public void addAdmin(String userName,String password,
HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
AdminUser adminUser=new AdminUser();
adminUser.setUserName(userName);
adminUser.setPassword(password);
adminUser.setIsSaleMan(1);
int id=adminUserService.create(adminUser);if (id <= 0) {
request.setAttribute("message", "添加失败!");
request.getRequestDispatcher("toAdd.html").forward(request,response);
} else {
request.setAttribute("message", "添加成功!");
request.getRequestDispatcher("toList.html").forward(request, response);
}
}
@ResponseBody
@RequestMapping("admin/del.do")
public ResultBean<Boolean> delAdmin(Integer id){
adminUserService.delById(id);
return new ResultBean<>(true);
}
@ResponseBody
@RequestMapping(method = RequestMethod.POST, value = "/update.do")
public ResultBean<Boolean> update(int id,String userName,
String password, Integer isSaleMan,HttpServletRequest request,
HttpServletResponse response) throws Exception {
// 更新前先查询
AdminUser adminUser = adminUserService.findById(id);
adminUser.setId(id);
adminUser.setUserName( userName );
adminUser.setPassword(password);
adminUser.setIsSaleMan(isSaleMan);
adminUserService.update(adminUser);
return new ResultBean<>(true);
}
}
package com.scut.mall.controller.user;
import com.scut.mall.entity.*;
import com.scut.mall.entity.pojo.ResultBean;
import com.scut.mall.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @ Author :java
* @ Date :2021/4/28 23:46
* @ Description:产品控制层类
* @ Modified By:
*/
@Controller
@RequestMapping("/product")
public class ProductController {
@Autowired
private ProductService productService;
@Autowired
private ProductCategoryService productCategoryService;
@Autowired
private ShopCartService shopCartService;
@Autowired
private AddressService addressService;
@Autowired
private MessageService messageService;
/**
* create by: java
* description: 获取商品信息
* create time: 2021/4/29 10:58
* @param id
* @return
*/
@RequestMapping("/get.do")
public ResultBean<Product> getProduct(int id) {
Product product = productService.findById(id);
return new ResultBean<>(product);
}
/**
* create by: java
* description: 打开商品详情页面
* create time: 2021/4/29 11:01
* @param id
* @param map
* @return
*/
@RequestMapping("/get.html")
public String toProductPage(int id, Map<String, Object> map) {
Product product = productService.findById(id);
map.put("product", product);
List<Message> messageList = messageService.findByMessage(product.getId());
map.put("messageList", messageList);
return "mall/product/info";
}
/**
* create by: java
* description: 查找热门商品
* create time: 2021/4/29 11:01
* @Param: null
* @return
*/
@ResponseBody
@RequestMapping("/hot.do")
public ResultBean<List<Product>> getHotProduct() {
List<Product> products = productService.findHotProduct();
return new ResultBean<>(products);
}
@RequestMapping("/search.do")
@ResponseBody
public ResultBean<List<Product>> toSearchPage(String keyword,Map<String, Object> map,HttpServletRequest request) {
String serchname = (String) request.getSession().getAttribute("serchname");
List<Product> products = productService.findAll();
List<Product> list = new ArrayList<>();
for (Product product:products) {
if(product.getTitle().contains(serchname)){
list.add(product);
}
}
map.put("products", list);
return new ResultBean<>(list);
}
/**
* 关键字搜索
*
* @return
*/
@RequestMapping("/serchPro.html")
public String serchPro(String serchname,HttpServletRequest request) {
request.getSession().setAttribute("serchname",serchname);
return "mall/product/product";
}
/**
* create by: java
* description:
* create time: 2021/4/29 11:02
* @param pageNo
* @param pageSize
* @return
*/
@ResponseBody
@RequestMapping("/new.do")
public ResultBean<List<Product>> getNewProduct(int pageNo, int pageSize) {
Pageable pageable = new PageRequest(pageNo, pageSize);
List<Product> products = productService.findNewProduct(pageable);
return new ResultBean<>(products);
}
/**
* create by: java
* description: 打开分类查看商品页面
* create time: 2021/4/29 11:02
* @Param: null
* @return
*/
@RequestMapping("/category.html")
public String toCatePage(int cid, Map<String, Object> map) {
ProductCategory productCategory = productCategoryService.findById(cid);
map.put("category", productCategory);
return "mall/product/category";
}
@RequestMapping("/toCart.html")
public String toCart(){
return "mall/product/cart";
}
/**
* create by: java
* description: 根据一级分类查找商品
* create time: 2021/4/29 11:03
* @param cid
* @param pageNo
* @param pageSize
* @return
*/
@ResponseBody
@RequestMapping("/category.do")
public ResultBean<List<Product>> getCategoryProduct(int cid, int pageNo, int pageSize) {
Pageable pageable =PageRequest.of(pageNo, pageSize, Sort.by(Sort.Direction.ASC,"id"));
List<Product> products = productService.findByProductCategoryId(cid, pageable);
return new ResultBean<>(products);
}
/**
* create by: java
* description: 按二级分类查找商品
* create time: 2021/4/5 19:23
* @param csId
* @param pageNo
* @param pageSize
* @return
*/
@ResponseBody
@RequestMapping("/categorySec.do")
public ResultBean<List<Product>> getCategorySecProduct(int csId, int pageNo, int pageSize) {
Pageable pageable =PageRequest.of(pageNo, pageSize, Sort.by(Sort.Direction.ASC,"id"));
List<Product> products = productService.findByProductCategorySecondId(csId, pageable);
return new ResultBean<>(products);
}
/**
* 根据一级分类查询它所有的二级分类
* @param cid
* @return
*/
@ResponseBody
@RequestMapping("/getCategorySec.do")
public ResultBean<List<ProductCategory>> getCategorySec(int cid){
List<ProductCategory> list = productCategoryService.findByParentId(cid);
return new ResultBean<>(list);
}
/**
* create by: java
* description: 加购物车
* create time: 2021/4/29 11:04
* @param productId
* @param request
* @return
*/
@ResponseBody
@RequestMapping("/addCart.do")
public ResultBean<Boolean> addToCart(int productId, HttpServletRequest request) throws Exception {
shopCartService.addCart(productId, request);
return new ResultBean<>(true);
}
/**
* create by: java
* description: 移除购物车
* create time: 2021/4/29 11:04
* @param productId
* @param request
* @return
*/
@ResponseBody
@RequestMapping("/delCart.do")
public ResultBean<Boolean> delToCart(int productId, HttpServletRequest request) throws Exception {
shopCartService.remove(productId, request);
return new ResultBean<>(true);
}
/**
* create by: java
* description: 查看购物车商品
* create time: 2021/4/29 11:05
* @Param: request
* @return
*/
@ResponseBody
@RequestMapping("/listCart.do")
public ResultBean<List<OrderItem>> listCart(HttpServletRequest request) throws Exception {
List<OrderItem> orderItems = shopCartService.listCart(request);
return new ResultBean<>(orderItems);
}
/**
* create by: Cillivian
* description:加载地址信息
* create time: 15:14 2021/4/11 0011
*
* @Param: request
* @return
*/
@ResponseBody
@RequestMapping("/listAddress.do")
public ResultBean<List<Address>> listAddress(HttpServletRequest request) throws Exception {
List<Address> addresses=addressService.findByUserId(request );
return new ResultBean<>(addresses);
}
@RequestMapping(method = RequestMethod.POST, value = "/addmessage.do")
@ResponseBody
public String add(String content, int proid, String proname, HttpServletRequest request) {
Message message = new Message();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String datetime = sf.format(new Date());
User user = (User) request.getSession().getAttribute("user");
message.setContent(content);
message.setProid(proid);
if(user!=null){
message.setUsername(user.getUserName());
}else{
message.setUsername("游客");
}
message.setProname(proname);
message.setCreatetime(datetime);
int id = messageService.create(message);
if(id==0){
return "error";
}
return "success";
}
}