IntegralOrderHandler.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. package com.iamberry.wechat.handles.integral;
  2. import com.iamberry.wechat.core.entity.ResultMsg;
  3. import com.iamberry.wechat.core.entity.WechatUtils;
  4. import com.iamberry.wechat.core.entity.integral.IntegralCart;
  5. import com.iamberry.wechat.core.entity.integral.IntegralItem;
  6. import com.iamberry.wechat.core.entity.integral.IntegralOrder;
  7. import com.iamberry.wechat.core.entity.integral.IntegralProduct;
  8. import com.iamberry.wechat.core.entity.member.Member;
  9. import com.iamberry.wechat.core.entity.page.PageRequest;
  10. import com.iamberry.wechat.core.entity.page.PagedResult;
  11. import com.iamberry.wechat.face.integral.IntegralItemService;
  12. import com.iamberry.wechat.face.integral.IntegralOrderService;
  13. import com.iamberry.wechat.face.integral.IntegralProductService;
  14. import com.iamberry.wechat.face.member.MemberService;
  15. import com.iamberry.wechat.tools.NameUtils;
  16. import com.iamberry.wechat.tools.ResultInfo;
  17. import org.slf4j.Logger;
  18. import org.slf4j.LoggerFactory;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.stereotype.Controller;
  21. import org.springframework.web.bind.annotation.RequestMapping;
  22. import org.springframework.web.bind.annotation.RequestParam;
  23. import org.springframework.web.bind.annotation.ResponseBody;
  24. import javax.servlet.http.HttpServletRequest;
  25. import java.util.ArrayList;
  26. import java.util.HashMap;
  27. import java.util.List;
  28. import java.util.Map;
  29. @Controller
  30. @RequestMapping("/wechat/integral_order")
  31. public class IntegralOrderHandler {
  32. private Logger logger = LoggerFactory.getLogger(IntegralOrderHandler.class);
  33. @Autowired
  34. private IntegralOrderService integralOrderService;
  35. @Autowired
  36. private IntegralItemService integralItemService;
  37. @Autowired
  38. private IntegralProductService integralProductService;
  39. @Autowired
  40. private MemberService memberService;
  41. /**
  42. *积分兑换
  43. * @param req
  44. * @return
  45. */
  46. @RequestMapping("/add_order")
  47. @ResponseBody
  48. public ResultMsg listProduct(HttpServletRequest req,String integralProductId){
  49. ResultMsg rm=new ResultMsg();
  50. Member m= WechatUtils.getUserBySession(req);
  51. /*存放数据*/
  52. Map<String,Object> reqMap = new HashMap<String,Object>();
  53. if(integralProductId == null ){
  54. return new ResultMsg(false,"500","未获取到积分商品,兑换失败",null);
  55. }
  56. List<IntegralCart> integralCartList = new ArrayList<>();
  57. try{
  58. String[] productId = integralProductId.split("-");
  59. Integer[] proId = new Integer[productId.length];
  60. for (int i = 0; i < productId.length; i++) {
  61. IntegralCart integralCart = new IntegralCart();
  62. integralCart.setProductId(Integer.valueOf(productId[i]));
  63. integralCart.setNum(1);
  64. integralCartList.add(integralCart);
  65. }
  66. Map<String,Object> map = integralOrderService.addOrder(m.getUserOpenid(),integralCartList);
  67. }catch (Exception e){
  68. e.printStackTrace();
  69. logger.info(e.getMessage());
  70. return new ResultMsg(false,"500","兑换失败,请重试!",null);
  71. }
  72. rm.setStatus(true);
  73. rm.setResultCode(ResultInfo.SUCCESSCODE);
  74. rm.setMessage(NameUtils.getConfig("兑换成功"));
  75. return rm;
  76. }
  77. /**
  78. *积分兑换(订单)集合
  79. * @param req
  80. * @param pageSize
  81. * @param pageNO
  82. * @return
  83. */
  84. @RequestMapping("/list_order")
  85. @ResponseBody
  86. public ResultMsg listProduct(HttpServletRequest req,IntegralOrder integralOrder,
  87. @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
  88. @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO){
  89. ResultMsg rm=new ResultMsg();
  90. Member m= WechatUtils.getUserBySession(req);
  91. String openid=m.getUserOpenid();
  92. if (m == null || openid == null) {
  93. rm.setMessage(ResultInfo.loginOutError);
  94. return rm;
  95. }
  96. Integer totalNum = 0;
  97. // 封装请求数据
  98. PageRequest<IntegralOrder> pageRequest = new PageRequest<>(integralOrder, pageNO, pageSize, totalNum == 0);
  99. // 查询订单列表
  100. PagedResult<IntegralOrder> result = integralOrderService.listIntegralProductPage(pageRequest);
  101. Member member = memberService.getMemberByUserOpenId(m.getUserOpenid());
  102. Map<String,Object> map=new HashMap<String, Object>();
  103. map.put("integralOrder",result.getDataList());
  104. map.put("integral",member.getUserSurplusIntegral());
  105. rm.setStatus(true);
  106. rm.setResultCode(ResultInfo.SUCCESSCODE);
  107. rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
  108. rm.setData(map);
  109. return rm;
  110. }
  111. /**
  112. *积分兑换详情
  113. * @param req
  114. * @param integralOrderId
  115. * @return
  116. */
  117. @RequestMapping("/order_desc")
  118. @ResponseBody
  119. public ResultMsg productDesc(HttpServletRequest req,String integralOrderId) throws Exception{
  120. ResultMsg rm=new ResultMsg();
  121. Member m= WechatUtils.getUserBySession(req);
  122. if(integralOrderId == null || "".equals(integralOrderId)){
  123. rm.setStatus(true);
  124. rm.setResultCode(ResultInfo.ERRORCODE);
  125. rm.setMessage("未获取到积分兑换详情!");
  126. return rm;
  127. }
  128. IntegralOrder integralOrder = integralOrderService.getIntegralOrderById(integralOrderId);
  129. IntegralItem integralItem = new IntegralItem();
  130. integralItem.setIntegralItemOrderId(integralOrderId);
  131. List<IntegralItem> integralItemList = integralItemService.getIntegralItemList(integralItem);
  132. integralOrder.setIntegralItemList(integralItemList);
  133. Map<String,Object> map = new HashMap<>();
  134. rm.setStatus(true);
  135. rm.setResultCode(ResultInfo.SUCCESSCODE);
  136. rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
  137. rm.setData(map);
  138. return rm;
  139. }
  140. }