基于javaweb+mysql的ssm水果蔬菜商城系统(java+ssm+jsp+mysql)

基于javaweb+mysql的ssm水果蔬菜商城系统(java+ssm+jsp+mysql)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的SSM水果蔬菜商城系统(java+ssm+jsp+mysql)

项目描述:这是一个基于SSM框架开发的水果蔬菜商城系统。首先,这个项目页面简洁清爽,易于理解和学习。其次,这个项目功能丰富,具有一个在线水果蔬菜商城该有的所有功能,并且还涉及到沙箱支付宝支付等等技术亮点。

项目功能:此项目分为三个角色:客户、卖家和管理员。客户有登录注册、浏览商品信息、添加购物车、支付订单、收藏商品、评论商品等等功能。卖家有管理自己的商品、管理自己的订单、管理自己个人信息等等功能。管理员具有管理所有用户信息、管理所有商品信息、管理所有评论信息、管理商品种类信息、管理所有订单信息等等功能。

应用技术:Jsp + SSM + MySQL + 沙箱支付宝

运行环境:Eclipse/IntelliJ IDEA + MySQL5.7(项目压缩包中自带) + Tomcat7.0(项目压缩包中自带) + JDK1.8


/**
 * 前台商品控制器
 *
 */
@RequestMapping("/product")
@Controller
public class HomeProductController {
	
