QrCodeHandler.java 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package com.iamberry.wechat.handles.wx;
  2. import com.iamberry.wechat.core.entity.ResultMsg;
  3. import com.iamberry.wechat.core.entity.WechatUtils;
  4. import com.iamberry.wechat.core.entity.apparatus.Apparatus;
  5. import com.iamberry.wechat.core.entity.member.Member;
  6. import com.iamberry.wechat.face.apparatus.ApparatusService;
  7. import com.iamberry.wechat.face.member.MemberService;
  8. import com.iamberry.wechat.tools.ResultInfo;
  9. import com.iamberry.wechat.tools.payUtil.StringUtil;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Controller;
  12. import org.springframework.web.bind.annotation.PathVariable;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import org.springframework.web.bind.annotation.ResponseBody;
  15. import org.springframework.web.servlet.ModelAndView;
  16. import javax.servlet.ServletException;
  17. import javax.servlet.http.HttpServletRequest;
  18. import javax.servlet.http.HttpServletResponse;
  19. import java.io.IOException;
  20. import java.util.Map;
  21. /**
  22. * Created by Administrator on 2017/12/29.
  23. */
  24. @Controller("scannQr")
  25. @RequestMapping("/wechat")
  26. public class QrCodeHandler {
  27. @Autowired
  28. ApparatusService apparatusService;
  29. @Autowired
  30. MemberService memberService;
  31. @RequestMapping("/qr/{qrCode}")
  32. public void getQrCode(@PathVariable("qrCode") String qrCode, HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {
  33. res.sendRedirect("http://w.iamberry.com/tooth/view/default.html?qrCode="+qrCode);
  34. }
  35. @RequestMapping("/getMember")
  36. public ResultMsg getMember(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {
  37. ResultMsg msg = new ResultMsg();
  38. String qrCode = req.getParameter("qrCode");
  39. if (!StringUtil.isNotEmpty(qrCode)) {
  40. msg.setResultCode(ResultInfo.ERRORCODE);
  41. msg.setStatus(false);
  42. msg.setMessage("未扫描到二维码,请重新扫描!");
  43. return msg;
  44. }
  45. boolean isActivation = false;//是否激活
  46. Member memberInfo = WechatUtils.getUserBySession(req);
  47. Apparatus apparatus = new Apparatus();
  48. apparatus.setApparatusBarcode(qrCode);
  49. apparatus.setUserOpenid(memberInfo.getUserOpenid());
  50. apparatus = apparatusService.getApparatus(apparatus);
  51. if(apparatus != null){//不为空表示已激活
  52. isActivation = true;
  53. }
  54. //查询用户信息
  55. memberInfo = memberService.getMemberByUserOpenId(memberInfo.getUserOpenid());
  56. Map<String,Object> map = null;
  57. map.put("memberInfo",memberInfo);
  58. map.put("isActivation",isActivation);
  59. msg.setData(map);
  60. msg.setResultCode(ResultInfo.SUCCESSCODE);
  61. msg.setStatus(true);
  62. return msg;
  63. }
  64. }