QrCodeHandler.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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.HashMap;
  21. import java.util.Map;
  22. /**
  23. * Created by Administrator on 2017/12/29.
  24. */
  25. @Controller("scannQr")
  26. @RequestMapping("/wechat")
  27. public class QrCodeHandler {
  28. @Autowired
  29. ApparatusService apparatusService;
  30. @Autowired
  31. MemberService memberService;
  32. @RequestMapping("/qr/{qrCode}")
  33. public void getQrCode(@PathVariable("qrCode") String qrCode, HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {
  34. res.sendRedirect("http://w.iamberry.com/tooth/view/default.html?qrCode="+qrCode);
  35. }
  36. @ResponseBody
  37. @RequestMapping("/getActivationAndMember")
  38. public ResultMsg getMember(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {
  39. ResultMsg msg = new ResultMsg();
  40. String qrCode = req.getParameter("qrCode");
  41. if (!StringUtil.isNotEmpty(qrCode)) {
  42. msg.setResultCode(ResultInfo.ERRORCODE);
  43. msg.setStatus(false);
  44. msg.setMessage("未扫描到二维码,请重新扫描!");
  45. return msg;
  46. }
  47. boolean isActivation = false;//是否激活
  48. Member memberInfo = WechatUtils.getUserBySession(req);
  49. Apparatus apparatus = new Apparatus();
  50. apparatus.setApparatusBarcode(qrCode);
  51. apparatus.setUserOpenid(memberInfo.getUserOpenid());
  52. apparatus = apparatusService.getApparatus(apparatus);
  53. if(apparatus != null){//不为空表示已激活
  54. isActivation = true;
  55. }
  56. //查询用户信息
  57. memberInfo = memberService.getMemberByUserOpenId(memberInfo.getUserOpenid());
  58. Map<String,Object> map = new HashMap<String, Object>();
  59. map.put("memberInfo",memberInfo);
  60. map.put("isActivation",isActivation);
  61. msg.setData(map);
  62. msg.setResultCode(ResultInfo.SUCCESSCODE);
  63. msg.setStatus(true);
  64. return msg;
  65. }
  66. }