UseIntegralHandler.java 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. package com.iamberry.wechat.handles.integral;
  2. import com.github.pagehelper.PageHelper;
  3. import com.iamberry.wechat.core.entity.PageBean;
  4. import com.iamberry.wechat.core.entity.ResultMsg;
  5. import com.iamberry.wechat.core.entity.WechatUtils;
  6. import com.iamberry.wechat.core.entity.integral.RankRule;
  7. import com.iamberry.wechat.core.entity.integral.StayIntegral;
  8. import com.iamberry.wechat.core.entity.integral.UseIntegral;
  9. import com.iamberry.wechat.core.entity.member.Member;
  10. import com.iamberry.wechat.face.integral.UseIntegralService;
  11. import com.iamberry.wechat.face.member.MemberService;
  12. import com.iamberry.wechat.face.order.AdminOrderService;
  13. import com.iamberry.wechat.tools.NameUtils;
  14. import com.iamberry.wechat.tools.ResultInfo;
  15. import org.apache.poi.ss.formula.functions.Rank;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Controller;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RequestParam;
  20. import org.springframework.web.bind.annotation.ResponseBody;
  21. import javax.servlet.http.HttpServletRequest;
  22. import java.lang.reflect.Array;
  23. import java.util.ArrayList;
  24. import java.util.HashMap;
  25. import java.util.List;
  26. import java.util.Map;
  27. /**
  28. * 会员积分使用 Controller
  29. */
  30. @Controller
  31. @RequestMapping("/wechat/userIntegral")
  32. public class UseIntegralHandler {
  33. @Autowired
  34. private UseIntegralService useIntegralService;
  35. @Autowired
  36. private MemberService memberService;
  37. @Autowired
  38. private AdminOrderService adminOrderService;
  39. /**
  40. * 收入记录 use_type=1
  41. * @param req
  42. * @param useType
  43. * @param pageSize
  44. * @param pageNO
  45. * @return
  46. */
  47. @RequestMapping("/listGainIntegralInfo")
  48. @ResponseBody
  49. public ResultMsg listGainIntegralInfo(HttpServletRequest req,
  50. @RequestParam(value="useType",defaultValue= "1", required=false)Integer useType,
  51. @RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize,
  52. @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO){
  53. ResultMsg rm=new ResultMsg();
  54. Member m= WechatUtils.getUserBySession(req);
  55. String openid=m.getUserOpenid();
  56. if (m == null || openid == null) {
  57. rm.setMessage(ResultInfo.loginOutError);
  58. return rm;
  59. }
  60. Integer gainIntegralCount=useIntegralService.getGainIntegralCount(openid);
  61. if(gainIntegralCount != null && gainIntegralCount<0){
  62. rm.setStatus(false);
  63. rm.setResultCode(ResultInfo.ERRORCODE);
  64. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  65. return rm;
  66. }
  67. UseIntegral useIntegral=new UseIntegral();
  68. useIntegral.setUserOpenId(openid);
  69. useIntegral.setIntegralType(useType);
  70. useIntegral.getPage().setPageSize(pageSize);
  71. useIntegral.getPage().setPageNumber(pageNO);
  72. useIntegral.getPage().initRecordBegin();
  73. List<UseIntegral> listGainIntegralInfo=useIntegralService.listIntegralInfo(useIntegral);
  74. System.out.println(listGainIntegralInfo);
  75. Map<String,Object> map=new HashMap<String, Object>();
  76. map.put("listGainIntegralInfo",listGainIntegralInfo);
  77. map.put("gainIntegralCount",gainIntegralCount);
  78. rm.setStatus(true);
  79. rm.setResultCode(ResultInfo.SUCCESSCODE);
  80. rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
  81. rm.setData(map);
  82. return rm;
  83. }
  84. /**
  85. * 待入账记录 use_type=3
  86. * @param req
  87. * @param pageSize
  88. * @param pageNO
  89. * @return
  90. */
  91. @RequestMapping("/listStayIntegral")
  92. @ResponseBody
  93. public ResultMsg listStayIntegral(HttpServletRequest req,
  94. @RequestParam(value="useType",defaultValue= "3", required=false)Integer useType,
  95. @RequestParam(value= "pageSize",defaultValue= "6" ,required=false)Integer pageSize,
  96. @RequestParam(value = "pageNO", defaultValue = "1",required=false)Integer pageNO){
  97. ResultMsg rm=new ResultMsg();
  98. Member m= WechatUtils.getUserBySession(req);
  99. String openid=m.getUserOpenid();
  100. if (m == null || openid == null) {
  101. rm.setMessage(ResultInfo.loginOutError);
  102. return rm;
  103. }
  104. Integer stayIntegralCount=useIntegralService.getStayIntegralCount(openid);
  105. if(stayIntegralCount != null && stayIntegralCount<0){
  106. rm.setStatus(false);
  107. rm.setResultCode(ResultInfo.ERRORCODE);
  108. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  109. return rm;
  110. }
  111. UseIntegral useIntegral=new UseIntegral();
  112. useIntegral.setUserOpenId(openid);
  113. useIntegral.setIntegralType(useType);
  114. useIntegral.getPage().setPageSize(pageSize);
  115. useIntegral.getPage().setPageNumber(pageNO);
  116. useIntegral.getPage().initRecordBegin();
  117. List<UseIntegral> listStayIntegral=useIntegralService.listIntegralInfo(useIntegral);
  118. Map<String,Object> map=new HashMap<String, Object>();
  119. map.put("listStayIntegralInfo",listStayIntegral);
  120. map.put("stayIntegralCount",stayIntegralCount);
  121. rm.setStatus(true);
  122. rm.setResultCode(ResultInfo.SUCCESSCODE);
  123. rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
  124. rm.setData(map);
  125. return rm;
  126. }
  127. /**
  128. * 全部记录 use_type=null
  129. * @param req
  130. * @param useType
  131. * @param pageSize
  132. * @param pageNO
  133. * @return
  134. */
  135. @RequestMapping("/listAllIntegralInfo")
  136. @ResponseBody
  137. public ResultMsg listAllIntegralInfo(HttpServletRequest req,
  138. @RequestParam(value="useType",defaultValue= "", required=false)Integer useType,
  139. @RequestParam(value= "pageSize",defaultValue= "6" ,required=false)Integer pageSize,
  140. @RequestParam(value = "pageNO", defaultValue = "1",required=false)Integer pageNO){
  141. ResultMsg rm=new ResultMsg();
  142. Member m=WechatUtils.getUserBySession(req);
  143. String openid=m.getUserOpenid();
  144. if (m == null || openid == null) {
  145. rm.setMessage(ResultInfo.loginOutError);
  146. return rm;
  147. }
  148. Integer useIntegralCount=useIntegralService.getUseIntegralCount(openid);
  149. Integer gainIntegralCount=useIntegralService.getGainIntegralCount(openid);
  150. Integer stayIntegralCount=useIntegralService.getStayIntegralCount(openid);
  151. if(useIntegralCount != null && useIntegralCount<0){
  152. rm.setStatus(false);
  153. rm.setResultCode(ResultInfo.ERRORCODE);
  154. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  155. return rm;
  156. }
  157. if(gainIntegralCount != null && gainIntegralCount<0){
  158. rm.setStatus(false);
  159. rm.setResultCode(ResultInfo.ERRORCODE);
  160. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  161. return rm;
  162. }
  163. if(stayIntegralCount != null && stayIntegralCount<0){
  164. rm.setStatus(false);
  165. rm.setResultCode(ResultInfo.ERRORCODE);
  166. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  167. return rm;
  168. }
  169. UseIntegral useIntegral=new UseIntegral();
  170. useIntegral.setUserOpenId(openid);
  171. useIntegral.setIntegralType(useType);
  172. useIntegral.getPage().setPageSize(pageSize);
  173. useIntegral.getPage().setPageNumber(pageNO);
  174. useIntegral.getPage().initRecordBegin();
  175. useIntegral.setIntegralType(null);
  176. List<UseIntegral> listAllIntegralInfo=useIntegralService.listIntegralInfo(useIntegral);
  177. Map<String,Object> map=new HashMap<String, Object>();
  178. map.put("listAllIntegralInfo",listAllIntegralInfo);
  179. map.put("useIntegralCount",useIntegralCount);
  180. map.put("gainIntegralCount",gainIntegralCount);
  181. map.put("stayIntegralCount",stayIntegralCount);
  182. rm.setStatus(true);
  183. rm.setResultCode(ResultInfo.SUCCESSCODE);
  184. rm.setMessage(NameUtils.getConfig("SUCCSSINFO"));
  185. rm.setData(map);
  186. return rm;
  187. }
  188. /**
  189. * 会员中心
  190. * @param req
  191. * @return
  192. */
  193. @RequestMapping("/getRankRule")
  194. @ResponseBody
  195. public ResultMsg getRankRule(HttpServletRequest req){
  196. ResultMsg rm=new ResultMsg();
  197. Map<String,Object> map=new HashMap<String, Object>();
  198. Member member=WechatUtils.getUserBySession(req);
  199. String openid=member.getUserOpenid();
  200. if (member == null || openid == null) {
  201. rm.setMessage(ResultInfo.loginOutError);
  202. return rm;
  203. }
  204. /*************会员等级***************/
  205. Member memberInfo=memberService.getMyMemberInfo(openid);
  206. int userIntegralCount=memberInfo.getUserIntegral();
  207. List<RankRule> list=useIntegralService.getRankRule();
  208. List<RankRule> lists=new ArrayList<RankRule>();
  209. for(RankRule r:list){
  210. if(r.getRankRuleIntegral()>=userIntegralCount){
  211. lists.add(r);
  212. }
  213. }
  214. /**************未发货数量*****************/
  215. Integer notSendCount=adminOrderService.getNotSendCount(openid);
  216. map.put("lists",lists);
  217. map.put("notSendCount",notSendCount);
  218. map.put("rankRule",lists.get(0));
  219. map.put("member",memberInfo);
  220. rm.setStatus(true);
  221. rm.setResultCode(ResultInfo.SUCCESSCODE);
  222. rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
  223. rm.setData(map);
  224. return rm;
  225. }
  226. }