package org.hepx.ticket.web.controller;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.hepx.ticket.entity.BankAccount;
import org.hepx.ticket.service.BankAccountService;
import org.hepx.ticket.web.ResponseResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 银行帐户
* User: hepanxi
* Date: 15-4-15
* Time: 上午9:56
*/
@Controller
@RequestMapping("/bankaccount")
public class BankAccountController {
private static Logger logger = LoggerFactory.getLogger(BankAccountController.class);
@Autowired
private BankAccountService bankAccountService;
@RequiresPermissions("bankaccount:view")
@RequestMapping(method = RequestMethod.GET)
public String list(Model model) {
model.addAttribute("bankAccountList", bankAccountService.findAll());
return "bankAccount/list";
}
@RequiresPermissions("bankaccount:create")
@RequestMapping(value = "/create", method = RequestMethod.GET)
public String showCreateForm(Model model) {
model.addAttribute("op", "新增");
return "bankAccount/edit";
}
@RequiresPermissions("bankaccount:create")
@RequestMapping(value = "/create", method = RequestMethod.POST)
public String create(BankAccount bankAccount, RedirectAttributes redirectAttributes) {
bankAccountService.createBankAccount(bankAccount);
redirectAttributes.addFlashAttribute("msg", "新增成功");
return "redirect:/bankaccount";
}
@RequiresPermissions("bankaccount:update")
@RequestMapping(value = "/{id}/update", method = RequestMethod.GET)
public String showUpdateForm(@PathVariable("id") Long id, Model model) {
model.addAttribute("bankAccount", bankAccountService.findOne(id));
model.addAttribute("op", "修改");
return "bankAccount/edit";
}
@RequiresPermissions("bankaccount:update")
@RequestMapping(value = "/{id}/update", method = RequestMethod.POST)
public String update(BankAccount bankAccount, RedirectAttributes redirectAttributes) {
bankAccountService.updateBankAccount(bankAccount);
redirectAttributes.addFlashAttribute("msg", "修改成功");
return "redirect:/bankaccount";
}
@RequiresPermissions("bankaccount:delete")
@RequestMapping(value = "/{id}/delete", method = RequestMethod.GET)
@ResponseBody
public Map delete(@PathVariable("id") Long id) {
try {
bankAccountService.deleteBankAccount(id);
return ResponseResult.buildSuccessResult().toMap();
} catch (Exception e) {
logger.error(e.getMessage(), e);
return ResponseResult.buildFailResult().toMap();
}
}
@RequestMapping(value="getBankAccounts",method = RequestMethod.GET)
@ResponseBody
public List getBankAccountToJson(@RequestParam("term")String term){
List<BankAccount> bankAccounts = bankAccountService.findJson(term);
List<String> accounts = new ArrayList<String>();
for(BankAccount account : bankAccounts){
accounts.add(account.getAccount());
}
return accounts;
}
}