|
@@ -0,0 +1,66 @@
|
|
|
+package com.iamberry.wechat.handles.home;
|
|
|
+
|
|
|
+import com.iamberry.wechat.core.entity.ResultMsg;
|
|
|
+import com.iamberry.wechat.core.entity.WechatUtils;
|
|
|
+import com.iamberry.wechat.core.entity.member.Member;
|
|
|
+import com.iamberry.wechat.face.member.MemberService;
|
|
|
+import com.iamberry.wechat.tools.WeixinUtil;
|
|
|
+import net.sf.json.JSONObject;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Controller;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
+import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.io.UnsupportedEncodingException;
|
|
|
+import java.net.URLEncoder;
|
|
|
+
|
|
|
+@Controller
|
|
|
+@RequestMapping("/wechat")
|
|
|
+public class HomeHandler {
|
|
|
+ private Logger logger = LoggerFactory.getLogger(HomeHandler.class);
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MemberService memberService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 刷新用户信息
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequestMapping(value = "/getUserInfo", method = RequestMethod.POST)
|
|
|
+ public ResultMsg getUserInfo(HttpServletRequest request) throws Exception {
|
|
|
+ Member m = memberService.getMemberByUserOpenId(WechatUtils.getUserBySession(request).getUserOpenid());
|
|
|
+ try{
|
|
|
+ JSONObject jsonObject = WeixinUtil.getUserInfo(m.getUserOpenid());
|
|
|
+ assert jsonObject != null;
|
|
|
+ assert jsonObject.has("nickname");
|
|
|
+ String nickname = jsonObject.getString("nickname");
|
|
|
+ String headimgurl = jsonObject.getString("headimgurl");
|
|
|
+ try {
|
|
|
+ nickname = URLEncoder.encode(jsonObject.getString("nickname"), "UTF-8");
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
+ nickname = "";
|
|
|
+ }
|
|
|
+
|
|
|
+ Member mem = new Member();
|
|
|
+ mem.setUserHead(headimgurl);
|
|
|
+ mem.setUserNickname(nickname);
|
|
|
+ mem.setUserOpenid(m.getUserOpenid());
|
|
|
+ if(m.getUserStatus() == 2){
|
|
|
+ memberService.nowUpdateUserByOpenId(mem);
|
|
|
+ }else{
|
|
|
+ if(nickname != null && !"".equals(nickname)){
|
|
|
+ mem.setUserStatus(2);
|
|
|
+ }
|
|
|
+ memberService.nowUpdateUserByOpenId(mem);
|
|
|
+ }
|
|
|
+// logger.info("获取个人信息成功;openid:"+m.getUserOpenid());
|
|
|
+ }catch (Exception e){
|
|
|
+ logger.error("获取个人信息失败:{}", e);
|
|
|
+ }
|
|
|
+ return ResultMsg.getSuccess();
|
|
|
+ }
|
|
|
+}
|