You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

169 lines
5.1 KiB

package com.ischoolbar.programmer.controller.home;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
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 org.springframework.web.servlet.ModelAndView;
import com.ischoolbar.programmer.entity.common.Account;
import com.ischoolbar.programmer.service.common.AccountService;
import com.ischoolbar.programmer.service.common.ProductCategoryService;
import com.ischoolbar.programmer.service.common.ProductService;
import com.ischoolbar.programmer.util.MenuUtil;
@RequestMapping("/home")
@Controller
public class IndexController {
@Autowired
private AccountService accountService;
@Autowired
private ProductCategoryService productCategoryService;
@Autowired
private ProductService productService;
@RequestMapping(value = "/index",method = RequestMethod.GET)
public ModelAndView index(ModelAndView model){
model.addObject("productCategoryList", MenuUtil.getTreeCategory(productCategoryService.findList(new HashMap<String, Object>())));
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("offset", 0);
queryMap.put("pageSize", 5);
queryMap.put("orderBy", "createTime");
queryMap.put("sort", "desc");
model.addObject("lastProductList", productService.findList(queryMap));
queryMap.put("orderBy", "sellNum");
model.addObject("sellProductList", productService.findList(queryMap));
model.addObject("allCategoryClass","shop_hd_menu_hover");
model.addObject("currentHome", "current_");
model.setViewName("home/index/index");
return model;
}
@RequestMapping(value = "/login",method = RequestMethod.GET)
public ModelAndView login(ModelAndView model){
model.addObject("title", "&#30331;&#24405;");
model.setViewName("home/index/login");
return model;
}
@RequestMapping(value = "/register",method = RequestMethod.GET)
public ModelAndView register(ModelAndView model){
model.addObject("title", "&#27880;&#20876;");
model.setViewName("home/index/register");
return model;
}
@RequestMapping(value = "/register",method = RequestMethod.POST)
@ResponseBody
public Map<String, String> register(Account account,String code,HttpServletRequest request){
Map<String, String> ret = new HashMap<String, String>();
ret.put("type", "error");
if(account == null){
ret.put("msg", "&#38169;&#35823;");
return ret;
}
if(StringUtils.isEmpty(account.getName())){
ret.put("msg", "&#38169;&#35823;");
return ret;
}
if(StringUtils.isEmpty(account.getPassword())){
ret.put("msg", "&#38169;&#35823;");
return ret;
}
if(StringUtils.isEmpty(account.getEmail())){
ret.put("msg", "&#38169;&#35823;");
return ret;
}
if(StringUtils.isEmpty(code)){
ret.put("msg", "&#38169;&#35823;");
return ret;
}
Object codeObject = request.getSession().getAttribute("userRegisterCpacha");
if(codeObject == null){
ret.put("msg", "&#38169;&#35823;!");
return ret;
}
if(!code.equalsIgnoreCase((String)codeObject)){
ret.put("msg", "&#38169;&#35823;!");
return ret;
}
Account findByName = accountService.findByName(account.getName());
if(findByName != null){
ret.put("msg", "&#38169;&#35823;!");
return ret;
}
account.setStatus(1);
account.setCreateTime(new Date());
if(accountService.add(account) <= 0){
ret.put("msg", "&#38169;&#35823;");
return ret;
}
ret.put("type", "success");
return ret;
}
@RequestMapping(value = "/login",method = RequestMethod.POST)
@ResponseBody
public Map<String, String> login(Account account,String code,HttpServletRequest request){
Map<String, String> ret = new HashMap<String, String>();
ret.put("type", "error");
if(account == null){
ret.put("msg", "&#38169;&#35823;");
return ret;
}
if(StringUtils.isEmpty(account.getName())){
ret.put("msg", "&#38169;&#35823;");
return ret;
}
if(StringUtils.isEmpty(account.getPassword())){
ret.put("msg", "&#38169;&#35823;");
return ret;
}
if(StringUtils.isEmpty(code)){
ret.put("msg", "&#38169;&#35823;");
return ret;
}
Object codeObject = request.getSession().getAttribute("userLoginCpacha");
if(codeObject == null){
ret.put("msg", "&#38169;&#35823;!");
return ret;
}
if(!code.equalsIgnoreCase((String)codeObject)){
ret.put("msg", "&#38169;&#35823;!");
return ret;
}
Account findByName = accountService.findByName(account.getName());
if(findByName == null){
ret.put("msg", "&#38169;&#35823;!");
return ret;
}
if(!account.getPassword().equals(findByName.getPassword())){
ret.put("msg", "&#38169;&#35823;!");
return ret;
}
if(findByName.getStatus() == 0){
ret.put("msg", "&#38169;&#35823;!");
return ret;
}
request.getSession().setAttribute("userLoginCpacha", null);
request.getSession().setAttribute("account", findByName);
ret.put("type", "success");
return ret;
}
}