trick9191 před 7 roky
rodič
revize
bfcab06088

+ 9 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/WeixinBaseController.java

@ -13,6 +13,7 @@ import java.util.Map;
import java.util.Random;
import com.yihu.wlyy.util.*;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
@ -53,17 +54,22 @@ public class WeixinBaseController extends BaseController {
	 * @param code
	 * @return
	 */
	public String getOpenidByCode(String code) {
	public Map<String,Object> getOpenidByCode(String code) {
		try {
			String token_url = "https://api.weixin.qq.com/sns/oauth2/access_token";
			String params = "appid=" + appId + "&secret=" +appSecret+ "&code=" + code + "&grant_type=authorization_code";
			String result = HttpUtil.sendGet(token_url, params);
			System.out.println("getOpenidByCode:"+result);
			JSONObject json = new JSONObject(result);
			Map<String,Object> map = new HashedMap();
			if (json.has("openid")) {
				return json.get("openid").toString();
				map.put("openid",json.get("openid").toString());
				if(json.has("unionid")){
					map.put("unionid",json.get("unionid").toString());
				}
				return map;
			} else {
				return null;
				return map;
			}
		} catch (Exception e) {
			error(e);

+ 3 - 32
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/account/WechatController.java

@ -661,48 +661,19 @@ public class WechatController extends WeixinBaseController {
    /**
     * 获取微信openid
     * 获取微信openid 和 unionid
     *
     * @param code
     * @return
     */
    @RequestMapping(value = "getOpenidByCode", method = {RequestMethod.POST, RequestMethod.GET})
    @ResponseBody
    public String getOpenidByCode(String code) {
    public String getOpenidAndUnionidByCode(String code) {
        try {
            String openid = super.getOpenidByCode(code);
            if (!StringUtils.isEmpty(openid)) {
                return write(200, "获取openid成功!", "openid", openid);
            } else {
                return error(-1, "获取openid失败!");
            }
            return write(200, "获取openid成功!", "openid", super.getOpenidByCode(code));
        } catch (Exception e) {
            error(e);
            return error(-1, "获取openid失败!");
        }
    }
    /**
     * 获取微信unionid
     *
     * @param code
     * @return
     */
    @RequestMapping(value = "getUnionidByCode", method = {RequestMethod.POST, RequestMethod.GET})
    @ResponseBody
    public String getUnionidByCode(String code) {
        try {
            String unionid = super.getOpenidByCode(code);
            if (!StringUtils.isEmpty(unionid)) {
                return write(200, "获取unionid成功!", "unionid", unionid);
            } else {
                return error(-1, "获取unionid失败!");
            }
        } catch (Exception e) {
            error(e);
            return error(-1, "获取unionid失败!");
        }
    }
}

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/family/FamilyMemberController.java

@ -466,7 +466,7 @@ public class FamilyMemberController extends WeixinBaseController {
    @RequestMapping(value = "/getOpenIdByCode", method = RequestMethod.POST)
    @ApiOperation(value = "获取openId")
    public String getOpenId(@RequestParam("code")String code){
        String openId = getOpenidByCode(code);
        String openId = getOpenidByCode(code).get("openid").toString();
        return write(200, openId);
    }

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/wx/SelfManagementController.java

@ -61,7 +61,7 @@ public class SelfManagementController extends WeixinBaseController {
     */
    @RequestMapping(value = "jtqy", method = RequestMethod.GET)
    public void jtqy(HttpServletResponse response, String code) throws IOException {
        String openid = getOpenidByCode(code);
        String openid = getOpenidByCode(code).get("openid").toString();
        if (!StringUtils.isEmpty(openid)) {
            String doctor = null;
            Patient patient = patientService.findByOpenid(openid);