package org.taobao88.taobao.controllers; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.taobao88.taobao.controllers.validators.PaymentMethodValidator; import org.taobao88.taobao.enterprise.dao.PaymentMethodDAO; import org.taobao88.taobao.enterprise.entity.PaymentMethod; @Controller @RequestMapping(value = "/admin/paymentMethods") public class PaymentMethodsController extends MainController { @Autowired private PaymentMethodDAO paymentMethodDAO; private PaymentMethodValidator validator; @RequestMapping(method = RequestMethod.GET) public String index(Model model) { model.addAttribute("paymentMethods", paymentMethodDAO.getAll()); return "payment/index"; } @RequestMapping(value = "/create", method = RequestMethod.GET) public String create() { return "payment/create"; } @RequestMapping(value = "/create/doCreate", method = RequestMethod.POST) public String doCreate(Model model, HttpServletRequest request) { validator = new PaymentMethodValidator(); List<String> errors = validator.validateCreatePaymentMethod(request); if (errors.size() != 0) { model.addAttribute("errors", toJSArray(errors.toArray())); return "payment/create"; } PaymentMethod method = new PaymentMethod(); method.setMethodName(validator.getString("methodName")); method.setMethodDescription(validator.getString("methodDescription")); paymentMethodDAO.create(method); return "redirect:/admin/paymentMethods"; } @RequestMapping(value = "/update", method = RequestMethod.GET) public String update(@RequestParam ("id") int id, Model model) { model.addAttribute("method", paymentMethodDAO.findById(id)); return "payment/update"; } @RequestMapping(value = "/update/doUpdate", method = RequestMethod.POST) public String doUpdate(@RequestParam ("id") int id, Model model, HttpServletRequest request) { validator = new PaymentMethodValidator(); List<String> errors = validator.validateCreatePaymentMethod(request); if (errors.size() != 0) { model.addAttribute("errors", toJSArray(errors.toArray())); return "payment/update"; } PaymentMethod method = paymentMethodDAO.findById(id); method.setMethodName(validator.getString("methodName")); method.setMethodDescription(validator.getString("methodDescription")); paymentMethodDAO.update(method); return "redirect:/admin/paymentMethods"; } @RequestMapping(value = "/delete", method = RequestMethod.GET) public String delete(@RequestParam ("id") int id) { paymentMethodDAO.delete(paymentMethodDAO.findById(id)); return "redirect:/admin/paymentMethods"; } }