CustomerBasicInfoSaveController.java 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. package com.iamberry.rst.controllers.customer;
  2. import com.iamberry.rst.core.customer.*;
  3. import com.iamberry.rst.faces.customer.CustomerBasicInfoSaveService;
  4. import com.iamberry.wechat.tools.ResponseJson;
  5. import org.apache.commons.lang.StringUtils;
  6. import org.apache.shiro.authz.annotation.RequiresPermissions;
  7. import org.slf4j.Logger;
  8. import org.slf4j.LoggerFactory;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Controller;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.ResponseBody;
  13. import org.springframework.web.servlet.ModelAndView;
  14. import javax.servlet.http.HttpServletRequest;
  15. import java.util.ArrayList;
  16. import java.util.List;
  17. @Controller
  18. @RequestMapping("/admin/CustomerBasic")
  19. public class CustomerBasicInfoSaveController {
  20. private Logger logger = LoggerFactory.getLogger(CustomerBasicInfoSaveController.class);
  21. @Autowired
  22. private CustomerBasicInfoSaveService customerBasicInfoSaveService;
  23. /**
  24. * 跳转到添加客户信息页面
  25. *
  26. * @return
  27. */
  28. @RequiresPermissions("customerBasic:save:customerInfo")
  29. @RequestMapping(value = "/saveCustomerInfo")
  30. public ModelAndView toAddCustomer(HttpServletRequest request) {
  31. ModelAndView mv = new ModelAndView("customer/save_customer_info");
  32. return mv;
  33. }
  34. /**
  35. * 添加客户信息
  36. * @param request
  37. * @param customerBasicInfo
  38. * @param dockedContactInfoList
  39. * @param channelSaleInfoList
  40. * @param billingInfo
  41. * @param ticketOpeningInfo
  42. * @return
  43. * @throws Exception
  44. */
  45. @ResponseBody
  46. @RequiresPermissions("customerBasic:save:customerInfo")
  47. @RequestMapping("/save_customer_info")
  48. public ResponseJson saveCustomerBasicInfo(HttpServletRequest request, CustomerBasicInfo customerBasicInfo, List<DockedContactInfo> dockedContactInfoList,
  49. List<ChannelSaleInfo> channelSaleInfoList,BillingInfo billingInfo, TicketOpeningInfo ticketOpeningInfo) throws Exception {
  50. //注意:DockedContactInfo、ChannelSaleInfo可能为多个,需修改
  51. ResponseJson rjx = this.isValiData(customerBasicInfo);
  52. Boolean isSaveSuccess = false;//是否保存成功标识
  53. if(rjx.getResultCode() == 500){
  54. return rjx;
  55. }
  56. logger.info("-----------------添加客户信息开始----------------------");
  57. try {
  58. customerBasicInfoSaveService.saveCustomerBasicInfo(customerBasicInfo,dockedContactInfoList,channelSaleInfoList,billingInfo,ticketOpeningInfo);
  59. isSaveSuccess = true;
  60. } catch (RuntimeException e) {
  61. isSaveSuccess = false;
  62. return new ResponseJson(500, e.getMessage(), 500);
  63. }
  64. logger.info("-----------------添加客户信息结束----------------------");
  65. if (!isSaveSuccess) {
  66. return new ResponseJson(500, "添加客户信息失败!", 500);
  67. }else{
  68. return new ResponseJson(200, "添加客户信息成功!", 200);
  69. }
  70. }
  71. /**
  72. * 跳转到修改客户信息页面
  73. *
  74. * @return
  75. */
  76. @RequiresPermissions("customerBasic:save:customerInfo")
  77. @RequestMapping(value = "/update_customer_info")
  78. public ModelAndView updateCustomerInfo(HttpServletRequest request) throws Exception{
  79. ModelAndView mv = new ModelAndView("customerInfoAdmin/update_customer_info");
  80. String customerId = request.getParameter("customerId");
  81. boolean isSuccess = false;
  82. if (!StringUtils.isNotEmpty(customerId)) {
  83. return mv;
  84. }
  85. int queryCustomerId = Integer.valueOf(customerId);
  86. CustomerBasicInfo customerBasicInfo = new CustomerBasicInfo();
  87. List<DockedContactInfo> dockedContactInfoList = new ArrayList<DockedContactInfo>();
  88. List<ChannelSaleInfo> channelSaleInfoList = new ArrayList<ChannelSaleInfo>();
  89. BillingInfo billingInfo = new BillingInfo();
  90. TicketOpeningInfo ticketOpeningInfo = new TicketOpeningInfo();
  91. logger.info("-----------------修改客户信息开始----------------------");
  92. try {
  93. customerBasicInfo = customerBasicInfoSaveService.queryCustomerBasicInfoByCustomerId(queryCustomerId);
  94. dockedContactInfoList = customerBasicInfoSaveService.queryDockedContactInfoListByCustomerId(queryCustomerId);
  95. channelSaleInfoList = customerBasicInfoSaveService.queryChannelSaleInfoListByCustomerId(queryCustomerId);
  96. billingInfo = customerBasicInfoSaveService.queryBillingInfoByCustomerId(queryCustomerId);
  97. ticketOpeningInfo = customerBasicInfoSaveService.queryTicketOpeningInfoByCustomerId(queryCustomerId);
  98. isSuccess = true;
  99. }catch (Exception e){
  100. isSuccess = false;
  101. logger.error("跳转修改页面失败:"+e.getMessage());
  102. }
  103. logger.info("----------------修改客户信息结束----------------------");
  104. if(!isSuccess){
  105. return mv;
  106. }else{
  107. mv.addObject("customerBasicInfo", customerBasicInfo);
  108. mv.addObject("dockedContactInfoList", dockedContactInfoList);
  109. mv.addObject("channelSaleInfoList", channelSaleInfoList);
  110. mv.addObject("billingInfo", billingInfo);
  111. mv.addObject("ticketOpeningInfo", ticketOpeningInfo);
  112. }
  113. return mv;
  114. }
  115. /**
  116. * 验证方法
  117. *
  118. * @param customerBasicInfo
  119. * @return
  120. */
  121. public ResponseJson isValiData(CustomerBasicInfo customerBasicInfo) {
  122. ResponseJson rj = new ResponseJson();
  123. if(customerBasicInfo == null){
  124. return new ResponseJson(500, "未填写客户基本信息", 500);
  125. }
  126. return rj;
  127. }
  128. }