UseIntegralHandler.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  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 javax.servlet.http.HttpSession;
  23. import java.lang.reflect.Array;
  24. import java.util.ArrayList;
  25. import java.util.HashMap;
  26. import java.util.List;
  27. import java.util.Map;
  28. /**
  29. * 会员积分使用 Controller
  30. */
  31. @Controller
  32. @RequestMapping("/wechat/userIntegral")
  33. public class UseIntegralHandler {
  34. @Autowired
  35. private UseIntegralService useIntegralService;
  36. @Autowired
  37. private MemberService memberService;
  38. @Autowired
  39. private AdminOrderService adminOrderService;
  40. /**
  41. * 收入记录 use_type=1
  42. * @param req
  43. * @param useType
  44. * @param pageSize
  45. * @param pageNO
  46. * @return
  47. */
  48. @RequestMapping("/listGainIntegralInfo")
  49. @ResponseBody
  50. public ResultMsg listGainIntegralInfo(HttpServletRequest req,
  51. @RequestParam(value="useType",defaultValue= "1", required=false)Integer useType,
  52. @RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize,
  53. @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO){
  54. ResultMsg rm=new ResultMsg();
  55. Member m= WechatUtils.getUserBySession(req);
  56. String openid=m.getUserOpenid();
  57. if (m == null || openid == null) {
  58. rm.setMessage(ResultInfo.loginOutError);
  59. return rm;
  60. }
  61. Integer gainIntegralCount=useIntegralService.getGainIntegralCount(openid);
  62. if(gainIntegralCount != null && gainIntegralCount<0){
  63. rm.setStatus(false);
  64. rm.setResultCode(ResultInfo.ERRORCODE);
  65. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  66. return rm;
  67. }
  68. UseIntegral useIntegral=new UseIntegral();
  69. useIntegral.setUserOpenId(openid);
  70. useIntegral.setIntegralType(useType);
  71. useIntegral.getPage().setPageSize(pageSize);
  72. useIntegral.getPage().setPageNumber(pageNO);
  73. useIntegral.getPage().initRecordBegin();
  74. List<UseIntegral> listGainIntegralInfo=useIntegralService.listIntegralInfo(useIntegral);
  75. System.out.println(listGainIntegralInfo);
  76. Map<String,Object> map=new HashMap<String, Object>();
  77. map.put("listGainIntegralInfo",listGainIntegralInfo);
  78. map.put("gainIntegralCount",gainIntegralCount);
  79. rm.setStatus(true);
  80. rm.setResultCode(ResultInfo.SUCCESSCODE);
  81. rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
  82. rm.setData(map);
  83. return rm;
  84. }
  85. /**
  86. * 待入账记录 use_type=3
  87. * @param req
  88. * @param pageSize
  89. * @param pageNO
  90. * @return
  91. */
  92. @RequestMapping("/listStayIntegral")
  93. @ResponseBody
  94. public ResultMsg listStayIntegral(HttpServletRequest req,
  95. @RequestParam(value="useType",defaultValue= "3", required=false)Integer useType,
  96. @RequestParam(value= "pageSize",defaultValue= "6" ,required=false)Integer pageSize,
  97. @RequestParam(value = "pageNO", defaultValue = "1",required=false)Integer pageNO){
  98. ResultMsg rm=new ResultMsg();
  99. Member m= WechatUtils.getUserBySession(req);
  100. String openid=m.getUserOpenid();
  101. if (m == null || openid == null) {
  102. rm.setMessage(ResultInfo.loginOutError);
  103. return rm;
  104. }
  105. Integer stayIntegralCount=useIntegralService.getStayIntegralCount(openid);
  106. if(stayIntegralCount != null && stayIntegralCount<0){
  107. rm.setStatus(false);
  108. rm.setResultCode(ResultInfo.ERRORCODE);
  109. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  110. return rm;
  111. }
  112. UseIntegral useIntegral=new UseIntegral();
  113. useIntegral.setUserOpenId(openid);
  114. useIntegral.setIntegralType(useType);
  115. useIntegral.getPage().setPageSize(pageSize);
  116. useIntegral.getPage().setPageNumber(pageNO);
  117. useIntegral.getPage().initRecordBegin();
  118. List<UseIntegral> listStayIntegral=useIntegralService.listIntegralInfo(useIntegral);
  119. Map<String,Object> map=new HashMap<String, Object>();
  120. map.put("listStayIntegralInfo",listStayIntegral);
  121. map.put("stayIntegralCount",stayIntegralCount);
  122. rm.setStatus(true);
  123. rm.setResultCode(ResultInfo.SUCCESSCODE);
  124. rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
  125. rm.setData(map);
  126. return rm;
  127. }
  128. /**
  129. * 全部记录 use_type=null
  130. * @param req
  131. * @param useType
  132. * @param pageSize
  133. * @param pageNO
  134. * @return
  135. */
  136. @RequestMapping("/listAllIntegralInfo")
  137. @ResponseBody
  138. public ResultMsg listAllIntegralInfo(HttpServletRequest req,
  139. @RequestParam(value="useType",defaultValue= "", required=false)Integer useType,
  140. @RequestParam(value= "pageSize",defaultValue= "6" ,required=false)Integer pageSize,
  141. @RequestParam(value = "pageNO", defaultValue = "1",required=false)Integer pageNO){
  142. ResultMsg rm=new ResultMsg();
  143. Member m=WechatUtils.getUserBySession(req);
  144. String openid=m.getUserOpenid();
  145. if (m == null || openid == null) {
  146. rm.setMessage(ResultInfo.loginOutError);
  147. return rm;
  148. }
  149. Map<String,Object> map=new HashMap<String, Object>();
  150. UseIntegral useIntegral=new UseIntegral();
  151. useIntegral.setUserOpenId(openid);
  152. /**********判断useType=1 为收入记录**************/
  153. if(useType != null && useType==1){
  154. Integer gainIntegralCount=useIntegralService.getGainIntegralCount(openid);
  155. if(gainIntegralCount != null && gainIntegralCount<0){
  156. rm.setStatus(false);
  157. rm.setResultCode(ResultInfo.ERRORCODE);
  158. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  159. return rm;
  160. }
  161. useIntegral.getPage().setPageSize(pageSize);
  162. useIntegral.getPage().setPageNumber(pageNO);
  163. useIntegral.getPage().initRecordBegin();
  164. useIntegral.setIntegralType(useType);
  165. List<UseIntegral> listIntegralInfo=useIntegralService.listIntegralInfo(useIntegral);
  166. map.put("listIntegralInfo",listIntegralInfo);
  167. map.put("gainIntegralCount",gainIntegralCount);
  168. rm.setStatus(true);
  169. rm.setResultCode(ResultInfo.SUCCESSCODE);
  170. rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
  171. rm.setData(map);
  172. return rm;
  173. }
  174. /**********判断useType=3 为待入账记录**************/
  175. if(useType != null && useType==3){
  176. Integer stayIntegralCount=useIntegralService.getStayIntegralCount(openid);
  177. if(stayIntegralCount != null && stayIntegralCount<0){
  178. rm.setStatus(false);
  179. rm.setResultCode(ResultInfo.ERRORCODE);
  180. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  181. return rm;
  182. }
  183. useIntegral.getPage().setPageSize(pageSize);
  184. useIntegral.getPage().setPageNumber(pageNO);
  185. useIntegral.getPage().initRecordBegin();
  186. useIntegral.setIntegralType(useType);
  187. List<UseIntegral> listIntegralInfo=useIntegralService.listIntegralInfo(useIntegral);
  188. map.put("listIntegralInfo",listIntegralInfo);
  189. map.put("stayIntegralCount",stayIntegralCount);
  190. rm.setStatus(true);
  191. rm.setResultCode(ResultInfo.SUCCESSCODE);
  192. rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
  193. rm.setData(map);
  194. return rm;
  195. }
  196. /**********否则 为全部记录**************/
  197. Integer stayIntegralCount=useIntegralService.getStayIntegralCount(openid);
  198. Integer useIntegralCount=useIntegralService.getUseIntegralCount(openid);
  199. Integer gainIntegralCount=useIntegralService.getGainIntegralCount(openid);
  200. if(gainIntegralCount != null && gainIntegralCount<0){
  201. rm.setStatus(false);
  202. rm.setResultCode(ResultInfo.ERRORCODE);
  203. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  204. return rm;
  205. }
  206. if(stayIntegralCount != null && stayIntegralCount<0){
  207. rm.setStatus(false);
  208. rm.setResultCode(ResultInfo.ERRORCODE);
  209. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  210. return rm;
  211. }
  212. if(useIntegralCount != null && useIntegralCount<0){
  213. rm.setStatus(false);
  214. rm.setResultCode(ResultInfo.ERRORCODE);
  215. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  216. return rm;
  217. }
  218. useIntegral.getPage().setPageSize(pageSize);
  219. useIntegral.getPage().setPageNumber(pageNO);
  220. useIntegral.getPage().initRecordBegin();
  221. useIntegral.setIntegralType(null);
  222. List<UseIntegral> listIntegralInfo=useIntegralService.listIntegralInfo(useIntegral);
  223. map.put("listIntegralInfo",listIntegralInfo);
  224. map.put("useIntegralCount",useIntegralCount);
  225. map.put("gainIntegralCount",gainIntegralCount);
  226. map.put("stayIntegralCount",stayIntegralCount);
  227. rm.setStatus(true);
  228. rm.setResultCode(ResultInfo.SUCCESSCODE);
  229. rm.setMessage(NameUtils.getConfig("SUCCSSINFO"));
  230. rm.setData(map);
  231. return rm;
  232. }
  233. /**
  234. * 会员中心
  235. * @param req
  236. * @return
  237. */
  238. @RequestMapping("/getRankRule")
  239. @ResponseBody
  240. public ResultMsg getRankRule(HttpServletRequest req){
  241. ResultMsg rm=new ResultMsg();
  242. Map<String,Object> map=new HashMap<String, Object>();
  243. Member member=WechatUtils.getUserBySession(req);
  244. String openid=member.getUserOpenid();
  245. if (member == null || openid == null) {
  246. rm.setMessage(ResultInfo.loginOutError);
  247. return rm;
  248. }
  249. /*************会员等级***************/
  250. Member memberInfo=memberService.getMyMemberInfo(openid);
  251. // HttpSession session=req.getSession();
  252. // session.setAttribute("memberInfo",memberInfo);
  253. Integer userIntegralCount=memberInfo.getUserIntegral();
  254. if(userIntegralCount != null && userIntegralCount<0){
  255. rm.setStatus(false);
  256. rm.setResultCode(ResultInfo.ERRORCODE);
  257. rm.setMessage(NameUtils.getConfig("ERRORINFO"));
  258. return rm;
  259. }
  260. List<RankRule> list=useIntegralService.getRankRule();
  261. List<RankRule> lists=new ArrayList<RankRule>();
  262. for(RankRule r:list){
  263. if(r.getRankRuleIntegral()>userIntegralCount){
  264. lists.add(r);
  265. }
  266. }
  267. /**************未发货数量*****************/
  268. Integer notSendCount=adminOrderService.getNotSendCount(openid);
  269. map.put("listRankRule",lists);
  270. map.put("notSendCount",notSendCount);
  271. map.put("memberInfo",memberInfo);
  272. rm.setStatus(true);
  273. rm.setResultCode(ResultInfo.SUCCESSCODE);
  274. rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
  275. rm.setData(map);
  276. return rm;
  277. }
  278. }