package com.yeshi.fanli.controller.wxmp.v1;
|
|
import java.io.PrintWriter;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpSession;
|
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.yeshi.utils.JsonUtil;
|
import org.yeshi.utils.entity.wx.WXMPSessionInfo;
|
import org.yeshi.utils.wx.WXXCXUtil;
|
|
import com.yeshi.fanli.dto.WXMPAcceptData;
|
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
|
import com.yeshi.fanli.util.Constant;
|
import com.yeshi.fanli.util.StringUtil;
|
|
import net.sf.json.JSONObject;
|
|
@Controller
|
@RequestMapping("/wxmp/api/v1/user")
|
public class UserController {
|
|
public final static String WXMP_SESSION_INFO_KEY = "WXMP-SESSION-INFO";
|
|
@Resource
|
private UserInfoExtraService userInfoExtraService;
|
|
/**
|
* 获取openId
|
*
|
* @param acceptData
|
* @param code
|
* @param out
|
*/
|
@RequestMapping("getOpenId")
|
public void getOpenId(WXMPAcceptData acceptData, String code, HttpSession session, PrintWriter out) {
|
if (StringUtil.isNullOrEmpty(code)) {
|
out.print(JsonUtil.loadFalseResult("code为空"));
|
return;
|
}
|
|
WXMPSessionInfo info = WXXCXUtil.getSessionInfo(Constant.WXMP_APP_INFO, code);
|
if (info != null) {
|
session.setAttribute(WXMP_SESSION_INFO_KEY, info);
|
JSONObject data = new JSONObject();
|
data.put("openId", info.getOpenId());
|
out.print(JsonUtil.loadTrueResult(data));
|
} else {
|
out.print(JsonUtil.loadFalseResult("openId获取失败"));
|
}
|
}
|
|
}
|