master
ck 5 years ago
parent 2d62892ab4
commit 6c9e50b952

@ -7,6 +7,7 @@ import com.jingcheng.template.service.UsersService;
import com.jingcheng.template.util.AjaxRequest; import com.jingcheng.template.util.AjaxRequest;
import com.jingcheng.template.util.AjaxResult; import com.jingcheng.template.util.AjaxResult;
import com.jingcheng.template.util.PageAjax; import com.jingcheng.template.util.PageAjax;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -122,4 +123,30 @@ public class UsersController extends BaseController<UsersService, Users>{
return ajaxResult; return ajaxResult;
} }
/**
* code
* @param ajaxRequest
* @param httpServletRequest
* @return
*/
@RequestMapping("regist-wx-user")
public AjaxResult registWxUser(@RequestBody AjaxRequest ajaxRequest,HttpServletRequest httpServletRequest){
AjaxResult ajaxResult = new AjaxResult();
JSONObject data = ajaxRequest.getData();
String code = data.getString("code");
try {
if (StringUtils.isEmpty(code)){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("code不可为空");
return ajaxResult;
}
ajaxResult = usersService.registWxUser(code);
} catch (Exception e) {
e.printStackTrace();
String errMsg = e.getMessage() != null ? e.getMessage() : "操作失败";
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg(errMsg);
}
return ajaxResult;
}
} }

@ -15,11 +15,11 @@ public class Users extends BaseEntity {
*/ */
private String nickName; private String nickName;
private String wechatNo;
private String openId; private String openId;
private String unionId; private String headImgUrl;
private Integer sex;
private String userNo;//工号 private String userNo;//工号

@ -2,6 +2,7 @@ package com.jingcheng.template.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.jingcheng.template.constants.Constants;
import com.jingcheng.template.mapper.*; import com.jingcheng.template.mapper.*;
import com.jingcheng.template.model.*; import com.jingcheng.template.model.*;
import com.jingcheng.template.service.UsersService; import com.jingcheng.template.service.UsersService;
@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.Date;
@Service("usersService") @Service("usersService")
@Transactional @Transactional
@ -28,6 +30,8 @@ public class UsersServiceImpl extends BaseServiceImpl<UsersMapper, Users> implem
private String appId; private String appId;
@Value("${weixin.appSecret}") @Value("${weixin.appSecret}")
private String appSecret; private String appSecret;
@Value("${weixin.getWxUserInfoUrl}")
private String getWxUserInfoUrl;
Logger logger = LogUtils.getBussinessLogger(); Logger logger = LogUtils.getBussinessLogger();
public Users selectByUserNoOrOpenId(String key) { public Users selectByUserNoOrOpenId(String key) {
@ -117,9 +121,48 @@ public class UsersServiceImpl extends BaseServiceImpl<UsersMapper, Users> implem
"&code=" + code + "&grant_type=authorization_code"; "&code=" + code + "&grant_type=authorization_code";
String accessTokenResult = HttpRequestUtils.sendGet(getAccessTokenUrl); String accessTokenResult = HttpRequestUtils.sendGet(getAccessTokenUrl);
String openId = JSON.parseObject(accessTokenResult).getString("openid"); String openId = JSON.parseObject(accessTokenResult).getString("openid");
String accessToken = JSON.parseObject(accessTokenResult).getString("access_token");
return null; String accessToken = JSON.parseObject(accessTokenResult).getString("access_token");
String getUserInfoUrl = getWxUserInfoUrl + accessToken + "&openid=" + openId + "&lang=zh_CN";
String userInfo = HttpRequestUtils.sendGet(getUserInfoUrl);
String nickName = JSON.parseObject(userInfo).getString("nickname");
Integer subscribe = JSON.parseObject(userInfo).getInteger("subscribe");
String headimgurl = JSON.parseObject(userInfo).getString("headimgurl");
Integer sex = JSON.parseObject(userInfo).getInteger("sex");
Users findUsers = new Users();
findUsers.setOpenId(openId);
findUsers.setState(Constants.STATE_VALID);
Users users = usersMapper.selectOne(findUsers);
Long usersId ;
if (null == users){
Users newUsers = new Users();
newUsers.setOpenId(openId);
newUsers.setNickName(nickName);
newUsers.setHeadImgUrl(headimgurl);
newUsers.setSex(sex);
newUsers.setState(Constants.STATE_VALID);
newUsers.setCreateDateTime(new Date());
newUsers.setUpdateDateTime(new Date());
usersMapper.insert(newUsers);
usersId = newUsers.getId();
}else {
users.setNickName(nickName);
users.setUpdateDateTime(new Date());
users.setSex(sex);
users.setHeadImgUrl(headimgurl);
usersMapper.updateByPrimaryKeySelective(users);
usersId = users.getId();
}
JSONObject userJson = new JSONObject();
userJson.put("id",usersId);
userJson.put("openId",openId);
userJson.put("subscribe",subscribe);
userJson.put("nickname",nickName);
userJson.put("headimgurl",headimgurl);
userJson.put("sex",sex);
ajaxResult.setData(userJson);
ajaxResult.setRetcode(AjaxResult.SUCCESS);
return ajaxResult;
} }

@ -59,4 +59,5 @@ pdf:
weixin: weixin:
appId: wxff6b9cc14e112d63 appId: wxff6b9cc14e112d63
appSecret: 6b5c0bf7112d69861d56ba2fd752d7ed appSecret: 6b5c0bf7112d69861d56ba2fd752d7ed
accessTokenUrl: https://api.weixin.qq.com/sns/oauth2/access_token?appid= accessTokenUrl: https://api.weixin.qq.com/sns/oauth2/access_token?appid=
getWxUserInfoUrl: https://api.weixin.qq.com/cgi-bin/user/info?access_token=
Loading…
Cancel
Save