	@Autowired
	private AccountService accountService;
	@Autowired
	private ProductCategoryService productCategoryService;
	@Autowired
	private ProductService productService;
	@Autowired
	private CommentService commentService;
	/**
	 * 商品详情页面
	 * @param model
	 * @return
	 */
	@RequestMapping(value = "/detail",method = RequestMethod.GET)
	public ModelAndView index(ModelAndView model,Long id){
		model.addObject("productCategoryList", MenuUtil.getTreeCategory(productCategoryService.findList(new HashMap<String, Object>())));
		model.addObject("allCategoryId","shop_hd_menu_all_category");
		if(id == null){
			model.addObject("msg", "非法商品id");
			model.setViewName("home/common/error");
			return model;
		}
		Product product = productService.findById(id);
		if(product == null || product.getState() != 2){
			model.addObject("msg", "商品不存在或未审核通过!");
			model.setViewName("home/common/error");
			return model;
		}
		model.addObject("product", product);
		Map<String, Object> queryMap = new HashMap<String, Object>();
		queryMap.put("offset", 0);
	 */
	@RequestMapping(value="/delete",method=RequestMethod.POST)
	@ResponseBody
	public Map<String, String> delete(Long id){
		Map<String, String> ret = new HashMap<String, String>();
		if(id == null){
			ret.put("type", "error");
			ret.put("msg", "请选择要删除的角色!");
			return ret;
		}
		try {
			if(roleService.delete(id) <= 0){
				ret.put("type", "error");
				ret.put("msg", "删除失败,请联系管理员!");
				return ret;
			}
		} catch (Exception e) {
			// TODO: handle exception
			ret.put("type", "error");
			ret.put("msg", "该角色下存在权限或者用户信息,不能删除!");
			return ret;
		}
		ret.put("type", "success");
		ret.put("msg", "角色删除成功!");
		return ret;
	}
	
	/**
	 * 获取所有的菜单信息
	 * @return
	 */
	@RequestMapping(value="/get_all_menu",method=RequestMethod.POST)
	@ResponseBody
	public List<Menu> getAllMenu(){
		Map<String, Object> queryMap = new HashMap<String, Object>();
		queryMap.put("offset", 0);
		queryMap.put("pageSize", 99999);
		return menuService.findList(queryMap);
	}
	
	/**
	 * 添加权限
	 * @param ids
	 * @return
	 */
	@RequestMapping(value="/add_authority",method=RequestMethod.POST)
	@ResponseBody
	public Map<String, String> addAuthority(
			@RequestParam(name="ids",required=true) String ids,
			@RequestParam(name="roleId",required=true) Long roleId
	 * @return
	 */
	@RequestMapping(value="/list",method=RequestMethod.POST)
	@ResponseBody
	public Map<String, Object> getMenuList(Page page,
			@RequestParam(name="name",required=false,defaultValue="") String name
			){
		Map<String, Object> ret = new HashMap<String, Object>();
		Map<String, Object> queryMap = new HashMap<String, Object>();
		queryMap.put("offset", 0);
		queryMap.put("pageSize", 500);
		queryMap.put("name", name);
		List<Menu> findList = menuService.findList(queryMap);
		ret.put("rows", findList);
		ret.put("total", menuService.getTotal(queryMap));
		return ret;
	}
	
	/**
	 * 获取指定目录下的系统icon集合
	 * @param request
	 * @return
	 */
	@RequestMapping(value="/get_icons",method=RequestMethod.POST)
	@ResponseBody
	public Map<String, Object> getIconList(HttpServletRequest request){
		Map<String, Object> ret = new HashMap<String, Object>();
		String realPath = request.getServletContext().getRealPath("/");
		File file = new File(realPath + "\\resources\\admin\\easyui\\css\\icons");
		List<String> icons = new ArrayList<String>();
		if(!file.exists()){
			ret.put("type", "error");
			ret.put("msg", "文件目录不存在!");
			return ret;
		}
		File[] listFiles = file.listFiles();
		for(File f:listFiles){
			if(f!= null && f.getName().contains("png")){
				icons.add("icon-" + f.getName().substring(0, f.getName().indexOf(".")).replace("_", "-"));
			}
		}
		ret.put("type", "success");
		ret.put("content", icons);
		return ret;
	}
	
	/**
	 * 菜单添加
	 * @param menu
	 * @return
	 */

/**
 * 商品分类管理控制器
 *
 */
@RequestMapping("/admin/product_category")
@Controller
public class ProductCategoryController {
	
	@Autowired
	private ProductCategoryService productCategoryService;
	
	
	/**
	 * 商品分类列表页
	 * @param model
	 * @return
	 */
	@RequestMapping(value="/list",method=RequestMethod.GET)
	public ModelAndView list(ModelAndView model){
		model.setViewName("product_category/list");
		return model;
	}
	
	/**
	 * 查询商品分类列表
	 * @param name
	 * @param page
	 * @return
	 */
	@RequestMapping(value="/list",method=RequestMethod.POST)
	@ResponseBody
	public Map<String, Object> list(@RequestParam(name="name",defaultValue="")String name,
		queryMap.put("userId", onlineAccount.getId());
		queryMap.put("productId", product.getId());
		Cart existCart = cartService.findByIds(queryMap);
		if(existCart != null){
			//表示这个商品已经被添加到购物车,只需更新数量和金额即可
			existCart.setNum(existCart.getNum() + cart.getNum());
			existCart.setMoney(existCart.getNum() * existCart.getPrice());
			if(cartService.edit(existCart) <= 0){
				ret.put("msg", "商品已被添加到购物车,但更新数量出错!");
				return ret;
			}
			ret.put("type", "success");
			return ret;
		}
		cart.setImageUrl(product.getImageUrl());
		cart.setMoney(product.getPrice() * cart.getNum());
		cart.setName(product.getName());
		cart.setPrice(product.getPrice());
		cart.setUserId(onlineAccount.getId());
		cart.setCreateTime(new Date());
		if(cartService.add(cart) <= 0){
			ret.put("msg", "添加失败,请联系管理员!");
			return ret;
		}
		ret.put("type", "success");
		return ret;
	}
	
	/**
	 * 更新购物车商品数量
	 * @param cartId
	 * @param num
	 * @return
	 */
	@RequestMapping(value = "/update_num",method = RequestMethod.POST)
	@ResponseBody
	public Map<String, String> updateNum(Long cartId,Integer num){
		Map<String, String> ret = new HashMap<String, String>();
		ret.put("type", "error");
		Cart cart = cartService.findById(cartId);
		if(cart == null){
			ret.put("msg", "请选择正确的商品信息");
			return ret;
		}
		if(num == null){
		ret.put("msg", "编辑成功!");
		return ret;
	}
	
	/**
	 * 删除商品分类
	 * @param id
	 * @return
	 */
	@RequestMapping(value="/delete",method=RequestMethod.POST)
	@ResponseBody
	public Map<String, Object> delete(Long id){
		Map<String, Object> ret = new HashMap<String, Object>();
		if(id == null){
			ret.put("type", "error");
			ret.put("msg", "请选择要删除的分类");
			return ret;
		}
		
		try {
			if(productCategoryService.delete(id) <= 0){
				ret.put("type", "error");
				ret.put("msg", "删除失败,请联系管理员!");
				return ret;
			}
		} catch (Exception e) {
			// TODO: handle exception
			ret.put("type", "error");
			ret.put("msg", "该分类下存在商品信息,不允许删除!");
			return ret;
		}
		
		ret.put("type", "success");
		ret.put("msg", "删除成功!");
		return ret;
	}
	
	/**
	 * 根据列表生成二级树形关系分类
	 * @param productCategorieList
	 * @return
	 */
	private List<Map<String, Object>> getTreeCategory(List<ProductCategory> productCategorieList){
		List<Map<String, Object>> ret = new ArrayList<Map<String,Object>>();
		//所有的父分类整理
		for(ProductCategory productCategory : productCategorieList){
			if(productCategory.getParentId() == null){
				Map<String, Object> top = new HashMap<String, Object>();
				top.put("id", productCategory.getId());
				top.put("text", productCategory.getName());
				top.put("children", new ArrayList<Map<String,Object>>());
				ret.add(top);
			}
		if(findByUsername == null){
			ret.put("type", "error");
			ret.put("msg", "该用户名不存在!");
			logService.add("登录时,用户名为"+user.getUsername()+"的用户不存在!");
			return ret;
		}
		if(!user.getPassword().equals(findByUsername.getPassword())){
			ret.put("type", "error");
			ret.put("msg", "密码错误!");
			logService.add("用户名为"+user.getUsername()+"的用户登录时输入密码错误!");
			return ret;
		}
		//说明用户名密码及验证码都正确
		//此时需要查询用户的角色权限
		Role role = roleService.find(findByUsername.getRoleId());
		List<Authority> authorityList = authorityService.findListByRoleId(role.getId());//根据角色获取权限列表
		String menuIds = "";
		for(Authority authority:authorityList){
			menuIds += authority.getMenuId() + ",";
		}
		if(!StringUtils.isEmpty(menuIds)){
			menuIds = menuIds.substring(0,menuIds.length()-1);
		}
		List<Menu> userMenus = menuService.findListByIds(menuIds);
		//把角色信息、菜单信息放到session中
		request.getSession().setAttribute("admin", findByUsername);
		request.getSession().setAttribute("role", role);
		request.getSession().setAttribute("userMenus", userMenus);
		ret.put("type", "success");
		ret.put("msg", "登录成功!");
		logService.add("用户名为{"+user.getUsername()+"},角色为{"+role.getName()+"}的用户登录成功!");
		return ret;
	}
	
	/**
	 * 后台退出注销功能
	 * @param request
	 * @return
	 */
	@RequestMapping(value="/logout",method=RequestMethod.GET)
	public String logout(HttpServletRequest request){
		HttpSession session = request.getSession();
		session.setAttribute("admin", null);
		session.setAttribute("role", null);
		request.getSession().setAttribute("userMenus", null);
		return "redirect:login";
	}
	
	/**
	 * 修改密码页面
	 * @param model
	 * @return
	 */

/**
 * 系统操作类控制器
 *
 */
@Controller
@RequestMapping("/system")
public class SystemController {
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private RoleService roleService;
	
	@Autowired
	private AuthorityService authorityService;
	
	@Autowired
	private MenuService menuService;
	
	@Autowired
	private LogService logService;
	
	/**
	 * 系统登录后的主页
	 * @param model
	 * @return
	 */
	@RequestMapping(value="/index",method=RequestMethod.GET)
	public ModelAndView index(ModelAndView model,HttpServletRequest request){
		List<Menu> userMenus = (List<Menu>)request.getSession().getAttribute("userMenus");
		model.addObject("topMenuList", MenuUtil.getAllTopMenu(userMenus));
		model.addObject("secondMenuList", MenuUtil.getAllSecondMenu(userMenus));
		model.setViewName("system/index");
		return model;//WEB-INF/views/+system/index+.jsp = WEB-INF/views/system/index.jsp
	}
	
	/**

@Controller
public class AliPayController {

    //==========================这些信息未经作者允许,不允许分享使用!!!=================================
    private final String APP_ID = "2016110300790563";
    private final String APP_PRIVATE_KEY = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCCsWvZktzLxZhB8yFUp0f98s3uPegxu0p95sYwwSurm9FrCqn8jEJaR92git/i19QsODjE4KFY85O+AVrcZEDJoqubf8Pc5tCGcaCI1Ho+OD2LHW31cmDj29tlLHi2SlsL9EynSD/LL2DsG1Ufj12/TkuWPVAzjwsf/NJwiKV9mTIX/I88RvCJV2tqX8vT8V5LuHvI27vmGeKTgioExymrv6GQlhM1aHv3w2GMShp/n5wY1S0bhgMLL5zzO3FJSOKrOBPTYh0sCLAhvcD7vDXDH3ruBVq+jbtqXkQMdHww1nmaTz/t06uqNEoofGYCKfZWSQgXnPwEQBpqdSEs8Nl/AgMBAAECggEAbYbY9pbwuUkYR7TFKxeh6r3wPQfersbiL88WK0fIHGJSR93BBahZ9yUhJGkeJhJwerqHQN9r+IrxNxwVlHvkG9da789MSrWY7gMN4X4IEFq7oPmB7F/1uR/Ipup1I3f/A26ySsLuy44iMNzbIr7YdvnbuMYbj4oCbcVIawzpe+6ThkSERg+kaqZbg9DsAjLEkUFLRLE37R2F5BgdM4Gc5Dsw6e7ZuRc1fyBwI4bbdC11oxpLTOkFQFL9aAR1iyKvaPhbV7fswYbMBmJXDTplfDLXufcZPbm7MgfbV1sIhipjf6HpNOB3Qc0WI3iWwBNrb5EGD6PbqAtZyLDBPOVz+QKBgQC4s3Xnt18XoQXqHU5cgg+XCZSkP6z5z/NB3rmvCfThFz1mMEhscw3YruvL2ohXxB0cqoI0eiH2LFMG2tw3g4aDavOLx4H2o+VjcT3rFHoePmTTXv/H+R8roE0IMOKpVQ8Mc65EEBHaZtbLAD2vEZpdv8CjBSx9hCVVC3ISF25otQKBgQC1JMfvT5ofKGUqKoqgz3+0sqd8nfkx5Q3BmeS02nhEXgLW65KThfJnez9MB+0V3f4lxJnRTwYGwh7RFL3bViAkFcO1ETwM9rW73n9tkmuAjY0OPQGiPfxnMUgmGUyR7cov8j7t/cCRUREx/GUXxAOngheDxXsZ8pSX8bPhs2ed4wKBgBwAmU+YLYKXlx33c3ny/goYGcENJlx5epfx/JTdHZNCwrxLda97gg3n9zfg2er0gLVn5HWwTpXUAoJ3jAuelTY3cNUwWjPahVyePpT1dc5AB2lEbeMTkfY7R3KGdtbVXoK0xybqiMpj7Qy57KAuOwkbmUkd77DX6BEMuy6i/spBAoGBAKAI+sqmnRdh7N6v7wHb0IuoOuiR+JLoNpsQh0pwqUhddkzCmyDSejKKZIWbiw6CrgJYCz0sf7qAzhESLhoVoRfAUsMpktAxNqXgENyRO4C7jh9CLqtT8CaLF57xQwC6AKMTdh10ziiUYoiy3+17M29OM9ArLHLkKfuDgtSoV6bZAoGATIOCxQrqrZFVe4zLCnzcAFHFQvqxeNKdeLo7fMfQhU5MnDn9TVmzHhVtNg0SfdNA4WwbVX2Per019M/UcKSjJc5uYJ8G5BZaBZ7ZNJ1JAG1TtOi0m4zAFJJG3SznJVgKOFCDeMc7shMpE2FnTXBJx39LCweTnz8PsF4T4A2/GLY=";
    private final String CHARSET = "UTF-8";
    private final String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhdqk8i1YrbG/6bxhrSRI7IcoezOAb+fMzc4XypuM3mFV8VWs4VgurDj2latDcmcWs2vvs3abgfLrWKjiHJPnnLZ6+/gzKkcJnQqikWRUQIQH/miAPoroDE4G31U3SGyfG53c+84b3H9zCzvGDbHBOda4dxjHUqi0oOGrTA8ETtJGfJ0j73cBhlmCjJLjzMZLV25pXUTI6drGuPls6I/FnlFhnPNOP8qav9S4syadYtYpJe2SzEr6eRla0Gfz9VXXKCFWCZTm1Y6WHI2685nc/2uPpSf42izFw0DPjf0/Lhtx7SmnQaFbd55pnsL07d77/pdLzTFUQWM7CGDiT/TjHwIDAQAB";
    //这是沙箱接口路径,正式路径为https://openapi.alipay.com/gateway.do
    private final String GATEWAY_URL ="https://openapi.alipaydev.com/gateway.do";
    private final String FORMAT = "JSON";
    //签名方式
    private final String SIGN_TYPE = "RSA2";
    //支付宝异步通知路径,付款完毕后会异步调用本项目的方法,必须为公网地址
    private final String NOTIFY_URL = "http://localhost:8080/FruitShop/alipay/returnUrl";
  //支付宝同步通知路径,也就是当付款完毕后跳转本项目的页面,可以不是公网地址
    private final String RETURN_URL = "http://localhost:8080/FruitShop/alipay/returnUrl";
    //==========================这些信息未经作者允许,不允许分享使用!!!=================================

    
    @Autowired
    private OrderService orderService;
    
    
    /**
              * 支付页面
     * @param req
     * @param httpResponse
     * @throws IOException
     */
    @GetMapping("/alipay/pay")
    public void alipay(HttpServletRequest req, HttpServletResponse httpResponse) throws IOException {
    	
    	double totalMoney = (double) req.getSession().getAttribute("totalMoney");
    	Account onlineAccount = (Account)req.getSession().getAttribute("account");
    	
        Random r = new Random();
        //实例化客户端,填入所需参数
        AlipayClient alipayClient = new DefaultAlipayClient(GATEWAY_URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
        AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
        //在公共参数中设置回跳和通知地址
        request.setReturnUrl(RETURN_URL);
        //request.setNotifyUrl(NOTIFY_URL);

			ret.put("msg", "请填写验证码");
			return ret;
		}
		Object codeObject = request.getSession().getAttribute("userLoginCpacha");
		if(codeObject == null){
			ret.put("msg", "验证码已过期,请刷新页面后重试!");
			return ret;
		}
		if(!code.equalsIgnoreCase((String)codeObject)){
			ret.put("msg", "验证码错误!");
			return ret;
		}
		Account findByName = accountService.findByName(account.getName());
		if(findByName == null){
			ret.put("msg", "该用户名不存在!");
			return ret;
		}
		if(!account.getPassword().equals(findByName.getPassword())){
			ret.put("msg", "密码错误!");
			return ret;
		}
		if(findByName.getStatus() == 0){
			ret.put("msg", "该用户已被冻结,请联系管理员!");
			return ret;
		}
		request.getSession().setAttribute("userLoginCpacha", null);
		request.getSession().setAttribute("account", findByName);
		ret.put("type", "success");
		return ret;
	}
	
	/**
	 * 用户注销
	 * @param model
	 * @return
	 */
	@RequestMapping(value = "/logout",method = RequestMethod.GET)
	public String logout(HttpServletRequest request){
		request.getSession().setAttribute("account", null);
		return "redirect:login";
		return ret;
	}
	
}

/**
 * 订单管理控制器
 *
 */
@RequestMapping("/admin/order")
@Controller
public class OrderController {
	
	
	@Autowired
	private OrderService orderService;
	
	@Autowired
	private AccountService accountService;
	
	@Autowired
	private UserService userService;
	
	
	
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/list_2",method = RequestMethod.GET)
	public ModelAndView list2(ModelAndView model,HttpServletRequest request){
		model.addObject("productCategoryList", MenuUtil.getTreeCategory(productCategoryService.findList(new HashMap<String, Object>())));
		model.addObject("allCategoryId","shop_hd_menu_all_category");
		Account onlineAccount = (Account)request.getSession().getAttribute("account");
		List<Purse> purse = purseService.findById(onlineAccount.getId());
		if(purse.size()>0) {
			Purse purse2 = purse.get(0);
			request.getSession().setAttribute("purseT", purse2);
			model.addObject("purse",purse2);
		}
		Map<String, Object> queryMap = new HashMap<String, Object>();
		queryMap.put("userId", onlineAccount.getId());
		model.addObject("cartList", cartService.findList(queryMap));
		model.addObject("currentCart", "current_");
		model.addObject("addressList", addressService.findList(queryMap));
		
		model.setViewName("home/cart/list_2");
		return model;
	}
	
	
	/**
	 * 添加购物车
	 * @param account
	 * @return
	 */
	@RequestMapping(value = "/add",method = RequestMethod.POST)
	@ResponseBody
	public Map<String, String> add(Cart cart,HttpServletRequest request){
		Map<String, String> ret = new HashMap<String, String>();
		Account onlineAccount = (Account)request.getSession().getAttribute("account");
		ret.put("type", "error");
		if(cart == null){
			ret.put("msg", "请选择正确的商品信息");
			return ret;
		}
		if(cart.getProductId() == null){
			ret.put("msg", "请选择要添加的商品!");
			return ret;
	}
	
	/**
	 * 检查用户名是否存在
	 * @param name
	 * @param id
	 * @return
	 */
	private boolean isExist(String name,Long id){
		Account account = accountService.findByName(name);
		if(account == null)return false;
		if(account.getId().longValue() == id.longValue())return false;
		return true;
	}
}

/**
 * 前台收货地址控制器
			//如果是卖家角色, 只能看到自己的订单
			queryMap.put("sellerId", user.getId());
		}
		queryMap.put("offset", page.getOffset());
		queryMap.put("pageSize", page.getRows());
		ret.put("rows", orderService.findList(queryMap));
		ret.put("total", orderService.getTotal(queryMap));
		return ret;
	}
	
	/**
	 * 根据订单id查询订单子项
	 * @param orderId
	 * @return
	 */
	@RequestMapping(value="/get_item_list",method=RequestMethod.POST)
	@ResponseBody
	public Map<String, Object> itemList(Long orderId){
		Map<String, Object> ret = new HashMap<String, Object>();
		ret.put("rows", orderService.findOrderItemList(orderId));
		return ret;
	}
	
	/**
	 * 编辑订单
	 * @param order
	 * @return
	 */
	@RequestMapping(value="/edit",method=RequestMethod.POST)
	@ResponseBody
	public Map<String, Object> edit(Order order){
		Map<String, Object> ret = new HashMap<String, Object>();
		if(order == null){
			ret.put("type", "error");
			ret.put("msg", "请选择正确的订单信息");
			return ret;
		}
		if(StringUtils.isEmpty(order.getAddress())){
			ret.put("type", "error");
			ret.put("msg", "请填写订单收货地址");
			return ret;
		}
		if(order.getMoney() == null){
			ret.put("type", "error");
			ret.put("msg", "请填写订单金额!");
			return ret;
		}
							Map<String, Object> grandson = new HashMap<String, Object>();
							grandson.put("id", productCategory.getId());
							grandson.put("text", productCategory.getName());
							grandsons.add(grandson);
						}
					}
					
				}
			}
		}
		return ret;
	}
}

