PayOrderController.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. package com.platform.yijia.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.google.gson.Gson;
  4. import com.platform.yijia.param.request.PayOrderRequest;
  5. import com.platform.yijia.pojo.AppUserInfo;
  6. import com.platform.yijia.pojo.PayOrder;
  7. import com.platform.yijia.service.AppUserInfoService;
  8. import com.platform.yijia.service.PayOrderService;
  9. import com.platform.yijia.utils.CodeMsg;
  10. import com.platform.yijia.utils.ResultData;
  11. import org.apache.commons.lang3.StringUtils;
  12. import org.slf4j.Logger;
  13. import org.slf4j.LoggerFactory;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.web.bind.annotation.*;
  16. import javax.annotation.Resource;
  17. import java.util.List;
  18. @Controller
  19. @RequestMapping("/api")
  20. public class PayOrderController {
  21. private static Logger logger =(Logger) LoggerFactory.getLogger(PayOrderController.class);
  22. @Resource
  23. private PayOrderService payOrderService;
  24. @Resource
  25. private AppUserInfoService appUserInfoService;
  26. //一键支付,生成订单
  27. @RequestMapping(value = "/AddPayOrderInfo", consumes = "application/json", method = RequestMethod.POST)
  28. @ResponseBody
  29. public String AddPayOrderInfo(@RequestBody PayOrderRequest payOrderRequest){
  30. Gson gson =new Gson();
  31. ResultData resultData =null;
  32. //根据token 和登录类型 身份验证
  33. AppUserInfo appUserInfo =new AppUserInfo();
  34. //订单类型 是小程序还是公众号
  35. appUserInfo.setUserType(payOrderRequest.getUserType());
  36. if(payOrderRequest.getUserType().equals("1")){
  37. //1 是公众号
  38. appUserInfo.setBlogOpenid(payOrderRequest.getToken());
  39. }else if(payOrderRequest.getUserType().equals("2")){
  40. //2是小程序
  41. appUserInfo.setMinaOpenid(payOrderRequest.getToken());
  42. }
  43. List<AppUserInfo> appUserInfoList =appUserInfoService.Authentication(appUserInfo);
  44. //判断登录人员是否验证成功
  45. if(appUserInfoList!=null&&appUserInfoList.size()>0){
  46. PayOrder payOrder=new PayOrder();
  47. payOrder.setConsumer(appUserInfoList.get(0).getBlogNickName()); //昵称
  48. payOrder.setConsumerId(appUserInfoList.get(0).getUserId()); //用户id
  49. //添加订单信息,返回订单号
  50. String ordNo =payOrderService.AddPayOrderInfo(payOrderRequest, payOrder);
  51. if(ordNo.equals("0")){
  52. resultData=ResultData.error(CodeMsg.CHECK_DATA);
  53. }else if(ordNo.equals("1")){
  54. resultData=ResultData.error(CodeMsg.PARAMS_NUll);
  55. }else {
  56. resultData=ResultData.success(ordNo);
  57. }
  58. }else{
  59. //登录人验证失败
  60. resultData=ResultData.error(CodeMsg.USER_NOT_EXSIST);
  61. }
  62. return gson.toJson(resultData);
  63. }
  64. /**
  65. * 根据订单号获取订单信息
  66. * produces="application/json;charset=UTF-8",consumes = "application/json",
  67. * @RequestBody String orderno
  68. * @param
  69. * @return
  70. */
  71. @RequestMapping(value = "/getPayOrderList", method = RequestMethod.GET)
  72. @ResponseBody
  73. public String getPayOrderList(@RequestParam String orderNo,String openId,String userType){
  74. Gson gson =new Gson();
  75. ResultData resultData =null;
  76. //根据token 和 usertype来判断用户是否存在
  77. boolean flag = appUserInfoService.selectAppUserInfo(openId,userType);
  78. if(flag){
  79. if(StringUtils.isNotBlank(orderNo)){
  80. PayOrderRequest payOrderRequest =new PayOrderRequest();
  81. payOrderRequest.setOrderNo(orderNo);
  82. List<PayOrder> payOrderList = payOrderService.getPayOrderList(payOrderRequest.getOrderNo());
  83. resultData=ResultData.success(payOrderList);
  84. }else {
  85. resultData=ResultData.error(CodeMsg.SEARCH_FAIL);
  86. }
  87. }else{
  88. resultData=ResultData.error(CodeMsg.USER_NOT_EXSIST);
  89. }
  90. return gson.toJson(resultData);
  91. }
  92. /*
  93. * 根据用户openId和用户类型userType查询用户订单
  94. * @param openId
  95. * @param userType
  96. * @return
  97. */
  98. @RequestMapping(value = "/getOrderListByOpenIdAndUserType", method = RequestMethod.GET)
  99. @ResponseBody
  100. public String getOrderListByOpenIdAndUserType(@RequestParam("openId") String openId, @RequestParam("userType") String userType){
  101. Gson gson =new Gson();
  102. ResultData resultData =null;
  103. if(StringUtils.isNotBlank(openId) && StringUtils.isNotBlank(userType)){
  104. AppUserInfo appUserInfo = new AppUserInfo();
  105. switch (userType){
  106. case "1":
  107. appUserInfo.setBlogOpenid(openId);
  108. break;
  109. case "2":
  110. appUserInfo.setMinaOpenid(openId);
  111. break;
  112. }
  113. List<PayOrder> payOrderList = payOrderService.getOrderListByOpenIdAndUserType(appUserInfo);
  114. resultData=ResultData.success(payOrderList);
  115. }else {
  116. resultData=ResultData.error(CodeMsg.SEARCH_FAIL);
  117. }
  118. return gson.toJson(resultData);
  119. }
  120. }