package com.cku.controller; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import com.alibaba.fastjson.JSONObject; import com.cab.service.UserService; import com.cku.core.RESTResponse; import com.cku.core.ZAErrorCode; import com.cku.core.ZAException; import com.cku.model.CkuOrder; import com.cku.service.CkuDogEnteredServiceImpl; import com.cku.util.Debugger; import com.cku.util.ServletUtils; import com.sys.model.MultiUserProfile; @Controller @RequestMapping("dog/entered") public class CkuDogEnteredController { private static Logger logger = Logger.getLogger(CkuDogEnteredController.class); @Autowired private CkuDogEnteredServiceImpl ckuDogEnteredService; /** * * @Description:犬只赛事报名 * @author: zhuoHeng * @version: 2016年4月19日 上午10:00:53 */ @RequestMapping("/generateOrder") public void dogEventEntered(@RequestBody(required = false) String json, HttpServletRequest request, HttpServletResponse response) throws IOException { RESTResponse result = null; try { String showNums; String pedigreeNum; String detil; String ageGroup; String bbeFlag; String couponNum; String stickerFlag; String isOwner; if (StringUtils.isNotBlank(json)) { JSONObject jo = JSONObject.parseObject(json); logger.info("赛事创建参数------:" + jo.toJSONString()); showNums = getParameter(jo, "showNums"); pedigreeNum = getParameter(jo, "pedigreeNum"); detil = getParameter(jo, "detil"); ageGroup = getParameter(jo, "ageGroup", null); bbeFlag = getParameter(jo, "bbeFlag", "0"); couponNum = getParameter(jo, "couponNum", "0"); stickerFlag = getParameter(jo, "stickerFlag", "0"); isOwner = getParameter(jo, "isOwner", null); } else { showNums = ServletUtils.getParameter(request, "showNums"); pedigreeNum = ServletUtils.getParameter(request, "pedigreeNum"); detil = ServletUtils.getParameter(request, "detil"); ageGroup = ServletUtils.getParameter(request, "ageGroup", null); bbeFlag = ServletUtils.getParameter(request, "bbeFlag", "0"); couponNum = ServletUtils.getParameter(request, "couponNum", "0"); stickerFlag = ServletUtils.getParameter(request, "stickerFlag", "0"); isOwner = ServletUtils.getParameter(request, "isOwner", null); } MultiUserProfile userProfile = UserService.verifyTokenObj(request); CkuOrder ckuOrderInfo = ckuDogEnteredService.dogEventEntered(userProfile, showNums, pedigreeNum, detil, ageGroup, bbeFlag, couponNum, stickerFlag, isOwner); result = new RESTResponse("item", ckuOrderInfo); } catch (Exception e) { if (e instanceof ZAException) { ZAException sre = (ZAException) e; result = new RESTResponse(sre.get_code(), sre.getMessage()); } else { result = new RESTResponse(e); } } ServletUtils.writeResponse(response, result); } private String getParameter(JSONObject jo, String paramName) throws ZAException { String p = jo.getString(paramName); Debugger.doAssert(p != null, ZAErrorCode.ZA_ERC_INVALID_PARAMETER, String.format("paremeter '%s' was not found", paramName)); return p; } private String getParameter(JSONObject jo, String paramName, String defaultVal) throws ZAException { String p = jo.getString(paramName); if (p == null) return defaultVal; return p; } /** * * @Description:余额支付赛事费用 * @author: zhuoHeng * @version: 2016年4月20日 上午10:18:27 */ @RequestMapping("/eventBalancePayment") public void eventBalancePayment(HttpServletRequest request, HttpServletResponse response) throws IOException { RESTResponse result = null; try { MultiUserProfile userProfile = UserService.verifyTokenObj(request); String orderID = ServletUtils.getParameter(request, "orderID"); String pid = ServletUtils.getParameter(request, "pid"); String payPsw = ServletUtils.getParameter(request, "payPsw"); String dynamic = ServletUtils.getParameter(request, "dynamic"); ckuDogEnteredService.eventBalancePayment(userProfile, orderID, pid, payPsw, dynamic); result = new RESTResponse(); } catch (Exception e) { result = new RESTResponse(e); } ServletUtils.writeResponse(response, result); } /** * * @Description:赛事报名取消订单 * @author: zhuoHeng * @version: 2016年4月21日 上午11:56:34 */ @RequestMapping("cancelTheOrder") public void cancelTheOrder(HttpServletRequest request, HttpServletResponse response) throws IOException { RESTResponse result = null; try { MultiUserProfile userProfile = UserService.verifyTokenObj(request); String orderID = ServletUtils.getParameter(request, "orderId"); ckuDogEnteredService.cancelTheOrder(userProfile, orderID); result = new RESTResponse(); } catch (Exception e) { result = new RESTResponse(e); } ServletUtils.writeResponse(response, result); } }