    private final String RETURN_URL = "http://localhost:8080/FruitShop/alipay/returnUrl";
    //==========================这些信息未经作者允许,不允许分享使用!!!=================================

    
    @Autowired
    private OrderService orderService;
    
    
    /**
              * 支付页面
     * @param req
     * @param httpResponse
     * @throws IOException
     */
    @GetMapping("/alipay/pay")
    public void alipay(HttpServletRequest req, HttpServletResponse httpResponse) throws IOException {
    	
    	double totalMoney = (double) req.getSession().getAttribute("totalMoney");
    	Account onlineAccount = (Account)req.getSession().getAttribute("account");
    	
        Random r = new Random();
        //实例化客户端,填入所需参数
        AlipayClient alipayClient = new DefaultAlipayClient(GATEWAY_URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
        AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
        //在公共参数中设置回跳和通知地址
        request.setReturnUrl(RETURN_URL);
        //request.setNotifyUrl(NOTIFY_URL);

        //商户订单号,商户网站订单系统中唯一订单号,必填
        //生成随机Id
        String out_trade_no = String.valueOf(UUID.randomUUID());
        //付款金额,必填
        String total_amount = String.valueOf(totalMoney);
        //订单名称,必填
        String subject ="水果蔬菜商城订单支付";
        //商品描述,可空
        String body = "尊敬的用户:"+onlineAccount.getName()+",欢迎您在水果蔬菜商城下单!";
        request.setBizContent("{\"out_trade_no\":\""+ out_trade_no +"\","
                + "\"total_amount\":\""+ total_amount +"\","
                + "\"subject\":\""+ subject +"\","
                + "\"body\":\""+ body +"\","

/**
 * 订单管理控制器
 *
 */
@RequestMapping("/admin/order")
@Controller
public class OrderController {
	
	
	@Autowired
	private OrderService orderService;
	
	@Autowired
	private AccountService accountService;
	
	@Autowired
	private UserService userService;
	
	
	
	/**
	 * 订单列表页
	 * @param model
	 * @return
	 */
	@RequestMapping(value="/list",method=RequestMethod.GET)
	public ModelAndView list(ModelAndView model){
		model.setViewName("order/list");
		model.addObject("accountList", JSONArray.fromObject(accountService.findList(new HashMap<String, Object>())));
		model.addObject("userList",  JSONArray.fromObject(userService.findList(new HashMap<String, Object>())));
		return model;
	}

/**
 * 前台商品控制器
 *
 */
@RequestMapping("/product")
@Controller
public class HomeProductController {
	
	@Autowired
	private AccountService accountService;
	@Autowired
	private ProductCategoryService productCategoryService;
	@Autowired
	private ProductService productService;
	@Autowired
	private CommentService commentService;
	/**
	 * 商品详情页面
	 * @param model
	 * @return
	 */

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值